diff --git a/CHANGE LOG 1.0.7.txt b/CHANGE LOG 1.0.7.txt index cbe5a5ea0..bf393e7b2 100644 --- a/CHANGE LOG 1.0.7.txt +++ b/CHANGE LOG 1.0.7.txt @@ -3,6 +3,7 @@ [NEW] Zombie Loot supports backpacks now. (096fc13) @AirwavesMan [NEW] Hide Body can be edited and toggled now. Enabled by default, configVariables.sqf/DZE_Hide_Body (c0e9fe6) @AirwavesMan [NEW] 6 AK-107 versions added with attachment support. (82485ea) @AirwavesMan +[NEW] Added new waterbottles from DayZ Mod. Icons made by @DeVloek. Fully functional with all actions. @AirwavesMan [FIXED] Some more occurrences of zero_building interiors misaligned or at the wrong terrain height (eaaedf2, 048caa5) @ebayShopper [FIXED] Player could switch into gunner's seat of ArmoredSUV while the hatch was being closed (e89eebc) #2009 @TheFirstNoob @@ -23,12 +24,13 @@ [FIXED] Multiple Vehicle Upgrades were not possibile. (ac884f2), (a430f79), (c24504a) @F507DMT [FIXED] Fix an inventory dupe if on water. (a052ba7), (baf92eb) @F507DMT [FIXED] The pickaxe and the broken pickaxe spawned in the ground on loot spawn. (a09bb81a) @AirwavesMan -[FIXED] Fix floating loot from remove, pack and fn_dropItem. @AirwavesMan +[FIXED] Fix floating loot from remove, pack and fn_dropItem. (1268f55) @AirwavesMan +[FIXED] Water dogs did not work with other waterbottles than the normal one. @AirwavesMan [UPDATED] Spawning of Zombies and Loot in Safe Zones can now be toggled, disabled by default, see configVariables.sqf/DZE_SafeZoneZombieLoot (6248add, 141b25e) @oiad @_Lance_ [UPDATED] Added notification when status icons are disabled. (e04f0fc) @ebayShopper [UPDATED] Added night vision mode back to DMR_DZ and M4SPR_DZE after it was removed with the 2018-04-05 A2OA CorePatch (d6cf707) @ebayShopper [UPDATED] All M32 grenades using one inventroy slot now. (cc85067) @AirwavesMan -[UPDATED] The Czech Vest Pouch can carry one weapon now. This was changed to be more intuitive and to avoid disappearing weapons. @AirwavesMan +[UPDATED] The Czech Vest Pouch can carry one weapon now. This was changed to be more intuitive and to avoid disappearing weapons. (f7ea9cb) @AirwavesMan [INFO] Synced with DayZMod upstream up to commit fe063a8 diff --git a/README.md b/README.md index 61776a9db..a210c92cb 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,7 @@ GitHub Contributors (In order of most commits) * F507DMT - https://github.com/F507DMT * ndavalos - https://github.com/ndavalos * SmokeyBR - https://github.com/SmokeyBR +* DeVloek - https://github.com/DeVloek -------------------------- Special thanks diff --git a/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp b/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp index fec140941..ee1b1aaa5 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp @@ -69,6 +69,7 @@ class CfgMagazines #include "DZE\Currency\TinBar.hpp" #include "DZE\ItemWaterbottle.hpp" + #include "DZE\PlasticWaterbottle.hpp" #include "Planting.hpp" // Building Stuff diff --git a/SQF/dayz_code/Configs/CfgMagazines/Consumables/Canteen.hpp b/SQF/dayz_code/Configs/CfgMagazines/Consumables/Canteen.hpp deleted file mode 100644 index 31fcf1bb1..000000000 --- a/SQF/dayz_code/Configs/CfgMagazines/Consumables/Canteen.hpp +++ /dev/null @@ -1,54 +0,0 @@ -class ItemCanteen : FoodDrink -{ - scope = public; - - model = "\dayz_equip\models\waterbottle_gear.p3d"; - picture = "\dayz_equip\textures\equip_waterbottle_ca.paa"; - displayName = $STR_ITEM_CANTEEN_NAME; - descriptionShort = $STR_ITEM_CANTEEN_DESC; - - Nutrition[] = {0,0,1000,0}; - - infectionChance = 0.3; - - consumeOutput = "ItemCanteenEmpty"; - - containerEmpty = "ItemCanteenEmpty"; - - class ItemActions : ItemActions - { - class Consume : Consume - { - }; - - class Empty - { - text = $STR_ITEM_CANTEEN_EMPTY; - script = "spawn player_emptyContainer"; - }; - }; -}; - -class ItemCanteenInfected : ItemCanteen -{ - infectionChance = 1; -}; - -class ItemCanteenSafe : ItemCanteen -{ - infectionChance = 0; -}; - -class ItemCanteenBoiled : ItemCanteen -{ - displayName = $STR_ITEM_CANTEEN_BOILED_NAME; - - infectionChance = 0; - }; - -class ItemCanteenHerbal : ItemCanteen -{ - displayName = $STR_ITEM_CANTEEN_HERBAL_NAME; - - infectionChance = -0.5; -}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgMagazines/Consumables/Consumables.hpp b/SQF/dayz_code/Configs/CfgMagazines/Consumables/Consumables.hpp index 2ae55973a..3852eba36 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Consumables/Consumables.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Consumables/Consumables.hpp @@ -111,4 +111,3 @@ class FoodCooked : FoodEdible #include "Soda.hpp" #include "WaterBottle.hpp" -//#include "Canteen.hpp" \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgMagazines/DZE/PlasticWaterbottle.hpp b/SQF/dayz_code/Configs/CfgMagazines/DZE/PlasticWaterbottle.hpp new file mode 100644 index 000000000..429b3133d --- /dev/null +++ b/SQF/dayz_code/Configs/CfgMagazines/DZE/PlasticWaterbottle.hpp @@ -0,0 +1,649 @@ +class ItemPlasticWaterbottleUnfilled : CA_Magazine +{ + scope = public; + count = 1; + type = WeaponSlotItem; + + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottleEmpty.paa"; + displayName = $STR_EQUIP_NAME_13; + descriptionShort = $STR_EQUIP_DESC_13; + + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + + class ItemActions + { + class Fill + { + text = $STR_ACTIONS_FILL_W; + script = "spawn player_fillWater;"; + }; + }; +}; + +class ItemPlasticWaterbottleDmg : CA_Magazine +{ + scope = public; + count = 1; + type = WeaponSlotItem; + + model = "z\addons\dayz_communityassets\models\waterbottle_damaged.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottleEmpty.paa"; + displayName = $STR_ITEMWATERBOTTLEDMG_CODE_NAME; + descriptionShort = $STR_ITEMWATERBOTTLEDMG_CODE_DESC; + + class ItemActions + { + class Repair + { + text = $STR_ACTIONS_FIX_W; + script = "spawn player_fixBottle;"; + }; + }; +}; + +class ItemPlasticWaterBottle : ItemWaterBottle { + scope = public; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle10oz.paa"; + + Nutrition[] = {0,0,1000,0}; + infectionChance = 0.3; + + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; +}; + +class ItemPlasticWaterBottleInfected : ItemWaterBottle +{ + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle10oz.paa"; + infectionChance = 1; + + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; +}; + +class ItemPlasticWaterBottleSafe : ItemWaterBottle +{ + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle10oz.paa"; + infectionChance = 0; + + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; +}; + +class ItemPlasticWaterBottleBoiled : ItemWaterBottle +{ + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle10oz.paa"; + displayName = $STR_ITEMWATERBOTTLEBOILED_CODE_NAME; + descriptionShort = $STR_ITEMWATERBOTTLEBOILED_CODE_DESC; + + infectionChance = 0; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + }; + +class ItemPlasticWaterBottleHerbal : ItemWaterBottle +{ + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle10oz.paa"; + displayName = $STR_ITEM_NAME_HerbalDrink; + descriptionShort = $STR_ITEM_DESC_HerbalDrink; + + infectionChance = -0.5; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; +}; + +class ItemPlasticWaterbottle1oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE1OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE1OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle1oz.paa"; + wateroz = 1; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,100,0}; + infectionChance = 0.03; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle2oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE2OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE2OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle2oz.paa"; + wateroz = 2; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,200,0}; + infectionChance = 0.06; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; + +}; +class ItemPlasticWaterbottle3oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE3OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE3OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle3oz.paa"; + wateroz = 3; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,300,0}; + infectionChance = 0.09; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; + +}; +class ItemPlasticWaterbottle4oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE4OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE4OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle4oz.paa"; + wateroz = 4; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,400,0}; + infectionChance = 0.12; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; + +}; +class ItemPlasticWaterbottle5oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE5OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE5OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle5oz.paa"; + wateroz = 5; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,500,0}; + infectionChance = 0.15; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; + +}; +class ItemPlasticWaterbottle6oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE6OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE6OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle6oz.paa"; + wateroz = 6; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,600,0}; + infectionChance = 0.18; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; + +}; +class ItemPlasticWaterbottle7oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE7OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE7OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle7oz.paa"; + wateroz = 7; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,700,0}; + infectionChance = 0.21; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle8oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE8OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE8OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle8oz.paa"; + wateroz = 8; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,800,0}; + infectionChance = 0.24; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; + +}; +class ItemPlasticWaterbottle9oz : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE9OZ; + descriptionShort = $STR_EPOCH_WATERBOTTLE9OZ_DESC; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle9oz.paa"; + wateroz = 9; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,900,0}; + infectionChance = 0.27; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +//inherit from ItemWaterBottle because that's how the crafting script checks required input +class ItemPlasticWaterbottle1ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE1OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE1OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle1oz.paa"; + wateroz = 1; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,100,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle2ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE2OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE2OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle2oz.paa"; + wateroz = 2; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,200,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle3ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE3OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE3OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle3oz.paa"; + wateroz = 3; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,300,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle4ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE4OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE4OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle4oz.paa"; + wateroz = 4; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,400,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle5ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE5OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE5OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle5oz.paa"; + wateroz = 5; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,500,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle6ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE6OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE6OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle6oz.paa"; + wateroz = 6; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,600,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle7ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE7OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE7OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle7oz.paa"; + wateroz = 7; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,700,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle8ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE8OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE8OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle8oz.paa"; + wateroz = 8; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,800,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; +class ItemPlasticWaterbottle9ozBoiled : ItemWaterBottle { + displayName = $STR_EPOCH_WATERBOTTLE9OZBOILED; + descriptionShort = $STR_EPOCH_WATERBOTTLE9OZBOILED_DESC; + infectionChance = 0; + model = "z\addons\dayz_communityassets\models\waterbottle.p3d"; + picture = "\dayz_epoch_c\icons\plasticwaterbottle\PETwaterbottle9oz.paa"; + wateroz = 9; + containerWater = "ItemPlasticWaterbottle"; + containerWaterSafe = "ItemPlasticWaterbottleSafe"; + containerWaterInfected = "ItemPlasticWaterbottleInfected"; + Nutrition[] = {0,0,900,0}; + consumeOutput = "ItemPlasticWaterbottleUnfilled"; + containerEmpty = "ItemPlasticWaterbottleUnfilled"; + class ItemActions { + class Consume + { + text = $STR_ACTIONS_DRINK2; + script = "spawn player_consume"; + }; + class Empty + { + text = $STR_EQUIP_NAME_13_EMPTY; + script = "spawn player_emptyContainer"; + }; + class Fill { + text = "$STR_ACTIONS_FILL_W"; + script = "spawn player_fillWater;"; + }; + }; +}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgServerTrader/Category/FriendlyDrinks.hpp b/SQF/dayz_code/Configs/CfgServerTrader/Category/FriendlyDrinks.hpp index 34ac1f575..f9b9d8551 100644 --- a/SQF/dayz_code/Configs/CfgServerTrader/Category/FriendlyDrinks.hpp +++ b/SQF/dayz_code/Configs/CfgServerTrader/Category/FriendlyDrinks.hpp @@ -4,6 +4,11 @@ class Category_601 { buy[] = {3,"ItemSilverBar"}; sell[] = {1,"ItemSilverBar"}; }; + class ItemPlasticWaterbottleUnfilled { + type = "trade_items"; + buy[] = {2,"ItemSilverBar"}; + sell[] = {1,"ItemSilverBar"}; + }; class ItemSodaCoke { type = "trade_items"; buy[] = {2,"ItemSilverBar"}; diff --git a/SQF/dayz_code/actions/boil.sqf b/SQF/dayz_code/actions/boil.sqf index fcf8cf159..14159c013 100644 --- a/SQF/dayz_code/actions/boil.sqf +++ b/SQF/dayz_code/actions/boil.sqf @@ -1,61 +1,84 @@ -private ["_bottletext","_tin1text","_tin2text","_tintext","_hastinitem","_qty","_dis","_sfx","_WB2Add","_finished"]; - if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; dayz_actionInProgress = true; +private ["_bottletext","_hastinitem","_qty","_dis","_sfx","_bottle","_finished","_waterbottles","_platicBottles","_magsPlayer","_bottles"]; + _bottletext = getText (configFile >> "CfgMagazines" >> "ItemWaterBottle" >> "displayName"); -_tin1text = getText (configFile >> "CfgMagazines" >> "TrashTinCan" >> "displayName"); -_tin2text = getText (configFile >> "CfgMagazines" >> "ItemSodaEmpty" >> "displayName"); -_tintext = format["%1 / %2",_tin1text,_tin2text]; -_qty = {_x in ["ItemWaterBottleInfected","ItemWaterBottle","ItemWaterBottleSafe","ItemWaterbottle1oz","ItemWaterbottle2oz","ItemWaterbottle3oz","ItemWaterbottle4oz","ItemWaterbottle5oz","ItemWaterbottle6oz","ItemWaterbottle7oz","ItemWaterbottle8oz","ItemWaterbottle9oz"]} count magazines player; +_waterbottles = ["ItemWaterBottleInfected","ItemWaterBottle","ItemWaterBottleSafe","ItemWaterbottle1oz","ItemWaterbottle2oz","ItemWaterbottle3oz","ItemWaterbottle4oz","ItemWaterbottle5oz","ItemWaterbottle6oz","ItemWaterbottle7oz","ItemWaterbottle8oz","ItemWaterbottle9oz","ItemPlasticWaterBottle","ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe","ItemPlasticWaterbottle1oz","ItemPlasticWaterbottle2oz","ItemPlasticWaterbottle3oz","ItemPlasticWaterbottle4oz","ItemPlasticWaterbottle5oz","ItemPlasticWaterbottle6oz","ItemPlasticWaterbottle7oz","ItemPlasticWaterbottle8oz","ItemPlasticWaterbottle9oz"]; +_platicBottles = ["ItemPlasticWaterBottle","ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe","ItemPlasticWaterbottle1oz","ItemPlasticWaterbottle2oz","ItemPlasticWaterbottle3oz","ItemPlasticWaterbottle4oz","ItemPlasticWaterbottle5oz","ItemPlasticWaterbottle6oz","ItemPlasticWaterbottle7oz","ItemPlasticWaterbottle8oz","ItemPlasticWaterbottle9oz"]; +_magsPlayer = magazines player; +_qty = {_x in _waterbottles} count _magsPlayer; +_hastinitem = true; a_player_boil = true; player removeAction s_player_boil; //s_player_boil = -1; -/* //canteens are metal, we only use canteens in Epoch -_hastinitem = {_x in magazines player} count boil_tin_cans > 0; -if (!_hastinitem) exitWith {format[localize "str_player_31",_tintext,localize "str_player_31_fill"] call dayz_rollingMessages; a_player_boil = false; dayz_actionInProgress = false;}; -*/ +if ({_x in _platicBottles} count _magsPlayer > 0) then { + _hastinitem = {_x in _magsPlayer} count boil_tin_cans > 0; +}; + +if !(_hastinitem) exitWith { + private ["_tin1text","_tin2text","_tintext"]; + + _tin1text = getText (configFile >> "CfgMagazines" >> "TrashTinCan" >> "displayName"); + _tin2text = getText (configFile >> "CfgMagazines" >> "ItemSodaEmpty" >> "displayName"); + _tintext = format["%1 / %2",_tin1text,_tin2text]; + format[localize "str_player_31",_tintext,localize "str_player_31_fill"] call dayz_rollingMessages; + a_player_boil = false; + dayz_actionInProgress = false; +}; + if (_qty > 0) then { _dis=10; _sfx = "cook"; [player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_dis,true,(getPosATL player)] call player_alertZombies; - - _finished = ["Medic",1] call fn_loopAction; - - // Double check player did not drop item - _qty = {_x in ["ItemWaterBottleInfected","ItemWaterBottle","ItemWaterBottleSafe","ItemWaterbottle1oz","ItemWaterbottle2oz","ItemWaterbottle3oz","ItemWaterbottle4oz","ItemWaterbottle5oz","ItemWaterbottle6oz","ItemWaterbottle7oz","ItemWaterbottle8oz","ItemWaterbottle9oz"]} count magazines player; - - if (_qty == 0 or !_finished) exitWith {}; - for "_x" from 1 to _qty do { - _WB2Add = "ItemWaterBottleBoiled"; - switch (true) do { - case ("ItemWaterBottleInfected" in magazines player): { player removeMagazine "ItemWaterBottleInfected"; }; - case ("ItemWaterBottleSafe" in magazines player): { player removeMagazine "ItemWaterBottleSafe"; }; - case ("ItemWaterBottle" in magazines player): { player removeMagazine "ItemWaterBottle"; }; - case ("ItemWaterbottle1oz" in magazines player): { player removeMagazine "ItemWaterbottle1oz"; _WB2Add = "ItemWaterbottle1ozBoiled"; }; - case ("ItemWaterbottle2oz" in magazines player): { player removeMagazine "ItemWaterbottle2oz"; _WB2Add = "ItemWaterbottle2ozBoiled"; }; - case ("ItemWaterbottle3oz" in magazines player): { player removeMagazine "ItemWaterbottle3oz"; _WB2Add = "ItemWaterbottle3ozBoiled"; }; - case ("ItemWaterbottle4oz" in magazines player): { player removeMagazine "ItemWaterbottle4oz"; _WB2Add = "ItemWaterbottle4ozBoiled"; }; - case ("ItemWaterbottle5oz" in magazines player): { player removeMagazine "ItemWaterbottle5oz"; _WB2Add = "ItemWaterbottle5ozBoiled"; }; - case ("ItemWaterbottle6oz" in magazines player): { player removeMagazine "ItemWaterbottle6oz"; _WB2Add = "ItemWaterbottle6ozBoiled"; }; - case ("ItemWaterbottle7oz" in magazines player): { player removeMagazine "ItemWaterbottle7oz"; _WB2Add = "ItemWaterbottle7ozBoiled"; }; - case ("ItemWaterbottle8oz" in magazines player): { player removeMagazine "ItemWaterbottle8oz"; _WB2Add = "ItemWaterbottle8ozBoiled"; }; - case ("ItemWaterbottle9oz" in magazines player): { player removeMagazine "ItemWaterbottle9oz"; _WB2Add = "ItemWaterbottle9ozBoiled"; }; + _finished = ["Medic",1] call fn_loopAction; + + // Double check player did not drop item + _bottles = []; + + { + if (_x in _waterbottles) then { + _bottles set [count _bottles, _x]; }; + } count magazines player; + + _qty = count _bottles; + + if (_qty < 1 || !_finished) exitWith {}; + + { + _bottle = _x; + player removeMagazine _bottle; if (dayz_waterBottleBreaking && {[0.1] call fn_chance}) then { - player addMagazine "ItemWaterBottleDmg"; + if (_bottle in _platicBottles) then { + player addMagazine "ItemPlasticWaterbottleDmg"; + } else { + player addMagazine "ItemWaterBottleDmg"; + }; localize "str_waterbottle_broke" call dayz_rollingMessages; } else { - player addMagazine _WB2Add; + if (_bottle in _platicBottles) then { + if (_bottle in ["ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe"]) then { + player addMagazine "ItemPlasticWaterbottleBoiled"; + } else { + player addMagazine (_bottle + "Boiled"); + }; + } else { + if (_bottle in ["ItemWaterBottleInfected","ItemWaterBottleSafe"]) then { + player addMagazine "ItemWaterBottleBoiled"; + } else { + player addMagazine (_bottle + "Boiled"); + }; + }; }; - }; + } count _bottles; format [localize "str_player_boiledwater",_qty] call dayz_rollingMessages; } else { format[localize "str_player_31",_bottletext,localize "str_player_31_fill"] call dayz_rollingMessages; }; a_player_boil = false; -dayz_actionInProgress = false; \ No newline at end of file +dayz_actionInProgress = false; diff --git a/SQF/dayz_code/actions/dog/feed.sqf b/SQF/dayz_code/actions/dog/feed.sqf index c0ef56085..7688e498e 100644 --- a/SQF/dayz_code/actions/dog/feed.sqf +++ b/SQF/dayz_code/actions/dog/feed.sqf @@ -1,14 +1,15 @@ -private ["_array","_handle","_type","_onLadder","_removed","_itemIn","_countIn"]; +if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; +dayz_actionInProgress = true; + +private ["_array","_handle","_type","_onLadder","_removed","_itemIn","_countIn","_bottles"]; + +_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; +if (_onLadder) exitWith {dayz_actionInProgress = false;localize "str_player_21" call dayz_rollingMessages;}; + _array = _this select 3; _handle = _array select 0; _type = _array select 1; -_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; -if (_onLadder) exitWith {localize "str_player_21" call dayz_rollingMessages;}; - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - player playActionNow "PutDown"; switch (_type) do { @@ -17,7 +18,7 @@ switch (_type) do { _removed = 0; _itemIn = "FoodRaw"; _countIn = 1; - { + { if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then { _removed = _removed + ([player,_x] call BIS_fnc_invRemove); }; @@ -30,13 +31,21 @@ switch (_type) do { }; case 1: { - if(([player,"ItemWaterbottle"] call BIS_fnc_invRemove) == 1) then { - player addMagazine "ItemWaterbottleUnfilled"; - }; - _handle setFSMVariable ["_thirst",0]; + _bottles = ["ItemWaterBottle","ItemWaterBottleInfected","ItemWaterBottleSafe","ItemWaterBottleBoiled","ItemPlasticWaterBottle","ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe","ItemPlasticWaterBottleBoiled"]; + { + if (_x in _bottles) exitwith { + if (_x in ["ItemWaterBottle","ItemWaterBottleInfected","ItemWaterBottleSafe","ItemWaterBottleBoiled"]) then { + player addMagazine "ItemWaterbottleUnfilled"; + } else { + player addMagazine "ItemPlasticWaterbottleUnfilled"; + }; + player removeMagazine _x; + }; + } count magazines player; + _handle setFSMVariable ["_thirst",0]; player removeAction s_player_waterdog; s_player_waterdog = -1; }; }; -dayz_actionInProgress = false; \ No newline at end of file +dayz_actionInProgress = false; diff --git a/SQF/dayz_code/actions/player_craftItem.sqf b/SQF/dayz_code/actions/player_craftItem.sqf index 9e3e80a28..16ca71337 100644 --- a/SQF/dayz_code/actions/player_craftItem.sqf +++ b/SQF/dayz_code/actions/player_craftItem.sqf @@ -23,11 +23,11 @@ class ItemActions }; }; */ -private ["_tradeComplete","_onLadder","_canDo","_selectedRecipeOutput","_boiled","_proceed","_itemIn","_countIn","_missing","_missingQty","_qty","_itemOut","_countOut","_finished","_removed","_tobe_removed_total","_textCreate","_textMissing","_selectedRecipeInput","_selectedRecipeInputStrict","_num_removed","_removed_total","_temp_removed_array","_abort","_waterLevel","_waterLevel_lowest","_reason","_isNear","_selectedRecipeTools","_distance","_crafting","_needNear","_item","_baseClass","_num_removed_weapons","_outputWeapons","_inputWeapons","_randomOutput","_craft_doLoop","_selectedWeapon","_selectedMag","_sfx"]; - if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; dayz_actionInProgress = true; +private ["_tradeComplete","_onLadder","_canDo","_selectedRecipeOutput","_boiled","_proceed","_itemIn","_countIn","_missing","_missingQty","_qty","_itemOut","_countOut","_finished","_removed","_tobe_removed_total","_textCreate","_textMissing","_selectedRecipeInput","_selectedRecipeInputStrict","_num_removed","_removed_total","_temp_removed_array","_abort","_waterLevel","_waterLevel_lowest","_reason","_isNear","_selectedRecipeTools","_distance","_crafting","_needNear","_item","_baseClass","_num_removed_weapons","_outputWeapons","_inputWeapons","_randomOutput","_craft_doLoop","_selectedWeapon","_selectedMag","_sfx","_configParent","_pPos"]; + // This is used to find correct recipe based what itemaction was click allows multiple recipes per item. _crafting = _this select 0; @@ -102,10 +102,8 @@ if (_canDo) then { _itemIn = _x select 0; _countIn = _x select 1; - _qty = { (_x == _itemIn) || (!_selectedRecipeInputStrict && configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player; - + _qty = { (_x == _itemIn) || (!_selectedRecipeInputStrict && configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)} count magazines player; if (_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; - } forEach _selectedRecipeInput; }; @@ -127,7 +125,7 @@ if (_canDo) then { _removed = 0; _itemIn = _x select 0; _countIn = _x select 1; - // diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; + //diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; _tobe_removed_total = _tobe_removed_total + _countIn; // Preselect the item @@ -135,7 +133,7 @@ if (_canDo) then { _configParent = configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)); if ((_x == _itemIn) || (!_selectedRecipeInputStrict && _configParent == _itemIn)) then { // Get lowest waterlevel - if ((_x == "ItemWaterbottle") ||( _configParent == "ItemWaterbottle")) then { + if ((_x == "ItemWaterbottle") || (_configParent == "ItemWaterbottle")) then { _waterLevel = getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz"); if (_waterLevel_lowest == 0 || _waterLevel < _waterLevel_lowest) then { _waterLevel_lowest = _waterLevel; @@ -157,9 +155,9 @@ if (_canDo) then { _removed_total = _removed_total + _num_removed; if (_num_removed >= 1) then { //diag_log format["debug remove: %1 of: %2", _configParent, _x]; - if (_x == "ItemWaterbottle" || _configParent == "ItemWaterbottle") then { + if ((_x == "ItemWaterbottle") || (_configParent == "ItemWaterbottle")) then { _waterLevel = floor((getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz")) - 1); - if (_x in ["ItemWaterbottle9ozBoiled","ItemWaterbottle8ozBoiled","ItemWaterbottle7ozBoiled","ItemWaterbottle6ozBoiled","ItemWaterbottle5ozBoiled","ItemWaterbottle4ozBoiled","ItemWaterbottle3ozBoiled","ItemWaterbottle2ozBoiled","ItemWaterBottleBoiled"]) then { + if (_x in ["ItemWaterbottle9ozBoiled","ItemWaterbottle8ozBoiled","ItemWaterbottle7ozBoiled","ItemWaterbottle6ozBoiled","ItemWaterbottle5ozBoiled","ItemWaterbottle4ozBoiled","ItemWaterbottle3ozBoiled","ItemWaterbottle2ozBoiled","ItemWaterBottleBoiled","ItemPlasticWaterbottle9ozBoiled","ItemPlasticWaterbottle8ozBoiled","ItemPlasticWaterbottle7ozBoiled","ItemPlasticWaterbottle6ozBoiled","ItemPlasticWaterbottle5ozBoiled","ItemPlasticWaterbottle4ozBoiled","ItemPlasticWaterbottle3ozBoiled","ItemPlasticWaterbottle2ozBoiled","ItemPlasticWaterBottleBoiled"]) then { _boiled = true; }; }; @@ -202,14 +200,28 @@ if (_canDo) then { _itemOut = _x select 0; _countOut = _x select 1; if (_itemOut == "ItemWaterbottleUnfilled") then { - if (_waterLevel > 0) then { - if (_boiled) then { - _itemOut = format["ItemWaterbottle%1ozBoiled",_waterLevel]; + { + if (_x in ["ItemPlasticWaterbottle","ItemPlasticWaterbottleInfected","ItemPlasticWaterbottleSafe","ItemPlasticWaterBottleBoiled","ItemPlasticWaterbottle1oz","ItemPlasticWaterbottle2oz","ItemPlasticWaterbottle3oz","ItemPlasticWaterbottle4oz","ItemPlasticWaterbottle5oz","ItemPlasticWaterbottle6oz","ItemPlasticWaterbottle7oz","ItemPlasticWaterbottle8oz","ItemPlasticWaterbottle9oz","ItemPlasticWaterbottle1ozBoiled","ItemPlasticWaterbottle2ozBoiled","ItemPlasticWaterbottle3ozBoiled","ItemPlasticWaterbottle4ozBoiled","ItemPlasticWaterbottle5ozBoiled","ItemPlasticWaterbottle6ozBoiled","ItemPlasticWaterbottle7ozBoiled","ItemPlasticWaterbottle8ozBoiled","ItemPlasticWaterbottle9ozBoiled"]) then { + _itemOut = "ItemPlasticWaterbottleUnfilled"; + if (_waterLevel > 0) then { + if (_boiled) then { + _itemOut = format["ItemPlasticWaterbottle%1ozBoiled",_waterLevel]; + } else { + _itemOut = format["ItemPlasticWaterbottle%1oz",_waterLevel]; + }; + }; } else { - _itemOut = format["ItemWaterbottle%1oz",_waterLevel]; + if (_waterLevel > 0) then { + if (_boiled) then { + _itemOut = format["ItemWaterbottle%1ozBoiled",_waterLevel]; + } else { + _itemOut = format["ItemWaterbottle%1oz",_waterLevel]; + }; + }; }; - }; + } foreach _temp_removed_array; }; + // diag_log format["Checking for water level: %1", _waterLevel]; for "_x" from 1 to _countOut do { player addMagazine _itemOut; diff --git a/SQF/dayz_code/actions/player_fixBottle.sqf b/SQF/dayz_code/actions/player_fixBottle.sqf index 039e63d90..6deb22455 100644 --- a/SQF/dayz_code/actions/player_fixBottle.sqf +++ b/SQF/dayz_code/actions/player_fixBottle.sqf @@ -1,11 +1,11 @@ +if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; +dayz_actionInProgress = true; + private ["_bottle","_tape","_fixedBottle","_finished"]; _bottle = _this; _tape = "equip_duct_tape"; -_fixedBottle = "ItemWaterBottleUnfilled"; - -if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; -dayz_actionInProgress = true; +_fixedBottle = ["ItemPlasticWaterbottleUnfilled", "ItemWaterBottleUnfilled"] select (_bottle == "ItemWaterbottleDmg"); call gear_ui_init; closeDialog 0; diff --git a/SQF/dayz_code/actions/player_sharpen.sqf b/SQF/dayz_code/actions/player_sharpen.sqf index 41b224068..debfa9bbc 100644 --- a/SQF/dayz_code/actions/player_sharpen.sqf +++ b/SQF/dayz_code/actions/player_sharpen.sqf @@ -1,10 +1,13 @@ +if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; +dayz_actionInProgress = true; + private ["_item","_use","_repair","_waterUsed","_displayName"]; //['ItemKnifeBlunt','ItemKnife'] _item = _this select 0; //Item to be sharpened _repair = _this select 1; //Item to be given back. -_use = ["ItemWaterBottle","ItemWaterBottleInfected","ItemWaterBottleSafe","ItemWaterBottleBoiled","ItemWaterBottleHerbal","ItemCanteen","ItemCanteenInfected","ItemCanteenSafe","ItemCanteenBoiled","ItemCanteenHerbal"]; +_use = ["ItemWaterBottle","ItemWaterBottleInfected","ItemWaterBottleSafe","ItemWaterBottleBoiled","ItemWaterBottleHerbal","ItemPlasticWaterBottle","ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe","ItemPlasticWaterBottleBoiled","ItemPlasticWaterBottleHerbal"]; _waterUsed = nil; call gear_ui_init; @@ -18,20 +21,22 @@ closeDialog 1; if (isNil "_waterUsed") exitWith { //_displayName = getText (configFile >> "CfgMagazines" >> _use >> "displayName"); localize "str_sharpen_missing_water" call dayz_rollingMessages; + dayz_actionInProgress = false; }; // item is missing or tools are missing if !("equip_brick" IN magazines player) exitWith { _displayName = getText (configFile >> "CfgMagazines" >> "equip_brick" >> "displayName"); format [localize "str_missing_to_do_this",_displayName] call dayz_rollingMessages; + dayz_actionInProgress = false; }; if (player hasWeapon _item) then { _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); - + player removeMagazine _waterUsed; player removeWeapon _item; - + if !(player hasWeapon _repair) then { player addWeapon _repair; } else { @@ -39,11 +44,13 @@ if (player hasWeapon _item) then { [_repair,2,1] call fn_dropItem; format[localize "str_actions_noroom",_repair] call dayz_rollingMessages; }; - + player addMagazine (getText(configFile >> "CfgMagazines" >> _waterUsed >> "containerEmpty")); - + //Remove Later player removeMagazine "equip_brick"; format [localize "str_sharpen_success",_displayName] call dayz_rollingMessages; -}; \ No newline at end of file +}; + +dayz_actionInProgress = false; diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf index d20591b2f..a9abaccb4 100644 --- a/SQF/dayz_code/compile/fn_selfActions.sqf +++ b/SQF/dayz_code/compile/fn_selfActions.sqf @@ -13,7 +13,7 @@ private ["_canPickLight","_text","_unlock","_lock","_totalKeys","_temp_keys","_t "_isModular","_isModularDoor","_isHouse","_isGateOperational","_isGateLockable","_isFence","_isLockableGate","_isUnlocked","_isOpen","_isClosed","_ownerArray","_ownerBuildLock", "_ownerPID","_speed","_dog","_vehicle","_inVehicle","_cursorTarget","_primaryWeapon","_currentWeapon","_magazinesPlayer","_onLadder","_canDo", "_nearLight","_vehicleOwnerID","_hasHotwireKit","_isPZombie","_dogHandle","_allowedDistance","_id","_upgrade","_weaponsPlayer","_hasCrowbar", -"_allowed","_hasAccess","_uid","_myCharID","_isLocked","_isClose"]; +"_allowed","_hasAccess","_uid","_myCharID","_isLocked","_isClose","_hasunboiledwater","_characterID","_text2"]; _vehicle = vehicle player; _inVehicle = (_vehicle != player); @@ -116,10 +116,10 @@ if (_inVehicle) then { if (s_player_lockUnlockInside_ctrl < 0) then { _totalKeys = call epoch_tempKeys; _temp_keys = _totalKeys select 0; - _temp_keys_names = _totalKeys select 1; + _temp_keys_names = _totalKeys select 1; _hasKey = _vehicleOwnerID in _temp_keys; _oldOwner = (_vehicleOwnerID == _uid); - + _text = getText (configFile >> "CfgVehicles" >> (typeOf DZE_myVehicle) >> "displayName"); if (locked DZE_myVehicle) then { if (_hasKey || _oldOwner) then { @@ -239,14 +239,14 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur _weaponsPlayer = weapons player; _hasCrowbar = "ItemCrowbar" in _itemsPlayer or "MeleeCrowbar" in _weaponsPlayer or dayz_onBack == "MeleeCrowbar"; _hasToolbox = "ItemToolbox" in _itemsPlayer; - _hasbottleitem = (("ItemWaterBottle" in _magazinesPlayer) || {"ItemWaterBottleInfected" in _magazinesPlayer} || {"ItemWaterBottleSafe" in _magazinesPlayer} || {"ItemWaterBottleBoiled" in _magazinesPlayer}); + _hasbottleitem = ({_x in ["ItemWaterBottle","ItemWaterBottleInfected","ItemWaterBottleSafe","ItemWaterBottleBoiled","ItemPlasticWaterBottle","ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe","ItemPlasticWaterBottleBoiled"]} count _magazinesPlayer) > 0; _isAlive = alive _cursorTarget; _text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName"); _isPlant = _typeOfCursorTarget in Dayz_plants; _istypeTent = (_cursorTarget isKindOf "TentStorage_base") or (_cursorTarget isKindOf "IC_Tent"); _upgradeItems = ["TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3"]; _characterID = _cursorTarget getVariable ["CharacterID","0"]; - + if (DZE_permanentPlot) then { _id = _uid; _ownerID = _cursorTarget getVariable ["ownerPUID","0"]; @@ -255,13 +255,13 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur _ownerID = _characterID; }; - _isDisallowRefuel = _typeOfCursorTarget in ["M240Nest_DZ","MMT_Civ","MMT_USMC","Old_bike_TK_CIV_EP1","Old_bike_TK_INS_EP1"]; + _isDisallowRefuel = _typeOfCursorTarget in ["M240Nest_DZ","MMT_Civ","MMT_USMC","Old_bike_TK_CIV_EP1","Old_bike_TK_INS_EP1"]; _isDog = (_cursorTarget isKindOf "Pastor" || _cursorTarget isKindOf "Fin"); _isModular = _cursorTarget isKindOf "ModularItems"; _isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"]; _player_deleteBuild = false; _player_lockUnlock_crtl = false; - + //fuel tanks if (_hasEmptyFuelCan) then { { @@ -283,7 +283,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_flipveh; s_player_flipveh = -1; }; - + //Allow player to fill Fuel can if (_hasEmptyFuelCan && _isFuel && _isAlive) then { if (s_player_fillfuel < 0) then { @@ -293,7 +293,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_fillfuel; s_player_fillfuel = -1; }; - + if (damage _cursorTarget < 1) then { //Allow player to fill vehicle 210L if (_hasBarrel && {!_isMan} && {_isVehicle} && {fuel _cursorTarget < 1} && {!_isDisallowRefuel}) then { @@ -304,7 +304,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_fillfuel210; s_player_fillfuel210 = -1; }; - + //Allow player to fill vehicle 20L if (_hasFuel20 && {!_isMan} && {_isVehicle} && {fuel _cursorTarget < 1} && {!_isDisallowRefuel}) then { if (s_player_fillfuel20 < 0) then { @@ -348,20 +348,20 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_siphonfuel; s_player_siphonfuel = -1; }; - + //Fireplace Actions check if ((_cursorTarget call isInflamed) or (inflamed _cursorTarget)) then { _hasRawMeat = {_x in Dayz_meatraw} count _magazinesPlayer > 0; //_hastinitem = {_x in boil_tin_cans} count _magazinesPlayer > 0; - _hasunboiledwater = {_x in ["ItemWaterBottleInfected","ItemWaterBottle","ItemWaterBottleSafe","ItemWaterbottle1oz","ItemWaterbottle2oz","ItemWaterbottle3oz","ItemWaterbottle4oz","ItemWaterbottle5oz","ItemWaterbottle6oz","ItemWaterbottle7oz","ItemWaterbottle8oz","ItemWaterbottle9oz"]} count _magazinesPlayer > 0; + _hasunboiledwater = {_x in ["ItemWaterBottleInfected","ItemWaterBottle","ItemWaterBottleSafe","ItemWaterbottle1oz","ItemWaterbottle2oz","ItemWaterbottle3oz","ItemWaterbottle4oz","ItemWaterbottle5oz","ItemWaterbottle6oz","ItemWaterbottle7oz","ItemWaterbottle8oz","ItemWaterbottle9oz","ItemPlasticWaterBottle","ItemPlasticWaterBottleInfected","ItemPlasticWaterBottleSafe","ItemPlasticWaterbottle1oz","ItemPlasticWaterbottle2oz","ItemPlasticWaterbottle3oz","ItemPlasticWaterbottle4oz","ItemPlasticWaterbottle5oz","ItemPlasticWaterbottle6oz","ItemPlasticWaterbottle7oz","ItemPlasticWaterbottle8oz","ItemPlasticWaterbottle9oz"]} count _magazinesPlayer > 0; - - //Cook Meat + + //Cook Meat if (_hasRawMeat && !a_player_cooking) then { if (s_player_cook < 0) then { s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true]; }; - }; + }; //Boil Water if (_hasunboiledwater && !a_player_boil) then { if (s_player_boil < 0) then { @@ -378,7 +378,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur s_player_boil = -1; }; }; - + if (_isAlive) then { _restrict = _typeOfCursorTarget in DZE_restrictRemoval; @@ -396,14 +396,14 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur _player_deleteBuild = true; }; }; - }; + }; if (_isVehicle) then { if ((_characterID != "0") && {!_isMan}) then { _player_lockUnlock_crtl = true; }; }; }; - + if (_player_deleteBuild) then { if (s_player_deleteBuild < 0) then { s_player_deleteBuild = player addAction [format[localize "STR_EPOCH_REMOVE",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, false, true]; @@ -450,7 +450,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur } else { player removeAction s_player_destroytent; s_player_destroytent = -1; - }; + }; if (_typeOfCursorTarget in ["IC_DomeTent","IC_Tent"]) then { if (s_player_packtentinfected < 0) then { s_player_packtentinfected = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true]; @@ -467,7 +467,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_sleep; s_player_sleep = -1; }; - + //Study Body if (_cursorTarget getVariable["bodyName",""] != "") then { if (s_player_studybody < 0) then { @@ -477,7 +477,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_studybody; s_player_studybody = -1; }; -/* +/* //Carbomb _hasCarBomb = "ItemCarBomb" in _magazinesPlayer; if (((_cursorTarget isKindOf "Car") || (_cursorTarget isKindOf "Air") || (_cursorTarget isKindOf "Motorcycle")) && _hasCarBomb) then { @@ -523,18 +523,18 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur //Only the owners can lock the gates _isLockableGate = _typeOfCursorTarget in ["WoodenGate_2","WoodenGate_3","WoodenGate_4","MetalGate_2","MetalGate_3","MetalGate_4"]; _isUnlocked = _cursorTarget getVariable ["isOpen","0"] == "1"; - + _isActionInProgress = _cursorTarget getVariable ["actionInProgress",false]; //Allow the gates to be opened when not locked by anyone _isOpen = ((_cursorTarget animationPhase "DoorL") == 1) || ((_cursorTarget animationPhase "DoorR") == 1); _isClosed = ((_cursorTarget animationPhase "DoorL") == 0) || ((_cursorTarget animationPhase "DoorR") == 0); - + //[["ownerArray",["PID"]]] _ownerArray = _cursorTarget getVariable ["ownerArray",["0"]]; - _ownerBuildLock = _cursorTarget getVariable ["BuildLock",false]; + _ownerBuildLock = _cursorTarget getVariable ["BuildLock",false]; _ownerPID = (_ownerArray select 0); - + // open Gate if (_isGateOperational && _isClosed && _isUnlocked) then { if (s_player_openGate < 0) then { @@ -636,10 +636,10 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_plot_boundary; s_player_plot_boundary = -1; }; - + if (DZE_HeliLift) then { _liftHeli = objNull; - _found = false; + _found = false; _allowTow = false; if ((count (crew _cursorTarget)) == 0) then { { @@ -676,8 +676,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur s_player_heli_lift = -1; }; }; - - // Allow Owner to lock and unlock vehicle + + // Allow Owner to lock and unlock vehicle if (_player_lockUnlock_crtl) then { if (s_player_lockUnlock_crtl < 0) then { _totalKeys = call epoch_tempKeys; @@ -706,12 +706,12 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur s_player_lockUnlock_crtl = 1; }; }; - }; + }; } else { {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; }; - + if (DZE_Hide_Body && {_isMan} && {!_isAlive}) then { if (s_player_hide_body < 0) then { s_player_hide_body = player addAction [localize "str_action_hide_body", "\z\addons\dayz_code\actions\hide_body.sqf",_cursorTarget, 1, true, true]; @@ -719,8 +719,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur } else { player removeAction s_player_hide_body; s_player_hide_body = -1; - }; - + }; + // gear access on surrendered player if (isPlayer _cursorTarget && {_isAlive} && {_cursorTarget getVariable ["DZE_Surrendered",false]}) then { if (s_player_SurrenderedGear < 0) then { @@ -794,13 +794,13 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_information; s_player_information = -1; }; - + //Fuel Pump if (_typeOfCursorTarget in dayz_fuelpumparray) then { - if (s_player_fuelauto < 0) then { + if (s_player_fuelauto < 0) then { // check if Generator_DZ is running within 30 meters _findNearestGen = {((alive _x) && (_x getVariable ["GeneratorRunning",false]))} count (([player] call FNC_getPos) nearObjects ["Generator_DZ",30]); - + // show that pump needs power if no generator nearby. if (_findNearestGen > 0) then { s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true]; @@ -848,11 +848,11 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_upgrade_build; s_player_upgrade_build = -1; }; - + // downgrade system if (DZE_Lock_Door == _characterID && {!keypadCancel} && {_cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base"}) then { if ((s_player_lastTarget select 1) != _cursorTarget) then { - if (s_player_downgrade_build > 0) then { + if (s_player_downgrade_build > 0) then { player removeAction s_player_downgrade_build; s_player_downgrade_build = -1; }; @@ -892,10 +892,10 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur //Start Generator if (_isGenerator) then { - if (s_player_fillgen < 0) then { - // check if not running + if (s_player_fillgen < 0) then { + // check if not running if (_cursorTarget getVariable ["GeneratorRunning", false]) then { - s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true]; + s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true]; } else { // check if not filled and player has jerry. if (_cursorTarget getVariable ["GeneratorFilled", false]) then { @@ -917,9 +917,9 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur if(_typeOfCursorTarget == "TOW_DZE") then { if (s_player_towing < 0) then { if(!(_cursorTarget getVariable ["DZEinTow", false])) then { - s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true]; + s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true]; } else { - s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true]; + s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true]; }; }; } else { @@ -932,7 +932,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur if (_isMan && {!(isPlayer _cursorTarget)} && {_typeOfCursorTarget in serverTraders}) then { if (s_player_parts_crtl < 0) then { _humanity = player getVariable ["humanity",0]; - _traderMenu = call compile format["menu_%1;",_typeOfCursorTarget]; + _traderMenu = call compile format["menu_%1;",_typeOfCursorTarget]; _low_high = localize "STR_EPOCH_ACTIONS_HUMANITY_LOW"; _humanity_logic = false; if ((_traderMenu select 2) == "friendly") then { @@ -952,7 +952,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur // Static Menu { _buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true]; - s_player_parts set [count s_player_parts,_buy]; + s_player_parts set [count s_player_parts,_buy]; } count (_traderMenu select 1); if (DZE_ConfigTrader) then { _buyV = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\AdvancedTrading\init.sqf",(_traderMenu select 0), 999, true, false]; @@ -963,13 +963,13 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur s_player_parts set [count s_player_parts,_buy]; }; }; - s_player_parts_crtl = 1; + s_player_parts_crtl = 1; }; } else { {player removeAction _x} count s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; }; - + if (dayz_tameDogs) then { //Dog _hasRawMeat = {_x in Dayz_meatraw} count _magazinesPlayer > 0; @@ -1001,7 +1001,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur if (s_player_warndog < 0) then { _warn = _dogHandle getFSMVariable "_watchDog"; if (_warn) then { _text = localize "str_epoch_player_247"; _warn = false; } else { _text = localize "str_epoch_player_248"; _warn = true; }; - s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true]; + s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true]; }; if (s_player_followdog < 0) then { s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true]; @@ -1087,7 +1087,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur s_player_BuildUnLock = -1; player removeAction s_player_BuildLock; s_player_BuildLock = -1;*/ - {player removeAction _x} count s_player_combi;s_player_combi = []; + {player removeAction _x} count s_player_combi;s_player_combi = []; s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull]; {player removeAction _x} count s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; @@ -1100,7 +1100,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur player removeAction s_player_maintain_area_force; s_player_maintain_area_force = -1; player removeAction s_player_maintain_area_preview; - s_player_maintain_area_preview = -1; + s_player_maintain_area_preview = -1; player removeAction s_player_tamedog; s_player_tamedog = -1; player removeAction s_player_feeddog; @@ -1141,6 +1141,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur s_player_fuelauto2 = -1; player removeAction s_player_manageDoor; s_player_manageDoor = -1; + player removeAction s_player_hide_body; + s_player_hide_body = -1; }; //Dog actions on player self @@ -1163,7 +1165,7 @@ if (_dogHandle > 0) then { }; }; } else { - player removeAction s_player_movedog; + player removeAction s_player_movedog; s_player_movedog = -1; player removeAction s_player_speeddog; s_player_speeddog = -1; diff --git a/SQF/dayz_code/config.cpp b/SQF/dayz_code/config.cpp index 368f806c1..090bba880 100644 --- a/SQF/dayz_code/config.cpp +++ b/SQF/dayz_code/config.cpp @@ -86,6 +86,7 @@ class CfgAddons "redryder", "Anzio_20", "dayz_epoch_b", + "dayz_epoch_c", "CfgVehicles" }; }; diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Drinks.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Drinks.hpp index e4f1e0a69..f6972c22f 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Drinks.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Drinks.hpp @@ -7,57 +7,205 @@ along with this program. If not, see . @version 1.00 @date 20101006 *****************************************************************************/ -class ItemCanteen -{ - weight = 0.25; -}; -class ItemCanteenInfected -{ - weight = 0.25; -}; -class ItemCanteenSafe -{ - weight = 0.25; -}; -class ItemCanteenBoiled -{ - weight = 0.25; -}; -class ItemCanteenHerbal -{ - weight = 0.25; -}; -class ItemCanteenEmpty -{ - weight = 0.05; -}; class ItemWaterbottle { - weight = 0.25; + weight = 0.22; }; class ItemWaterbottleBoiled { - weight = 0.25; + weight = 0.22; }; class ItemWaterBottleInfected { - weight = 0.25; + weight = 0.22; }; class ItemWaterBottleSafe { - weight = 0.25; + weight = 0.22; }; class ItemWaterBottleHerbal { - weight = 0.25; + weight = 0.22; }; -class ItemWaterbottleUnfilled +class ItemWaterBottleUnfilled { - weight = 0.05; + weight = 0.02; }; class ItemWaterBottleDmg { - weight = 0.05; + weight = 0.02; +}; +class ItemWaterbottle1oz +{ + weight = 0.04; +}; +class ItemWaterbottle2oz +{ + weight = 0.06; +}; +class ItemWaterbottle3oz +{ + weight = 0.08; +}; +class ItemWaterbottle4oz +{ + weight = 0.1; +}; +class ItemWaterbottle5oz +{ + weight = 0.12; +}; +class ItemWaterbottle6oz +{ + weight = 0.14; +}; +class ItemWaterbottle7oz +{ + weight = 0.16; +}; +class ItemWaterbottle8oz +{ + weight = 0.17; +}; +class ItemWaterbottle9oz +{ + weight = 0.2; +}; +class ItemWaterbottle1ozBoiled +{ + weight = 0.04; +}; +class ItemWaterbottle2ozBoiled +{ + weight = 0.06; +}; +class ItemWaterbottle3ozBoiled +{ + weight = 0.08; +}; +class ItemWaterbottle4ozBoiled +{ + weight = 0.1; +}; +class ItemWaterbottle5ozBoiled +{ + weight = 0.12; +}; +class ItemWaterbottle6ozBoiled +{ + weight = 0.14; +}; +class ItemWaterbottle7ozBoiled +{ + weight = 0.16; +}; +class ItemWaterbottle8ozBoiled +{ + weight = 0.17; +}; +class ItemWaterbottle9ozBoiled +{ + weight = 0.2; +}; +class ItemPlasticWaterBottle +{ + weight = 0.22; +}; +class ItemPlasticWaterBottleBoiled +{ + weight = 0.22; +}; +class ItemPlasticWaterBottleInfected +{ + weight = 0.22; +}; +class ItemPlasticWaterBottleSafe +{ + weight = 0.22; +}; +class ItemPlasticWaterBottleHerbal +{ + weight = 0.22; +}; +class ItemPlasticWaterbottleUnfilled +{ + weight = 0.02; +}; +class ItemPlasticWaterbottleDmg +{ + weight = 0.02; +}; +class ItemPlasticWaterbottle1oz +{ + weight = 0.04; +}; +class ItemPlasticWaterbottle2oz +{ + weight = 0.06; +}; +class ItemPlasticWaterbottle3oz +{ + weight = 0.08; +}; +class ItemPlasticWaterbottle4oz +{ + weight = 0.1; +}; +class ItemPlasticWaterbottle5oz +{ + weight = 0.12; +}; +class ItemPlasticWaterbottle6oz +{ + weight = 0.14; +}; +class ItemPlasticWaterbottle7oz +{ + weight = 0.16; +}; +class ItemPlasticWaterbottle8oz +{ + weight = 0.17; +}; +class ItemPlasticWaterbottle9oz +{ + weight = 0.2; +}; +class ItemPlasticWaterbottle1ozBoiled +{ + weight = 0.04; +}; +class ItemPlasticWaterbottle2ozBoiled +{ + weight = 0.06; +}; +class ItemPlasticWaterbottle3ozBoiled +{ + weight = 0.08; +}; +class ItemPlasticWaterbottle4ozBoiled +{ + weight = 0.1; +}; +class ItemPlasticWaterbottle5ozBoiled +{ + weight = 0.12; +}; +class ItemPlasticWaterbottle6ozBoiled +{ + weight = 0.14; +}; +class ItemPlasticWaterbottle7ozBoiled +{ + weight = 0.16; +}; +class ItemPlasticWaterbottle8ozBoiled +{ + weight = 0.17; +}; +class ItemPlasticWaterbottle9ozBoiled +{ + weight = 0.2; }; class ItemSodaMdew {