From c4827eea26c8716708b6c739c3d6ee4b16b346df Mon Sep 17 00:00:00 2001 From: mqrause Date: Sun, 12 Mar 2023 02:15:33 +0100 Subject: [PATCH 01/13] charge removal: - remove charges from solid comestibles - default to migrating charges if an item shouldn't have any - allow consuming comestibles without charges --- .../blacklist_charge_migration.json | 19 ---- data/mods/TEST_DATA/items.json | 2 + doc/JSON_INFO.md | 5 ++ lang/string_extractor/parser.py | 1 - src/character.cpp | 4 +- src/consumption.cpp | 26 ++++-- src/game_inventory.cpp | 2 +- src/init.cpp | 1 - src/itype.h | 3 +- src/savegame_json.cpp | 26 +++--- tests/iuse_test.cpp | 86 +++++++++++++------ tests/visitable_remove_test.cpp | 6 +- 12 files changed, 100 insertions(+), 81 deletions(-) delete mode 100644 data/json/obsoletion/blacklist_charge_migration.json diff --git a/data/json/obsoletion/blacklist_charge_migration.json b/data/json/obsoletion/blacklist_charge_migration.json deleted file mode 100644 index 083dbba2ee98b..0000000000000 --- a/data/json/obsoletion/blacklist_charge_migration.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "type": "charge_migration_blacklist", - "//": "Allows migration of charges to an equivalent amount of single items https://github.com/CleverRaven/Cataclysm-DDA/pull/54843", - "list": [ - "adhesive_bandages", - "alcohol_wipes", - "bandages", - "bandages_makeshift", - "bandages_makeshift_bleached", - "bandages_makeshift_boiled", - "cotton_ball", - "disinrag", - "disincotton_ball", - "medical_gauze", - "scrap_bronze" - ] - } -] diff --git a/data/mods/TEST_DATA/items.json b/data/mods/TEST_DATA/items.json index 1070544f2463d..bf637ad67b98d 100644 --- a/data/mods/TEST_DATA/items.json +++ b/data/mods/TEST_DATA/items.json @@ -1640,6 +1640,8 @@ "volume": "250 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], "charges": 4, + "//": "stackable to keep the test using this item working", + "stackable": true, "vitamins": [ [ "iron", 9 ] ], "fun": 2 }, diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index a78be06d45d10..026062599f106 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -1878,6 +1878,7 @@ Crafting recipes are defined as a JSON object with the following fields: "contained": true, // Boolean value which defines if the resulting item comes in its designated container. Automatically set to true if any container is defined in the recipe. "container": "jar_glass_sealed", //The resulting item will be contained by the item set here, overrides default container. "batch_time_factors": [25, 15], // Optional factors for batch crafting time reduction. First number specifies maximum crafting time reduction as percentage, and the second number the minimal batch size to reach that number. In this example given batch size of 20 the last 6 crafts will take only 3750 time units. +"count": 2, // Number of resulting items/charges per craft. Uses default charges if not set. If a container is set, this is the amount that gets put inside it, capped by container capacity. "result_mult": 2, // Multiplier for resulting items. Also multiplies container items. "flags": [ // A set of strings describing boolean features of the recipe "BLIND_EASY", @@ -1909,6 +1910,10 @@ Crafting recipes are defined as a JSON object with the following fields: [ // ... any number of other component ingredients (see below) ] +], +"component_blacklist": [ // List of item types that don't get added to result item components. Reversible recipes won't recover these and comestibles will not include them in calorie calculations. + "item_a", + "item_b" ] ``` diff --git a/lang/string_extractor/parser.py b/lang/string_extractor/parser.py index 157a91cb16474..fe6909098a370 100644 --- a/lang/string_extractor/parser.py +++ b/lang/string_extractor/parser.py @@ -113,7 +113,6 @@ def dummy_parser(json, origin): "book": parse_generic, "butchery_requirement": dummy_parser, "character_mod": parse_character_mod, - "charge_migration_blacklist": dummy_parser, "charge_removal_blacklist": dummy_parser, "city": parse_city, "city_building": dummy_parser, diff --git a/src/character.cpp b/src/character.cpp index cf6e11b52d37c..4adbcf8fb7580 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -11965,11 +11965,11 @@ void Character::use( item_location loc, int pre_obtain_moves, std::string const moves = pre_obtain_moves; return; } - u->assign_activity( consume_activity_actor( item_location( *u, &used ) ) ); + u->assign_activity( consume_activity_actor( loc ) ); } else { const time_duration &consume_time = get_consume_time( used ); moves -= to_moves( consume_time ); - consume( used ); + consume( loc ); } } else if( used.is_book() ) { // TODO: Handle this with dynamic dispatch. diff --git a/src/consumption.cpp b/src/consumption.cpp index ec931daef7665..90626b1ba47d1 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -288,8 +288,10 @@ nutrients Character::compute_effective_nutrients( const item &comest ) const } for( const item_components::type_vector_pair &tvp : comest.components ) { for( const item &component : tvp.second ) { - nutrients component_value = - compute_effective_nutrients( component ) * component.charges; + nutrients component_value = compute_effective_nutrients( component ); + if( component.count_by_charges() ) { + component_value *= component.charges; + } if( component.has_flag( flag_BYPRODUCT ) ) { tally -= component_value; } else { @@ -363,11 +365,11 @@ std::pair Character::compute_nutrient_range( tally_max -= byproduct_nutr; } - int charges = rec.makes_amount(); - return { tally_min / charges, tally_max / charges }; + int count = rec.makes_amount(); + return { tally_min / count, tally_max / count }; } -// Calculate the range of nturients possible for a given item across all +// Calculate the range of nutrients possible for a given item across all // possible recipes std::pair Character::compute_nutrient_range( const itype_id &comest_id, const cata::flat_set &extra_flags ) const @@ -1032,12 +1034,16 @@ static bool eat( item &food, Character &you, bool force ) if( !you.consume_effects( food ) ) { // Already consumed by using `food.type->invoke`? if( charges_used > 0 ) { - food.mod_charges( -charges_used ); + if( food.count_by_charges() ) { + food.mod_charges( -charges_used ); + } return true; } return false; } - food.mod_charges( -1 ); + if( food.count_by_charges() ) { + food.mod_charges( -1 ); + } const bool amorphous = you.has_trait( trait_AMORPHOUS ); @@ -1767,7 +1773,9 @@ static bool consume_med( item &target, Character &you ) } } - target.mod_charges( -amount_used ); + if( target.count_by_charges() ) { + target.mod_charges( -amount_used ); + } return true; } @@ -1797,7 +1805,7 @@ trinary Character::consume( item &target, bool force ) get_event_bus().send( getID(), target.typeId() ); target.on_contents_changed(); - return target.charges <= 0 ? trinary::ALL : trinary::SOME; + return !target.count_by_charges() || target.charges <= 0 ? trinary::ALL : trinary::SOME; } return trinary::NONE; diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index a010956685fad..e831d65d7be24 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -2091,7 +2091,7 @@ drop_locations game_menus::inv::smoke_food( Character &you, units::volume total_ ( const std::vector> &locs ) { units::volume added_volume = 0_ml; for( std::pair loc : locs ) { - added_volume += loc.first->volume() * loc.second / loc.first->charges; + added_volume += loc.first->volume() * loc.second / loc.first->count(); } std::string volume_caption = string_format( _( "Volume (%s):" ), volume_units_abbr() ); return inventory_selector::stats{ diff --git a/src/init.cpp b/src/init.cpp index 9ba5747aeea59..38ff52dc69fd3 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -380,7 +380,6 @@ void DynamicDataLoader::initialize() } ); add( "charge_removal_blacklist", load_charge_removal_blacklist ); - add( "charge_migration_blacklist", load_charge_migration_blacklist ); add( "temperature_removal_blacklist", load_temperature_removal_blacklist ); add( "test_data", &test_data::load ); diff --git a/src/itype.h b/src/itype.h index 124055b4dbbb3..7b7d79c03b343 100644 --- a/src/itype.h +++ b/src/itype.h @@ -1413,7 +1413,7 @@ struct itype { } bool count_by_charges() const { - return stackable_ || ammo || comestible; + return stackable_ || ammo || ( comestible && phase != phase_id::SOLID ); } int charges_default() const; @@ -1463,7 +1463,6 @@ struct itype { }; void load_charge_removal_blacklist( const JsonObject &jo, std::string_view src ); -void load_charge_migration_blacklist( const JsonObject &jo, std::string_view src ); void load_temperature_removal_blacklist( const JsonObject &jo, std::string_view src ); #endif // CATA_SRC_ITYPE_H diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index 7f6c78976a3e7..98c9af2b5a3c7 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -2916,16 +2916,6 @@ void load_charge_removal_blacklist( const JsonObject &jo, const std::string_view charge_removal_blacklist.insert( new_blacklist.begin(), new_blacklist.end() ); } -static std::set charge_migration_blacklist; - -void load_charge_migration_blacklist( const JsonObject &jo, const std::string_view/*src*/ ) -{ - jo.allow_omitted_members(); - std::set new_blacklist; - jo.read( "list", new_blacklist ); - charge_migration_blacklist.insert( new_blacklist.begin(), new_blacklist.end() ); -} - static std::set temperature_removal_blacklist; void load_temperature_removal_blacklist( const JsonObject &jo, const std::string_view/*src*/ ) @@ -3170,13 +3160,19 @@ void item::io( Archive &archive ) if( charges != 0 && !type->can_have_charges() ) { // Types that are known to have charges, but should not have them. // We fix it here, but it's expected from bugged saves and does not require a message. - if( charge_migration_blacklist.count( type->get_id() ) != 0 ) { + bool still_has_charges = false; + if( charge_removal_blacklist.count( type->get_id() ) == 0 ) { for( int i = 0; i < charges - 1; i++ ) { - put_in( item( type ), item_pocket::pocket_type::MIGRATION ); + item copy( type ); + if( copy.charges != 0 ) { + still_has_charges = true; + copy.charges = 0; + } + put_in( copy, item_pocket::pocket_type::MIGRATION ); + } + if( still_has_charges ) { + debugmsg( "Item %s can't have charges, but still had them after migration.", type->get_id().str() ); } - } else if( charge_removal_blacklist.count( type->get_id() ) == 0 ) { - debugmsg( "Item %s was loaded with charges, but can not have any!", - type->get_id().str() ); } charges = 0; } diff --git a/tests/iuse_test.cpp b/tests/iuse_test.cpp index a903e386cc138..606278a35a2ec 100644 --- a/tests/iuse_test.cpp +++ b/tests/iuse_test.cpp @@ -42,6 +42,10 @@ static const efftype_id effect_valium( "valium" ); static const efftype_id effect_visuals( "visuals" ); static const itype_id itype_albuterol( "albuterol" ); +static const itype_id itype_antifungal( "antifungal" ); +static const itype_id itype_antiparasitic( "antiparasitic" ); +static const itype_id itype_diazepam( "diazepam" ); +static const itype_id itype_thorazine( "thorazine" ); static const itype_id itype_towel_wet( "towel_wet" ); TEST_CASE( "eyedrops", "[iuse][eyedrops]" ) @@ -89,10 +93,11 @@ TEST_CASE( "antifungal", "[iuse][antifungal]" ) avatar dummy; dummy.normalize(); - item antifungal( "antifungal", calendar::turn_zero, item::default_charges_tag{} ); + item_location antifungal = dummy.i_add( item( itype_antifungal, calendar::turn ) ); - int charges_before = antifungal.charges; - REQUIRE( charges_before > 0 ); + REQUIRE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antifungal; + } ) ); GIVEN( "avatar has a fungal infection" ) { dummy.add_effect( effect_fungus, 1_hours ); @@ -101,8 +106,10 @@ TEST_CASE( "antifungal", "[iuse][antifungal]" ) WHEN( "they take an antifungal drug" ) { dummy.consume( antifungal ); - THEN( "one dose is depleted" ) { - CHECK( antifungal.charges == charges_before - 1 ); + THEN( "antifungal is used up" ) { + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antifungal; + } ) ); AND_THEN( "it applies the antifungal effect" ) { CHECK( dummy.has_effect( effect_antifungal ) ); @@ -126,8 +133,10 @@ TEST_CASE( "antifungal", "[iuse][antifungal]" ) WHEN( "they take an antifungal drug" ) { dummy.consume( antifungal ); - THEN( "one dose is depleted" ) { - CHECK( antifungal.charges == charges_before - 1 ); + THEN( "antifungal is used up" ) { + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antifungal; + } ) ); AND_THEN( "it has no effect on the spores" ) { CHECK( dummy.has_effect( effect_spores ) ); @@ -142,10 +151,11 @@ TEST_CASE( "antiparasitic", "[iuse][antiparasitic]" ) avatar dummy; dummy.normalize(); - item antiparasitic( "antiparasitic", calendar::turn_zero, item::default_charges_tag{} ); + item_location antiparasitic = dummy.i_add( item( itype_antiparasitic, calendar::turn ) ); - int charges_before = antiparasitic.charges; - REQUIRE( charges_before > 0 ); + REQUIRE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antiparasitic; + } ) ); GIVEN( "avatar has parasite infections" ) { dummy.add_effect( effect_dermatik, 1_hours ); @@ -163,8 +173,10 @@ TEST_CASE( "antiparasitic", "[iuse][antiparasitic]" ) WHEN( "they use an antiparasitic drug" ) { dummy.consume( antiparasitic ); - THEN( "one dose is depleted" ) { - CHECK( antiparasitic.charges == charges_before - 1 ); + THEN( "antiparasitic was used up" ) { + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antiparasitic; + } ) ); AND_THEN( "it cures all parasite infections" ) { CHECK_FALSE( dummy.has_effect( effect_dermatik ) ); @@ -178,14 +190,20 @@ TEST_CASE( "antiparasitic", "[iuse][antiparasitic]" ) } GIVEN( "avatar has a fungal infection" ) { + REQUIRE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antiparasitic; + } ) ); + dummy.add_effect( effect_fungus, 1_hours ); REQUIRE( dummy.has_effect( effect_fungus ) ); WHEN( "they use an antiparasitic drug" ) { dummy.consume( antiparasitic ); - THEN( "one dose is depleted" ) { - CHECK( antiparasitic.charges == charges_before - 1 ); + THEN( "antiparasitic was used up" ) { + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_antiparasitic; + } ) ); AND_THEN( "it has no effect on the fungal infection" ) { CHECK( dummy.has_effect( effect_fungus ) ); @@ -200,10 +218,11 @@ TEST_CASE( "anticonvulsant", "[iuse][anticonvulsant]" ) avatar dummy; dummy.normalize(); - item anticonvulsant( "diazepam", calendar::turn_zero, item::default_charges_tag{} ); + item_location anticonvulsant = dummy.i_add( item( itype_diazepam, calendar::turn ) ); - int charges_before = anticonvulsant.charges; - REQUIRE( charges_before > 0 ); + REQUIRE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_diazepam; + } ) ); GIVEN( "avatar has the shakes" ) { dummy.add_effect( effect_shakes, 1_hours ); @@ -212,8 +231,10 @@ TEST_CASE( "anticonvulsant", "[iuse][anticonvulsant]" ) WHEN( "they use an anticonvulsant drug" ) { dummy.consume( anticonvulsant ); - THEN( "one dose is depleted" ) { - CHECK( anticonvulsant.charges == charges_before - 1 ); + THEN( "anticonvulsant was used up" ) { + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_diazepam; + } ) ); AND_THEN( "it cures the shakes" ) { CHECK_FALSE( dummy.has_effect( effect_shakes ) ); @@ -489,12 +510,12 @@ TEST_CASE( "thorazine", "[iuse][thorazine]" ) { avatar dummy; dummy.normalize(); - dummy.set_fatigue( 0 ); - - item thorazine( "thorazine", calendar::turn_zero, item::default_charges_tag{} ); + item_location thorazine = dummy.i_add( item( itype_thorazine, calendar::turn ) ); - int charges_before = thorazine.charges; - REQUIRE( charges_before >= 2 ); + REQUIRE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_thorazine; + } ) ); + dummy.set_fatigue( 0 ); GIVEN( "avatar has hallucination, visuals, and high effects" ) { dummy.add_effect( effect_hallu, 1_hours ); @@ -508,7 +529,9 @@ TEST_CASE( "thorazine", "[iuse][thorazine]" ) dummy.consume( thorazine ); THEN( "it relieves all those effects with a single dose" ) { - CHECK( thorazine.charges == charges_before - 1 ); + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_thorazine; + } ) ); REQUIRE_FALSE( dummy.has_effect( effect_hallu ) ); REQUIRE_FALSE( dummy.has_effect( effect_visuals ) ); REQUIRE_FALSE( dummy.has_effect( effect_high ) ); @@ -521,15 +544,22 @@ TEST_CASE( "thorazine", "[iuse][thorazine]" ) } GIVEN( "avatar has already taken some thorazine" ) { - dummy.consume( thorazine ); - REQUIRE( thorazine.charges == charges_before - 1 ); + item thora( itype_thorazine, calendar::turn ); + dummy.consume( thora ); + + REQUIRE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_thorazine; + } ) ); + REQUIRE( dummy.has_effect( effect_took_thorazine ) ); WHEN( "they take more thorazine" ) { dummy.consume( thorazine ); THEN( "it only causes more fatigue" ) { - CHECK( thorazine.charges == charges_before - 2 ); + CHECK_FALSE( dummy.has_item_with( []( const item & it ) { + return it.typeId() == itype_thorazine; + } ) ); CHECK( dummy.get_fatigue() >= 20 ); } } diff --git a/tests/visitable_remove_test.cpp b/tests/visitable_remove_test.cpp index e47734274d5d4..dd160e7e5b095 100644 --- a/tests/visitable_remove_test.cpp +++ b/tests/visitable_remove_test.cpp @@ -508,12 +508,12 @@ TEST_CASE( "visitable_remove", "[visitable]" ) TEST_CASE( "inventory_remove_invalidates_binning_cache", "[visitable][inventory]" ) { inventory inv; - std::list items = { item( "bone" ) }; + std::list items = { item( itype_bone ) }; inv += items; - CHECK( inv.charges_of( itype_bone ) == 1 ); + CHECK( inv.amount_of( itype_bone ) == 1 ); inv.remove_items_with( return_true ); CHECK( inv.size() == 0 ); // The following used to be a heap use-after-free due to a caching bug. // Now should be safe. - CHECK( inv.charges_of( itype_bone ) == 0 ); + CHECK( inv.amount_of( itype_bone ) == 0 ); } From 801394bf8610f14f5ba90eac586cb5c65e746a4b Mon Sep 17 00:00:00 2001 From: mqrause Date: Sun, 12 Mar 2023 00:03:31 +0100 Subject: [PATCH 02/13] enforce proper charge definitions --- data/json/items/chemicals_and_resources.json | 21 +++++++++ data/json/items/comestibles/alcohol.json | 27 +++++++++++ data/json/items/comestibles/brewing.json | 4 ++ data/json/items/comestibles/carnivore.json | 6 +++ data/json/items/comestibles/dairy.json | 6 +++ data/json/items/comestibles/drink.json | 45 +++++++++++++++++++ data/json/items/comestibles/egg.json | 2 + data/json/items/comestibles/fruit_dishes.json | 4 ++ data/json/items/comestibles/med.json | 3 ++ data/json/items/comestibles/mutagen.json | 2 + data/json/items/comestibles/other.json | 2 + data/json/items/comestibles/protein.json | 2 + data/json/items/comestibles/soup.json | 4 ++ .../items/comestibles/medicine.json | 1 + .../crafting_scrap/heat_transfer_scrap.json | 1 + data/mods/Magiclysm/items/alchemy_items.json | 1 + .../items/caster_level_boosters.json | 1 + data/mods/Magiclysm/items/comestibles.json | 1 + data/mods/Magiclysm/items/fuel.json | 1 + data/mods/MindOverMatter/items/chemicals.json | 1 + .../MindOverMatter/items/comestibles.json | 7 +++ data/mods/MindOverMatter/items/medical.json | 2 + .../My_Sweet_Cataclysm/sweet_comestibles.json | 1 + data/mods/TEST_DATA/items.json | 2 + data/mods/Xedra_Evolved/items/alchemy.json | 1 + .../Xedra_Evolved/items/comestibles/med.json | 1 + src/item.cpp | 8 +++- src/item_factory.cpp | 6 +++ src/itype.h | 2 +- 29 files changed, 162 insertions(+), 3 deletions(-) diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index faf0a0eed9954..f13b1813246e0 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -441,6 +441,7 @@ "price": 0, "price_postapoc": 0, "volume": "250 ml", + "charges": 1, "phase": "liquid", "category": "chems", "freezing_point": -2, @@ -463,6 +464,7 @@ "price": 0, "price_postapoc": 0, "volume": "250 ml", + "charges": 1, "phase": "liquid", "category": "chems", "freezing_point": -2, @@ -483,6 +485,7 @@ "price": 0, "price_postapoc": 0, "volume": "250 ml", + "charges": 1, "phase": "liquid", "category": "chems", "fun": -20 @@ -675,6 +678,7 @@ "comestible_type": "INVALID", "volume": "250 ml", "weight": "460 g", + "charges": 1, "phase": "liquid", "container": "bottle_glass", "freezing_point": -36, @@ -694,6 +698,7 @@ "comestible_type": "INVALID", "volume": "250 ml", "weight": "460 g", + "charges": 1, "phase": "liquid", "container": "bottle_glass", "freezing_point": -50, @@ -729,6 +734,7 @@ "comestible_type": "INVALID", "volume": "250 ml", "weight": "375 g", + "charges": 1, "phase": "liquid", "container": "bottle_glass", "freezing_point": -42, @@ -1315,6 +1321,7 @@ "description": "Turbid liquid from the sewers with an awful stench.", "comestible_type": "INVALID", "volume": "250 ml", + "charges": 1, "phase": "liquid", "category": "chems" }, @@ -1369,6 +1376,7 @@ "price": 100, "price_postapoc": 100, "volume": "250 ml", + "charges": 1, "phase": "liquid", "category": "chems", "fun": -20 @@ -1389,6 +1397,7 @@ "price": 100, "price_postapoc": 100, "volume": "250 ml", + "charges": 1, "phase": "liquid", "category": "chems", "fun": -20 @@ -1460,6 +1469,7 @@ "description": "A useful industrial solvent, and the first inhalative anesthetic in widespread use. Its uncomfortable side effects and tendency to explode caused it to fall out of favor decades ago in the developed world. If you can't get the good stuff, however, it might make a passable substitute.", "comestible_type": "INVALID", "volume": "1 ml", + "charges": 1, "//": "0.7134 g/cm3", "weight": "713 mg", "phase": "liquid" @@ -1480,6 +1490,7 @@ "description": "Dimethyl sulfoxide, or DMSO, is a common and important aprotic solvent, capable of dissolving a huge range of things. It has the unusual property of being absorbed very quickly through the skin, causing a garlic flavor in the mouth, even if it touched your arm.", "comestible_type": "INVALID", "volume": "1 ml", + "charges": 1, "//": "1.1004 g/cm3", "weight": "1100 mg", "phase": "liquid" @@ -1500,6 +1511,7 @@ "description": "Famous for its properties as an illicit sedative, this substance is also a very good solvent. In particular, it's used a lot in nuclear magnetic resonance spectroscopy.", "comestible_type": "INVALID", "volume": "1 ml", + "charges": 1, "//": "1.489 g/cm3 at 25C", "weight": "1489 mg", "phase": "liquid" @@ -1520,6 +1532,7 @@ "description": "A useful and potent solvent with a wide range of reactive applications. It can be used to make a huge number of plastics and polymers, it can be an antiseptic, it can strip paint and break down epoxy, and it can burn your skin away like tissue paper under a heat gun. Wear gloves.", "comestible_type": "INVALID", "volume": "1 ml", + "charges": 1, "//": "1.07 g/cm3", "weight": "1070 mg", "phase": "liquid" @@ -1539,6 +1552,7 @@ "material": [ "oil" ], "volume": "1 ml", "weight": "877 mg", + "charges": 1, "phase": "liquid", "freezing_point": 5, "flags": [ "INEDIBLE" ] @@ -1558,6 +1572,7 @@ "material": [ "oil" ], "volume": "1 ml", "weight": "870 mg", + "charges": 1, "phase": "liquid", "freezing_point": -95, "flags": [ "INEDIBLE" ] @@ -1578,6 +1593,7 @@ "comestible_type": "INVALID", "volume": "15 ml", "weight": "20 g", + "charges": 1, "phase": "liquid" }, { @@ -1770,6 +1786,7 @@ "material": [ "hydrocarbons" ], "symbol": "=", "color": "red", + "charges": 1, "stack_size": 100, "phase": "liquid", "explode_in_fire": true, @@ -1788,6 +1805,7 @@ "price_postapoc": 10, "symbol": "=", "color": "white", + "charges": 1, "stack_size": 100, "phase": "liquid", "explode_in_fire": true, @@ -1806,6 +1824,7 @@ "price_postapoc": 10, "symbol": "=", "color": "white", + "charges": 1, "stack_size": 100, "phase": "liquid", "looks_like": "milk" @@ -1957,6 +1976,7 @@ "use_action": [ "POISON", "BLECH" ], "fatigue_mod": -20, "volume": "50 ml", + "charges": 1, "quench": -99, "healthy": -20, "fun": -99, @@ -2081,6 +2101,7 @@ "color": "green", "description": "Blood mixed with acidic compounds, smells putrid, a means of refining this could net some useful chemicals.", "comestible_type": "INVALID", + "charges": 1, "delete": { "ammo_type": "components" }, "flags": [ "DROP_ACTION_ONLY_IF_LIQUID" ], "drop_action": { "type": "emit_actor", "emits": [ "emit_acid_drop" ], "scale_qty": true } diff --git a/data/json/items/comestibles/alcohol.json b/data/json/items/comestibles/alcohol.json index 977b3395fcaf0..52c13dd536624 100644 --- a/data/json/items/comestibles/alcohol.json +++ b/data/json/items/comestibles/alcohol.json @@ -246,6 +246,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -559,6 +560,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NUTRIENT_OVERRIDE", "NO_AUTO_CONSUME" ], "freezing_point": -30, @@ -643,6 +645,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -672,6 +675,7 @@ "material": [ "alcohol", "water", "milk" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": 20, "flags": [ "EATEN_HOT", "NO_AUTO_CONSUME" ] @@ -699,6 +703,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": 20, "flags": [ "EATEN_HOT", "NO_AUTO_CONSUME" ] @@ -726,6 +731,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": 20, "flags": [ "EATEN_HOT", "NO_AUTO_CONSUME" ] @@ -753,6 +759,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "//": "Includes cola, so presumed to be a 250mL cocktail like the others.", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], @@ -782,6 +789,7 @@ "material": [ "alcohol", "fruit" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -34, @@ -810,6 +818,7 @@ "material": [ "alcohol", "fruit" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -34, @@ -843,6 +852,7 @@ "material": [ "alcohol", "junk" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -30, @@ -872,6 +882,7 @@ "material": [ "alcohol", "water", "junk" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -6, @@ -905,6 +916,7 @@ "material": [ "fruit", "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -6, @@ -939,6 +951,7 @@ "material": [ "fruit", "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -6, @@ -967,6 +980,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1134,6 +1148,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1192,6 +1207,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1221,6 +1237,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1250,6 +1267,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1279,6 +1297,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "freezing_point": -5, "fun": 14, @@ -1308,6 +1327,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1337,6 +1357,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": 18, "vitamins": [ [ "calcium", 1 ], [ "iron", 1 ] ], @@ -1588,6 +1609,7 @@ "material": [ "alcohol", "honey" ], "primary_material": "alcohol", "volume": "500 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -30, @@ -1616,6 +1638,7 @@ "price_postapoc": 250, "material": [ "alcohol" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -30, @@ -1758,6 +1781,7 @@ "material": [ "alcohol", "tomato" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -34, @@ -1787,6 +1811,7 @@ "material": [ "alcohol", "blood" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -34, @@ -1815,6 +1840,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, @@ -1844,6 +1870,7 @@ "material": [ "alcohol", "water" ], "primary_material": "alcohol", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "freezing_point": -5, diff --git a/data/json/items/comestibles/brewing.json b/data/json/items/comestibles/brewing.json index 513553acb54f4..d83e75eb97943 100644 --- a/data/json/items/comestibles/brewing.json +++ b/data/json/items/comestibles/brewing.json @@ -456,6 +456,7 @@ "fun": -20, "price": 0, "volume": "250 ml", + "charges": 1, "price_postapoc": 10, "phase": "liquid", "comestible_type": "DRINK", @@ -478,6 +479,7 @@ "fun": -10, "price": 0, "volume": "250 ml", + "charges": 1, "price_postapoc": 10, "phase": "liquid", "comestible_type": "DRINK", @@ -551,6 +553,7 @@ "price": 10, "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "price_postapoc": 10, "phase": "liquid", "fun": -12, @@ -718,6 +721,7 @@ "price": 20, "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "price_postapoc": 20, "phase": "liquid", "fun": -12, diff --git a/data/json/items/comestibles/carnivore.json b/data/json/items/comestibles/carnivore.json index 33d05d275c80c..b9d3081371693 100644 --- a/data/json/items/comestibles/carnivore.json +++ b/data/json/items/comestibles/carnivore.json @@ -249,6 +249,7 @@ "comestible_type": "DRINK", "looks_like": "blood", "symbol": "~", + "charges": 1, "phase": "liquid", "delete": { "flags": [ "SMOKABLE" ] } }, @@ -379,6 +380,7 @@ "looks_like": "blood", "symbol": "~", "material": "blood", + "charges": 1, "phase": "liquid", "delete": { "flags": [ "SMOKABLE" ] } }, @@ -414,6 +416,7 @@ "looks_like": "blood", "symbol": "~", "material": "hblood", + "charges": 1, "phase": "liquid", "delete": { "flags": [ "SMOKABLE" ] } }, @@ -1272,6 +1275,7 @@ "price": 0, "material": [ "hblood" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "delete": { "flags": [ "SMOKABLE" ] } }, @@ -1443,6 +1447,7 @@ "looks_like": "blood", "symbol": "~", "material": "blood", + "charges": 1, "phase": "liquid", "delete": { "flags": [ "SMOKABLE" ] } }, @@ -1848,6 +1853,7 @@ "looks_like": "blood", "symbol": "~", "material": "blood", + "charges": 1, "phase": "liquid", "delete": { "flags": [ "SMOKABLE" ] } }, diff --git a/data/json/items/comestibles/dairy.json b/data/json/items/comestibles/dairy.json index 1eb20dd82ec1d..dcbe34e1b1deb 100644 --- a/data/json/items/comestibles/dairy.json +++ b/data/json/items/comestibles/dairy.json @@ -17,6 +17,7 @@ "//": "A 12-charge gallon currently goes for around US$4.", "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 4 ], [ "calcium", 25 ] ], @@ -106,6 +107,7 @@ "price_postapoc": 100, "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EDIBLE_FROZEN" ], "fun": 15, @@ -161,6 +163,7 @@ "price": 420, "price_postapoc": 50, "material": [ "oil" ], + "charges": 1, "phase": "liquid", "flags": "ANIMAL_PRODUCT" }, @@ -180,6 +183,7 @@ "price_postapoc": 250, "material": [ "milk", "junk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EDIBLE_FROZEN" ], "fun": 20, @@ -202,6 +206,7 @@ "price_postapoc": 10, "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": -12 }, @@ -469,6 +474,7 @@ "looks_like": "milk", "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "vitamins": [ [ "calcium", 7 ] ], "flags": [ "NUTRIENT_OVERRIDE" ], diff --git a/data/json/items/comestibles/drink.json b/data/json/items/comestibles/drink.json index 29c45158215e0..968b376d57674 100644 --- a/data/json/items/comestibles/drink.json +++ b/data/json/items/comestibles/drink.json @@ -17,6 +17,7 @@ "material": [ "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 167 ], [ "calcium", 1 ], [ "iron", 1 ] ], @@ -40,6 +41,7 @@ "price_postapoc": 50, "material": [ "water", "nut" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "vitamins": [ [ "calcium", 11 ] ], "flags": [ "EATEN_COLD" ], @@ -63,6 +65,7 @@ "price_postapoc": 50, "material": [ "water", "veggy" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "vitamins": [ [ "iron", 1 ], [ "calcium", 7 ] ], "flags": [ "EATEN_COLD" ], @@ -163,6 +166,7 @@ "price_postapoc": 50, "material": [ "milk", "water" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT" ], "fun": 14 @@ -206,6 +210,7 @@ "price_postapoc": 50, "material": [ "junk", "milk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 8 ], [ "calcium", 18 ], [ "iron", 4 ] ], @@ -231,6 +236,7 @@ "price_postapoc": 50, "material": [ "water" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT", "NO_AUTO_CONSUME" ], "fun": 6 @@ -252,6 +258,7 @@ "price_postapoc": 25, "material": [ "water" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE", "NO_AUTO_CONSUME" ], "fun": -5 @@ -311,6 +318,7 @@ "price": 125, "price_postapoc": 25, "volume": "250 ml", + "charges": 1, "material": [ "water" ], "phase": "liquid", "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], @@ -339,6 +347,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "fun": 5 @@ -366,6 +375,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "fun": 5 @@ -393,6 +403,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "fun": 5 @@ -415,6 +426,7 @@ "material": [ "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 131 ], [ "calcium", 3 ], [ "iron", 1 ] ], @@ -438,6 +450,7 @@ "material": [ "junk", "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 60 ] ], @@ -458,6 +471,7 @@ "price": 50, "price_postapoc": 25, "volume": "250 ml", + "charges": 1, "material": [ "water" ], "phase": "liquid", "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], @@ -478,6 +492,7 @@ "price": 50, "price_postapoc": 25, "volume": "250 ml", + "charges": 1, "material": [ "water" ], "phase": "liquid", "flags": [ "EATEN_HOT" ], @@ -530,6 +545,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "vitamins": [ [ "vitC", 105 ] ], @@ -568,6 +584,7 @@ "price": 100, "price_postapoc": 25, "volume": "250 ml", + "charges": 1, "material": [ "water" ], "phase": "liquid", "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], @@ -582,6 +599,7 @@ "description": "Also known as hot cocoa, this heated chocolate beverage is perfect for a cold winter day.", "weight": "257 g", "volume": "250 ml", + "charges": 1, "price": 285, "price_postapoc": 50, "phase": "liquid", @@ -607,6 +625,7 @@ "description": "A sugary drink from Central America infused with rice, milk, and cinnamon.", "weight": "237 g", "volume": "250 ml", + "charges": 1, "price": 250, "price_postapoc": 75, "phase": "liquid", @@ -725,6 +744,7 @@ "material": [ "fruit", "water" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 16 ], [ "calcium", 2 ], [ "iron", 3 ] ], @@ -749,6 +769,7 @@ "material": [ "water", "tomato" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 12, @@ -773,6 +794,7 @@ "material": [ "junk", "water" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 12 @@ -800,6 +822,7 @@ "material": [ "junk", "water" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 12 @@ -857,6 +880,7 @@ "material": [ "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 25 ] ], @@ -880,6 +904,7 @@ "material": [ "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 16 ], [ "iron", 2 ] ], @@ -904,6 +929,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 5 @@ -931,6 +957,7 @@ "description": "This semi-bitter chocolate drink made from cocoa, cinnamon, and chilies traces its history to the Maya and Aztecs. Perfect for a cold winter day.", "weight": "263 g", "volume": "250 ml", + "charges": 1, "price": 335, "price_postapoc": 50, "phase": "liquid", @@ -1024,6 +1051,7 @@ "material": [ "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "//": "most store-bought oj is fortified with calcium.", @@ -1049,6 +1077,7 @@ "material": [ "fruit" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 83 ], [ "calcium", 1 ], [ "iron", 1 ] ], @@ -1073,6 +1102,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 5 @@ -1091,6 +1121,7 @@ "price": 0, "price_postapoc": 25, "volume": "250 ml", + "charges": 1, "calories": 1, "material": [ "water" ], "phase": "liquid", @@ -1118,6 +1149,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 50 ], [ "calcium", 3 ] ], @@ -1143,6 +1175,7 @@ "material": [ "water", "mushroom" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "MYCUS_OK", "NUTRIENT_OVERRIDE" ], "vitamins": [ [ "vitC", 20 ], [ "calcium", 20 ], [ "iron", 16 ] ], @@ -1167,6 +1200,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 3 @@ -1191,6 +1225,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 3 @@ -1211,6 +1246,7 @@ "description": "A carbonated soft drink which contains quinine, giving it a bitter flavor. Originally used as a prophylactic against malaria, this modern variant is unsuitable for this purpose as it contains much less quinine and is also sweetened.", "price": 50, "volume": "250 ml", + "charges": 1, "material": [ "water", "junk" ], "primary_material": "water", "phase": "liquid", @@ -1239,6 +1275,7 @@ "material": [ "junk" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "fun": 6 @@ -1260,6 +1297,7 @@ "price_postapoc": 50, "material": [ "water", "junk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 1, @@ -1303,6 +1341,7 @@ "material": [ "water" ], "flags": [ "EATEN_COLD" ], "volume": "250 ml", + "charges": 1, "looks_like": "sports_drink", "phase": "liquid", "fun": -1 @@ -1324,6 +1363,7 @@ "price_postapoc": 10, "material": [ { "type": "water", "portion": 833 }, { "type": "junk", "portion": 167 } ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": 2, "freezing_point": -5 @@ -1346,6 +1386,7 @@ "price": 90, "price_postapoc": 25, "volume": "250 ml", + "charges": 1, "material": [ "water" ], "phase": "liquid", "flags": [ "EATEN_HOT" ], @@ -1382,6 +1423,7 @@ "price": 1250, "price_postapoc": 25, "volume": "500 ml", + "charges": 1, "material": [ "water" ], "phase": "liquid", "flags": [ "EATEN_HOT", "NO_AUTO_CONSUME" ], @@ -1406,6 +1448,7 @@ "material": [ "veggy" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 1, @@ -1421,6 +1464,7 @@ "material": [ "water" ], "weight": "250 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -1554,6 +1598,7 @@ "material": [ "tomato" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 120 ], [ "calcium", 2 ], [ "iron", 2 ] ], diff --git a/data/json/items/comestibles/egg.json b/data/json/items/comestibles/egg.json index 9cb78f1a8c045..fec3e01205df0 100644 --- a/data/json/items/comestibles/egg.json +++ b/data/json/items/comestibles/egg.json @@ -1003,6 +1003,8 @@ "description": "Roe in the process of becoming fully cured with salt, capable of becoming homemade caviar. The flavor is slowly developing at this stage, and is currently significantly unpleasant due to the residual salt. Activate it once completed to make use of the final product.", "weight": "96 g", "volume": "500ml", + "charges": 1, + "stack_size": 4, "calories": 68, "price": 500, "price_postapoc": 250, diff --git a/data/json/items/comestibles/fruit_dishes.json b/data/json/items/comestibles/fruit_dishes.json index 1093875263d5a..d9b85fadfad04 100644 --- a/data/json/items/comestibles/fruit_dishes.json +++ b/data/json/items/comestibles/fruit_dishes.json @@ -14,6 +14,7 @@ "price_postapoc": 50, "//": "Cheap for three liters of spread!", "material": [ "fruit" ], + "charges": 1, "phase": "liquid", "fun": 2, "flags": [ "USE_EAT_VERB", "EATEN_COLD" ] @@ -88,6 +89,7 @@ "price": 50, "price_postapoc": 50, "material": [ "fruit" ], + "charges": 1, "phase": "liquid", "fun": 3, "flags": [ "USE_EAT_VERB", "EATEN_COLD" ] @@ -206,6 +208,7 @@ "price_postapoc": 50, "material": [ "fruit" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "fun": 2, "//": "this item is intended to generally be inherited from the fruit that was cooked.", @@ -601,6 +604,7 @@ "addiction_potential": 5, "material": [ "fruit", "alcohol" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "sealed": true, "fun": 9, diff --git a/data/json/items/comestibles/med.json b/data/json/items/comestibles/med.json index b6e21fb320e28..41f09dcc57f98 100644 --- a/data/json/items/comestibles/med.json +++ b/data/json/items/comestibles/med.json @@ -886,6 +886,7 @@ "description": "An ointment infused with wintergreen oil. Has mild antiseptic properties, and can ease the pain caused by wounds.", "weight": "40 g", "volume": "250 ml", + "charges": 1, "price": 0, "price_postapoc": 50, "material": [ "oil" ], @@ -912,6 +913,7 @@ "description": "Some essential oil made from mugwort, which may kill parasites when ingested. Consume it with water!", "weight": "40 g", "volume": "250 ml", + "charges": 1, "price": 0, "price_postapoc": 50, "material": [ "oil" ], @@ -1222,6 +1224,7 @@ "description": "Some essential oil made from thyme, which can act as a mildly irritating antiseptic.", "weight": "40 g", "volume": "250 ml", + "charges": 1, "price": 0, "price_postapoc": 50, "material": [ "oil" ], diff --git a/data/json/items/comestibles/mutagen.json b/data/json/items/comestibles/mutagen.json index 7288224eea572..ba8be0408d1f4 100644 --- a/data/json/items/comestibles/mutagen.json +++ b/data/json/items/comestibles/mutagen.json @@ -11,6 +11,7 @@ "category": "mutagen", "weight": "250 g", "volume": "250 ml", + "charges": 1, "phase": "liquid", "container": "flask_glass", "symbol": "~", @@ -831,6 +832,7 @@ "comestible_type": "MED", "weight": "10 g", "volume": "10 ml", + "charges": 1, "phase": "liquid", "container": "test_tube", "symbol": "?", diff --git a/data/json/items/comestibles/other.json b/data/json/items/comestibles/other.json index 6b340c661cf4c..a71a1ce406d08 100644 --- a/data/json/items/comestibles/other.json +++ b/data/json/items/comestibles/other.json @@ -1038,6 +1038,7 @@ "fun": -10, "price": 0, "volume": "10L", + "charges": 1, "price_postapoc": 10, "phase": "liquid", "comestible_type": "DRINK", @@ -1058,6 +1059,7 @@ "fun": -10, "price": 0, "volume": "10L", + "charges": 1, "price_postapoc": 10, "phase": "liquid", "comestible_type": "DRINK", diff --git a/data/json/items/comestibles/protein.json b/data/json/items/comestibles/protein.json index 3c6096110fe9c..14395032135f2 100644 --- a/data/json/items/comestibles/protein.json +++ b/data/json/items/comestibles/protein.json @@ -12,6 +12,7 @@ "description": "A thin slurry of refined protein mixed with water. While quite nutritious, it is not particularly tasty.", "weight": "278 g", "volume": "250 ml", + "charges": 1, "price": 200, "price_postapoc": 25, "symbol": "~", @@ -120,6 +121,7 @@ "description": "Milk enriched with protein powder, it's extra healthy and doesn't taste too bad.", "weight": "286 g", "volume": "250 ml", + "charges": 1, "price": 300, "price_postapoc": 75, "symbol": "~", diff --git a/data/json/items/comestibles/soup.json b/data/json/items/comestibles/soup.json index 30d19e044ddfd..036f63e4b6175 100644 --- a/data/json/items/comestibles/soup.json +++ b/data/json/items/comestibles/soup.json @@ -94,6 +94,7 @@ "price_postapoc": 25, "material": [ "veggy" ], "volume": "500 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT", "USE_EAT_VERB" ], "vitamins": [ [ "vitC", 4 ], [ "calcium", 1 ], [ "iron", 5 ] ], @@ -396,6 +397,7 @@ "sealed": true, "material": [ "tomato" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT", "USE_EAT_VERB" ], "vitamins": [ [ "vitC", 10 ], [ "calcium", 1 ], [ "iron", 4 ] ], @@ -492,6 +494,7 @@ "price_postapoc": 40, "material": [ "flesh", "wheat" ], "volume": "170 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT", "USE_EAT_VERB" ], "vitamins": [ [ "iron", 2 ] ], @@ -537,6 +540,7 @@ "price_postapoc": 40, "material": [ "veggy", "wheat" ], "volume": "170 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_HOT", "USE_EAT_VERB" ], "vitamins": [ [ "iron", 2 ] ], diff --git a/data/mods/Aftershock/items/comestibles/medicine.json b/data/mods/Aftershock/items/comestibles/medicine.json index d5d41d6b43d6d..7145bc062269a 100644 --- a/data/mods/Aftershock/items/comestibles/medicine.json +++ b/data/mods/Aftershock/items/comestibles/medicine.json @@ -14,6 +14,7 @@ "description": "A chalk white blood analogue for emergency medical use. Far more efficient at oxygenation than natural blood, it can also be used as a general performance enhancer. Once injected, it will be metabolized or otherwise expunged from the the body in around 8 hours.", "material": [ "blood" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "healthy": -1, "fun": -10, diff --git a/data/mods/Aftershock/items/crafting_scrap/heat_transfer_scrap.json b/data/mods/Aftershock/items/crafting_scrap/heat_transfer_scrap.json index f72be17baf523..6a03e17bc607b 100644 --- a/data/mods/Aftershock/items/crafting_scrap/heat_transfer_scrap.json +++ b/data/mods/Aftershock/items/crafting_scrap/heat_transfer_scrap.json @@ -20,6 +20,7 @@ "color": "black", "weight": "283 g", "volume": "250 ml", + "charges": 1, "phase": "liquid", "price": 5000, "price_postapoc": 10000, diff --git a/data/mods/Magiclysm/items/alchemy_items.json b/data/mods/Magiclysm/items/alchemy_items.json index 49c727eeb9305..16d658ee84876 100644 --- a/data/mods/Magiclysm/items/alchemy_items.json +++ b/data/mods/Magiclysm/items/alchemy_items.json @@ -79,6 +79,7 @@ "type": "COMESTIBLE", "comestible_type": "DRINK", "name": "superior potion starter", + "charges": 1, "description": "Pure ethanol saturated with magical energy. The sheer power concentrated within causes the surface of the potion to ripple continuously." }, { diff --git a/data/mods/Magiclysm/items/caster_level_boosters.json b/data/mods/Magiclysm/items/caster_level_boosters.json index 8b1bf7593e510..d37ad5d4a112f 100644 --- a/data/mods/Magiclysm/items/caster_level_boosters.json +++ b/data/mods/Magiclysm/items/caster_level_boosters.json @@ -361,6 +361,7 @@ "description": "A thick purple liquid that is filled to the brim with arcane energy. With the right tool, it can be used to boost your biomancer caster level.", "weight": "265 g", "volume": "250 ml", + "charges": 1, "price": 0, "symbol": "~", "color": "pink", diff --git a/data/mods/Magiclysm/items/comestibles.json b/data/mods/Magiclysm/items/comestibles.json index 62de68629f082..7af6182e823c4 100644 --- a/data/mods/Magiclysm/items/comestibles.json +++ b/data/mods/Magiclysm/items/comestibles.json @@ -38,6 +38,7 @@ "name": "owlbear egg yolk", "copy-from": "egg_chicken", "phase": "liquid", + "charges": 1, "healthy": 3, "color": "yellow", "description": "The liquid innards of an owlbear egg. Good eating." diff --git a/data/mods/Magiclysm/items/fuel.json b/data/mods/Magiclysm/items/fuel.json index 516bbe219f670..a4d471935dbde 100644 --- a/data/mods/Magiclysm/items/fuel.json +++ b/data/mods/Magiclysm/items/fuel.json @@ -46,6 +46,7 @@ "description": "Blood that is filled to the brim with arcane energy. It releases a faint blue glow.", "weight": "265 g", "volume": "250 ml", + "charges": 1, "price": 0, "symbol": "~", "color": "light_blue", diff --git a/data/mods/MindOverMatter/items/chemicals.json b/data/mods/MindOverMatter/items/chemicals.json index d7e87f9af3df9..8571ed28b3c30 100644 --- a/data/mods/MindOverMatter/items/chemicals.json +++ b/data/mods/MindOverMatter/items/chemicals.json @@ -8,6 +8,7 @@ "material": [ "alien_liquid", "nether_crystal", "water" ], "weight": "30 g", "volume": "25 ml", + "charges": 1, "phase": "liquid", "price": 10, "price_postapoc": 1, diff --git a/data/mods/MindOverMatter/items/comestibles.json b/data/mods/MindOverMatter/items/comestibles.json index d6df890cea1b1..94498725dc357 100644 --- a/data/mods/MindOverMatter/items/comestibles.json +++ b/data/mods/MindOverMatter/items/comestibles.json @@ -8,6 +8,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -33,6 +34,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -58,6 +60,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -83,6 +86,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -108,6 +112,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -133,6 +138,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", @@ -158,6 +164,7 @@ "material": [ "water" ], "weight": "255 g", "volume": "250 ml", + "charges": 1, "price": 50, "price_postapoc": 1, "symbol": "~", diff --git a/data/mods/MindOverMatter/items/medical.json b/data/mods/MindOverMatter/items/medical.json index 62a3140b52c9d..28a869ec8cc62 100644 --- a/data/mods/MindOverMatter/items/medical.json +++ b/data/mods/MindOverMatter/items/medical.json @@ -30,6 +30,7 @@ "description": "A faintly-glowing green liquid, the document you found told you that this would \"restore your morphology to baseline\", whatever that means.", "weight": "20 g", "volume": "10ml", + "charges": 1, "price": 1200000, "price_postapoc": 3000, "material": [ "nether_crystal", "alien_liquid" ], @@ -50,6 +51,7 @@ "description": "A clear liquid, designed to alleviate some of the deleterious effects of excessive psionic channeling.", "weight": "20 g", "volume": "10ml", + "charges": 1, "price": 1200000, "price_postapoc": 3000, "material": [ "nether_crystal", "alien_liquid" ], diff --git a/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json b/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json index 6906f43a6b9f6..847258129285e 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json @@ -184,6 +184,7 @@ "price_postapoc": 5, "material": [ "junk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": -4 diff --git a/data/mods/TEST_DATA/items.json b/data/mods/TEST_DATA/items.json index bf637ad67b98d..4333a5d7a397c 100644 --- a/data/mods/TEST_DATA/items.json +++ b/data/mods/TEST_DATA/items.json @@ -2437,6 +2437,7 @@ "phase": "liquid", "weight": "250 g", "volume": "250 ml", + "charges": 1, "price": 50, "symbol": "~", "color": "light_blue" @@ -2650,6 +2651,7 @@ "price_postapoc": 50, "material": [ "milk" ], "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "vitamins": [ [ "vitC", 4 ], [ "calcium", 25 ] ], diff --git a/data/mods/Xedra_Evolved/items/alchemy.json b/data/mods/Xedra_Evolved/items/alchemy.json index 5d553a3401059..e32f57e45adcb 100644 --- a/data/mods/Xedra_Evolved/items/alchemy.json +++ b/data/mods/Xedra_Evolved/items/alchemy.json @@ -22,6 +22,7 @@ "material": [ "alcohol" ], "primary_material": "water", "volume": "250 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ], "use_action": { "type": "cast_spell", "spell_id": "blackout_rage_drink", "no_fail": true, "level": 0 }, diff --git a/data/mods/Xedra_Evolved/items/comestibles/med.json b/data/mods/Xedra_Evolved/items/comestibles/med.json index 7233f79635d97..c15b5ae68c1bf 100644 --- a/data/mods/Xedra_Evolved/items/comestibles/med.json +++ b/data/mods/Xedra_Evolved/items/comestibles/med.json @@ -59,6 +59,7 @@ "category": "mutagen", "weight": "250 g", "volume": "250 ml", + "charges": 1, "phase": "liquid", "container": "flask_glass", "symbol": "~", diff --git a/src/item.cpp b/src/item.cpp index e8a2f695a55e0..009220c741726 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -7203,7 +7203,7 @@ units::volume item::base_volume() const return ret; } - if( count_by_charges() ) { + if( count_by_charges() && type->stack_size > 0 ) { if( type->volume % type->stack_size == 0_ml ) { return type->volume / type->stack_size; } else { @@ -7253,7 +7253,11 @@ units::volume item::volume( bool integral, bool ignore_contents, int charges_in_ units::quantity num = ret * static_cast ( charges_in_vol ); if( type->stack_size <= 0 ) { - debugmsg( "Item type %s has invalid stack_size %d", typeId().str(), type->stack_size ); + if( type->charges_default() <= 0 ) { + debugmsg( "Item type %s has invalid default charges %d", typeId().str(), type->charges_default() ); + } else { + debugmsg( "Item type %s has invalid stack_size %d", typeId().str(), type->stack_size ); + } ret = num; } else { ret = num / type->stack_size; diff --git a/src/item_factory.cpp b/src/item_factory.cpp index f5bf92dcd73cb..13864fa0bcb11 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -2027,6 +2027,12 @@ void Item_factory::check_definitions() const } } + if( !type->can_have_charges() && type->charges_default() > 0 ) { + msg += "charges defined but can not have any\n"; + } else if( type->comestible && type->can_have_charges() && type->charges_default() <= 0 ) { + msg += "charges expected but not defined or <= 0\n"; + } + if( type->weight < 0_gram ) { msg += "negative weight\n"; } diff --git a/src/itype.h b/src/itype.h index 7b7d79c03b343..d66b2cb0a186b 100644 --- a/src/itype.h +++ b/src/itype.h @@ -124,7 +124,7 @@ struct islot_comestible { itype_id tool = itype_id::NULL_ID(); /** Defaults # of charges (drugs, loaf of bread? etc) */ - int def_charges = 1; + int def_charges = 0; /** effect on character thirst (may be negative) */ int quench = 0; From 2741ea4dc766bbb521c9deb196f71ce0c999f825 Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 5 Dec 2022 20:12:55 +0100 Subject: [PATCH 03/13] adjust iuse_transform --- src/iuse_actor.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/iuse_actor.cpp b/src/iuse_actor.cpp index 5dbefcb27998a..ba16a04545e43 100644 --- a/src/iuse_actor.cpp +++ b/src/iuse_actor.cpp @@ -336,11 +336,19 @@ void iuse_transform::do_transform( Character *p, item &it ) const } } } else { - it.convert( container ); - obj_it = item( target, calendar::turn, std::max( ammo_qty, 1 ) ); - obj = &obj_it; - if( !it.put_in( *obj, item_pocket::pocket_type::CONTAINER ).success() ) { - it.put_in( *obj, item_pocket::pocket_type::MIGRATION ); + obj = &it.convert( container ); + int count = std::max( ammo_qty, 1 ); + item cont; + if( target->count_by_charges() ) { + cont = item( target, calendar::turn, count ); + count = 1; + } else { + cont = item( target, calendar::turn ); + } + for( int i = 0; i < count; i++ ) { + if( !it.put_in( cont, item_pocket::pocket_type::CONTAINER ).success() ) { + it.put_in( cont, item_pocket::pocket_type::MIGRATION ); + } } if( sealed ) { it.seal(); @@ -410,11 +418,8 @@ void iuse_transform::finalize( const itype_id & ) debugmsg( "Invalid transform container: %s", container.c_str() ); } - item dummy( target ); - if( ammo_qty > 1 && !dummy.count_by_charges() ) { - debugmsg( "Transform target with container must be an item with charges, got non-charged: %s", - target.c_str() ); - } + // todo: check contents fit container? + // transform uses migration pocket if not } } From f5489e48a0291384944dd9a377c65eff8dd10099 Mon Sep 17 00:00:00 2001 From: mqrause Date: Tue, 9 May 2023 20:08:26 +0200 Subject: [PATCH 04/13] overflow items before consuming/using them to avoid removing items with migrated charges in their migration pocket --- src/activity_handlers.cpp | 6 ++++-- src/avatar_action.cpp | 7 +++++-- src/avatar_action.h | 4 ++-- src/handle_action.cpp | 12 ++++++++---- src/item_pocket.cpp | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index bc53593d90233..92d017da4c40e 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -2636,13 +2636,15 @@ void activity_handlers::eat_menu_do_turn( player_activity *, Character *you ) void activity_handlers::consume_food_menu_do_turn( player_activity *, Character * ) { avatar &player_character = get_avatar(); - avatar_action::eat( player_character, game_menus::inv::consume_food( player_character ) ); + item_location loc = game_menus::inv::consume_food( player_character ); + avatar_action::eat( player_character, loc ); } void activity_handlers::consume_drink_menu_do_turn( player_activity *, Character * ) { avatar &player_character = get_avatar(); - avatar_action::eat( player_character, game_menus::inv::consume_drink( player_character ) ); + item_location loc = game_menus::inv::consume_drink( player_character ); + avatar_action::eat( player_character, loc ); } void activity_handlers::consume_meds_menu_do_turn( player_activity *, Character * ) diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp index 99fb9e8c8c222..7a74abdadabd7 100644 --- a/src/avatar_action.cpp +++ b/src/avatar_action.cpp @@ -912,7 +912,7 @@ bool avatar_action::eat_here( avatar &you ) return false; } -void avatar_action::eat( avatar &you, const item_location &loc ) +void avatar_action::eat( avatar &you, item_location &loc ) { std::string filter; if( !you.activity.str_values.empty() ) { @@ -922,7 +922,7 @@ void avatar_action::eat( avatar &you, const item_location &loc ) you.activity.id() ); } -void avatar_action::eat( avatar &you, const item_location &loc, +void avatar_action::eat( avatar &you, item_location &loc, const std::vector &consume_menu_selections, const std::vector &consume_menu_selected_items, const std::string &consume_menu_filter, @@ -933,6 +933,7 @@ void avatar_action::eat( avatar &you, const item_location &loc, add_msg( _( "Never mind." ) ); return; } + loc.overflow(); you.assign_activity( consume_activity_actor( loc, consume_menu_selections, consume_menu_selected_items, consume_menu_filter, type ) ); you.last_item = item( *loc ).typeId(); @@ -1094,6 +1095,8 @@ void avatar_action::use_item( avatar &you, item_location &loc, std::string const } } + loc.overflow(); + if( loc->is_comestible() && loc->is_frozen_liquid() ) { add_msg( _( "Try as you might, you can't consume frozen liquids." ) ); return; diff --git a/src/avatar_action.h b/src/avatar_action.h index 893e8706e43c2..fe8ad11135f55 100644 --- a/src/avatar_action.h +++ b/src/avatar_action.h @@ -21,8 +21,8 @@ namespace avatar_action { /** Eat food or fuel 'E' (or 'a') */ -void eat( avatar &you, const item_location &loc ); -void eat( avatar &you, const item_location &loc, +void eat( avatar &you, item_location &loc ); +void eat( avatar &you, item_location &loc, const std::vector &consume_menu_selections, const std::vector &consume_menu_selected_items, const std::string &consume_menu_filter, activity_id type ); diff --git a/src/handle_action.cpp b/src/handle_action.cpp index 356685a381011..c8fa0259edb68 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -1748,12 +1748,16 @@ void game::open_consume_item_menu() avatar &player_character = get_avatar(); switch( as_m.ret ) { - case 0: - avatar_action::eat( player_character, game_menus::inv::consume_food( player_character ) ); + case 0: { + item_location loc = game_menus::inv::consume_food( player_character ); + avatar_action::eat( player_character, loc ); break; - case 1: - avatar_action::eat( player_character, game_menus::inv::consume_drink( player_character ) ); + } + case 1: { + item_location loc = game_menus::inv::consume_drink( player_character ); + avatar_action::eat( player_character, loc ); break; + } case 2: avatar_action::eat_or_use( player_character, game_menus::inv::consume_meds( player_character ) ); break; diff --git a/src/item_pocket.cpp b/src/item_pocket.cpp index 0b9aa0068cded..72c826f55aed7 100644 --- a/src/item_pocket.cpp +++ b/src/item_pocket.cpp @@ -1681,7 +1681,7 @@ static void move_to_parent_pocket_recursive( const tripoint &pos, item &it, if( parent_pocket && parent_pocket->can_contain( it ).success() ) { add_msg( m_bad, _( "Your %1$s falls into your %2$s." ), it.display_name(), loc.parent_item()->label( 1 ) ); - loc.parent_pocket()->insert_item( it ); + parent_pocket->insert_item( it ); return; } if( loc.where() == item_location::type::container ) { From 66db31acd8bb90cf90f6e9ebf55819c8f2ffa730 Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 1 May 2023 06:51:11 +0200 Subject: [PATCH 05/13] allow recipe charges for non-charge items --- src/recipe.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/recipe.cpp b/src/recipe.cpp index 438d4c0460590..49d50bb4855c7 100644 --- a/src/recipe.cpp +++ b/src/recipe.cpp @@ -668,10 +668,6 @@ std::string recipe::get_consistency_error() const return "defines invalid result"; } - if( charges && !item::count_by_charges( result_ ) ) { - return "specifies charges but result is not counted by charges"; - } - const auto is_invalid_bp = []( const std::pair &elem ) { return !item::type_is_defined( elem.first ); }; From 7e2cb39917529aa142728c87de21774b2353897f Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 1 May 2023 06:49:47 +0200 Subject: [PATCH 06/13] remove copy-from from spread_peanutbutter --- data/json/items/comestibles/nuts.json | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/data/json/items/comestibles/nuts.json b/data/json/items/comestibles/nuts.json index a4598b354368a..9058e258a1ab3 100644 --- a/data/json/items/comestibles/nuts.json +++ b/data/json/items/comestibles/nuts.json @@ -502,10 +502,21 @@ "//TODO": "make a container called small sealed plastic tub", "container": "can_food", "comestible_type": "FOOD", - "charges": 1, + "color": "brown", + "spoils_in": "180 days", + "price": 195, + "price_postapoc": 1000, + "//": "Two tablespoons per charge.", "phase": "solid", - "copy-from": "peanutbutter", - "delete": { "flags": [ "DRINK" ] } + "volume": "31 ml", + "weight": "50 g", + "primary_material": "junk", + "material": [ "nut", "junk" ], + "quench": -2, + "calories": 190, + "flags": [ "USE_EAT_VERB" ], + "vitamins": [ [ "iron", 6 ] ], + "fun": 2 }, { "type": "COMESTIBLE", From 8e5d30c3f09d960bb7d0b7db0013fc31a468ed17 Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 1 May 2023 07:06:04 +0200 Subject: [PATCH 07/13] fix pickle spawn amount --- data/json/itemgroups/Food/food.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/itemgroups/Food/food.json b/data/json/itemgroups/Food/food.json index e07eb92ae50fd..4938449134c5e 100644 --- a/data/json/itemgroups/Food/food.json +++ b/data/json/itemgroups/Food/food.json @@ -914,7 +914,7 @@ { "item": "soysauce", "prob": 45 }, { "item": "hot_sauce", "prob": 45 }, { "item": "horseradish", "prob": 30 }, - { "item": "pickle", "prob": 40, "charges": 6, "container-item": "jar_glass_sealed" }, + { "item": "pickle", "prob": 40, "charges": 2, "container-item": "jar_glass_sealed" }, { "item": "salt", "prob": 20 }, { "item": "pepper", "prob": 20 }, { "item": "meat_smoked", "prob": 4 }, From d06dc4b80618c37b86a068ea818c4434c4757314 Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 1 May 2023 06:50:17 +0200 Subject: [PATCH 08/13] keep test items stackable --- data/mods/TEST_DATA/container_spawn_test.json | 2 ++ data/mods/TEST_DATA/items.json | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/data/mods/TEST_DATA/container_spawn_test.json b/data/mods/TEST_DATA/container_spawn_test.json index 1bd96b9fcb490..f976d72be5918 100644 --- a/data/mods/TEST_DATA/container_spawn_test.json +++ b/data/mods/TEST_DATA/container_spawn_test.json @@ -96,6 +96,7 @@ "type": "COMESTIBLE", "comestible_type": "FOOD", "charges": 4, + "stackable": true, "name": "test item with charges", "volume": "1ml", "weight": "1g", @@ -107,6 +108,7 @@ "type": "COMESTIBLE", "comestible_type": "FOOD", "charges": 4, + "stackable": true, "container": "test_backpack", "name": "test item with charges", "volume": "1ml", diff --git a/data/mods/TEST_DATA/items.json b/data/mods/TEST_DATA/items.json index 4333a5d7a397c..7a0cc939024c4 100644 --- a/data/mods/TEST_DATA/items.json +++ b/data/mods/TEST_DATA/items.json @@ -2733,6 +2733,7 @@ "volume": "250 ml", "price": 100, "price_postapoc": 100, + "stackable": true, "charges": 10, "stack_size": 100, "symbol": "*", @@ -2763,6 +2764,7 @@ "//": "*May* have been commercially traded.", "material": [ "flesh" ], "volume": "250 ml", + "stackable": true, "charges": 2, "stack_size": 4, "vitamins": [ ], @@ -2792,6 +2794,7 @@ "volume": "100 ml", "price_postapoc": 500, "material": [ "flesh" ], + "stackable": true, "charges": 4, "flags": [ "EATEN_HOT" ], "vitamins": [ [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 3 ] ], @@ -3296,6 +3299,7 @@ "volume": "100 ml", "price": 500, "price_postapoc": 2000, + "stackable": true, "charges": 20, "stack_size": 20, "symbol": "!", From 9297c6e52a322986ec7227bdd2a7879638d85998 Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 8 May 2023 12:50:55 +0200 Subject: [PATCH 09/13] fungal_seeds AMMO -> COMESTIBLE --- data/json/items/comestibles/seed.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data/json/items/comestibles/seed.json b/data/json/items/comestibles/seed.json index 68c965b2b95a8..470c163812878 100644 --- a/data/json/items/comestibles/seed.json +++ b/data/json/items/comestibles/seed.json @@ -436,14 +436,13 @@ "milling": { "into": "paste_seed", "conversion_rate": 0.02 } }, { - "type": "AMMO", + "type": "COMESTIBLE", "id": "fungal_seeds", "copy-from": "seed", "price": 100, "name": { "str_sp": "fungal seeds" }, "color": "dark_gray", "description": "Some fungal seeds.", - "ammo_type": "NULL", "stack_size": 8, "seed_data": { "fruit": "null", "//": "dummy entry, results are hardcoded", "plant_name": "fungal flower", "grow": "91 days" } }, From 821a34e6959756fa2613e000d7a99cddee534862 Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 1 May 2023 06:52:02 +0200 Subject: [PATCH 10/13] misc fixes --- src/item.cpp | 2 +- tests/item_stackable_test.cpp | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/item.cpp b/src/item.cpp index 009220c741726..8d0db41594461 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -2497,7 +2497,7 @@ void item::food_info( const item *food_item, std::vector &info, if( parts->test( iteminfo_parts::FOOD_PORTIONS ) ) { info.emplace_back( "FOOD", _( "Portions: " ), - std::abs( static_cast( food_item->charges ) * batch ) ); + std::abs( static_cast( food_item->count() ) * batch ) ); } if( food_item->corpse != nullptr && parts->test( iteminfo_parts::FOOD_SMELL ) && ( debug || ( g != nullptr && player_character.has_trait( trait_CARNIVORE ) ) ) ) { diff --git a/tests/item_stackable_test.cpp b/tests/item_stackable_test.cpp index c410e31bcd249..eef051871f2d4 100644 --- a/tests/item_stackable_test.cpp +++ b/tests/item_stackable_test.cpp @@ -8,14 +8,11 @@ #include "type_id.h" #include "units.h" -TEST_CASE( "casings_are_stackable", "[item]" ) +TEST_CASE( "non-solid-comestibles-are-stackable", "[item]" ) { for( const itype *t : item_controller->all() ) { - bool casing = t->get_id().str().find( "_casing" ) != std::string::npos && - t->volume < 200_ml; - - if( casing ) { - INFO( "casing: " << t->get_id().str() ) + if( t->comestible && t->phase != phase_id::SOLID ) { + INFO( "liquid: " << t->get_id().str() ) CHECK( t->count_by_charges() ); } } From ec9c610fe3a813cc7a109088e16c9194d23e3f8d Mon Sep 17 00:00:00 2001 From: mqrause Date: Mon, 1 May 2023 06:55:39 +0200 Subject: [PATCH 11/13] charge removal script --- tools/json_tools/remove_charges.py | 664 +++++++++++++++++++++++++++++ 1 file changed, 664 insertions(+) create mode 100644 tools/json_tools/remove_charges.py diff --git a/tools/json_tools/remove_charges.py b/tools/json_tools/remove_charges.py new file mode 100644 index 0000000000000..f4428f6f6df17 --- /dev/null +++ b/tools/json_tools/remove_charges.py @@ -0,0 +1,664 @@ +#!/usr/bin/env python3 + +import argparse +import json +import os + +args = argparse.ArgumentParser() +args.add_argument("dir", action="store", help="specify data directory") +args_dict = vars(args.parse_args()) + +types = [ + "AMMO", + "ARMOR", + "BATTERY", + "BIONIC_ITEM", + "BOOK", + "COMESTIBLE", + "CONTAINER", + "ENGINE", + "GENERIC", + "GUN", + "GUNMOD", + "MAGAZINE", + "PET_ARMOR", + "TOOL", + "TOOLMOD", + "TOOL_ARMOR", +] + +oversized = list() +changed = dict() +affected = dict() +items = dict() +recipes = dict() +group_migration = dict() + + +def get_id(jo): + if "id" in jo: + return jo["id"] + elif "abstract" in jo: + return jo["abstract"] + + +def get_parent_value(id, property, src): + if id not in items[src]: + if src != "dda": + return get_parent_value(id, property, "dda") + else: + return None + if property not in items[src][id]: + if "copy-from" in items[src][id]: + if id == items[src][id]["copy-from"]: + if src == "dda": + return None + return get_parent_value(id, property, "dda") + return get_parent_value(items[src][id]["copy-from"], property, src) + else: + return None + return items[src][id][property] + + +def get_value(jo, property, src): + if property in jo: + return jo[property] + if "copy-from" in jo: + return get_parent_value(jo["copy-from"], property, src) + return None + + +def get_jo(id, src): + if src not in items: + if src != "dda": + return get_jo(id, "dda") + return None + if id not in items[src]: + if src != "dda": + return get_jo(id, "dda") + return None + return items[src][id] + + +def remove_charges(jo, src): + phase = get_value(jo, "phase", src) + if phase is not None and phase != "solid": + return + + if "stackable" in jo and jo["stackable"]: + return + + if src not in affected: + affected[src] = dict() + copy_from = None + if "copy-from" in jo: + copy_from = jo["copy-from"] + affected[src][get_id(jo)] = copy_from + + has_volume = "volume" in jo + has_charges = "charges" in jo or "stack_size" in jo + + if not has_volume and not has_charges: + return + + charges = get_value(jo, "charges", src) + stack_size = get_value(jo, "stack_size", src) + if stack_size is None: + if charges is None: + return + stack_size = charges + if charges is None: + charges = -1 + + vol = get_value(jo, "volume", src) + vol_arr = vol.split() + if len(vol_arr) != 2: + pos = vol.find("ml") + unit = "ml" + if pos == -1: + pos = vol.find("L") + unit = "L" + vol = vol[0:pos] + else: + vol = vol_arr[0] + unit = vol_arr[1] + vol = int(vol) + if unit == "L": + vol *= 1000 + unit = "ml" + + if vol / stack_size < 1: + oversized.append(get_id(jo)) + + vol = max(1, vol // stack_size) + + if (vol % 1000 == 0): + vol = vol // 1000 + unit = "L" + + jo["volume"] = str(vol) + " " + unit + if "charges" in jo: + jo.pop("charges") + if "stack_size" in jo: + jo.pop("stack_size") + if src not in changed: + changed[src] = dict() + changed[src][get_id(jo)] = [charges, stack_size] + + return jo + + +def multiply_values(lhs, rhs): + left_list = type(lhs) is list + right_list = type(rhs) is list + if left_list or right_list: + ret = list() + val_min = 0 + val_max = 0 + if left_list: + val_min = lhs[0] + val_max = lhs[1] + else: + val_min = lhs + val_max = lhs + if right_list: + val_min *= rhs[0] + val_max *= rhs[1] + else: + val_min *= rhs + val_max *= rhs + ret.append(val_min) + ret.append(val_max) + else: + ret = lhs * rhs + + return ret + + +def get_min(entry, property): + min = -1 + + if property in entry: + min = entry[property] + if type(min) is list: + min = min[0] + + if property + "-min" in entry: + min = entry.pop(property + "-min") + + return min + + +def get_max(entry, property): + max = -1 + + if property in entry: + max = entry.pop(property) + if type(max) is list: + max = max[1] + + if property + "-max" in entry: + max = entry.pop(property + "-max") + + return max + + +def get_changed(id, src): + if src not in changed: + if src != "dda": + return get_changed(id, "dda") + return None + + if id in changed[src]: + return changed[src][id] + + if id in changed["dda"]: + return changed["dda"][id] + + return None + + +def get_maybe_changed(id, src): + changed = get_changed(id, src) + if changed is not None: + return changed + + if src not in affected: + if src != "dda": + return get_maybe_changed(id, "dda") + return None + + if id in affected[src] and affected[src][id] is not None: + return get_affected_parent(affected[src][id], src) + + return None + + +def get_affected_parent(copy_from, src): + if src in changed and copy_from in changed[src]: + return changed[src][copy_from] + + if src not in items or copy_from not in items[src]: + if src == "dda": + return None + return get_affected_parent(copy_from, "dda") + + if "copy-from" not in items[src][copy_from]: + return None + + if copy_from == items[src][copy_from]["copy-from"]: + if src == "dda": + return None + return get_affected_parent(copy_from, "dda") + + return get_affected_parent(items[src][copy_from]["copy-from"], src) + + +def make_group(entry, default_container): + jo = dict() + jo["type"] = "item_group" + new_entry = dict() + new_entry["item"] = entry.pop("item") + if default_container is not None: + new_entry["container-item"] = "null" + id_count_min = 0 + id_count_max = 0 + group_count = ("charges" in entry and type(entry["charges"]) is list and + entry["charges"][0] == 0 and entry["charges"][1] == 1) + if group_count: + entry["count"] = entry.pop("charges") + if "charges" in entry: + if type(entry["charges"]) is not list and entry["charges"] <= 1: + entry.pop("charges") + else: + new_entry["count"] = entry.pop("charges") + if type(new_entry["count"]) is list: + id_count_min = new_entry["count"][0] + id_count_max = new_entry["count"][1] + else: + id_count_min = new_entry["count"] + id_count_max = new_entry["count"] + if "charges-min" in entry: + new_entry["count-min"] = entry.pop("charges-min") + id_count_min = new_entry["count-min"] + if "charges-max" in entry: + new_entry["count-max"] = entry.pop("charges-max") + id_count_max = new_entry["count-max"] + jo["id"] = new_entry["item"] + "_" + entry["container-item"] + "_" + if id_count_max == id_count_min: + if id_count_max <= 0: + id_count_max = 1 + jo["id"] += str(id_count_max) + elif id_count_max <= 0: + jo["id"] += str(id_count_min) + "_inf" + else: + jo["id"] += str(id_count_min) + "_" + str(id_count_max) + jo["subtype"] = "collection" + jo["//"] = "This group was created automatically and may contain errors." + jo["container-item"] = entry.pop("container-item") + jo["entries"] = [new_entry] + return jo + + +def has_group(id, src): + if src not in group_migration: + if src != "dda": + return has_group(id, "dda") + return False + if id not in group_migration[src]: + if src != "dda": + return has_group(id, "dda") + return False + return True + + +def adjust_item_group(jo, src): + item_array = [] + if "entries" in jo: + item_array = jo["entries"] + elif "items" in jo: + item_array = jo["items"] + else: + return + + ret = [jo] + change = False + for entry in item_array: + if "item" not in entry: + continue + + use_src = src + if src not in affected: + use_src = "dda" + if entry["item"] not in affected[use_src]: + continue + + has_charges = ("charges" in entry or "charges-min" in entry or + "charges-max" in entry) + + base_item = get_jo(entry["item"], src) + if not has_charges: + base_charges = get_value(base_item, "charges", src) + if base_charges is not None and base_charges > 1: + entry["charges"] = base_charges + else: + continue + + base_item = get_jo(entry["item"], src) + default_container = get_value(base_item, "container", src) + if ("container-item" not in entry and default_container is not None and + default_container != "null"): + entry["container-item"] = default_container + + if "container-item" in entry: + new_group = make_group(entry, default_container) + entry["group"] = new_group["id"] + if not has_group(new_group["id"], src): + if src not in group_migration: + group_migration[src] = list() + group_migration[src].append(new_group["id"]) + ret.append(new_group) + change = True + continue + + change = True + charge_arr = "charge" in entry and type(entry["charge"]) is list + make_min = ("count-min" in entry or "charges-min" in entry or + ("count-max" in entry and charge_arr)) + make_max = ("count-max" in entry or "charges-max" in entry or + ("count-min" in entry and charge_arr)) + + changes = get_maybe_changed(entry["item"], src) + default = 1 + if changes is not None: + default = changes[0] + + if make_min: + # get_min must be called before get_max + count_min = get_min(entry, "count") + charges_min = get_min(entry, "charges") + if charges_min < 0 and default > 1: + charges_min = default + if count_min < 0: + if charges_min >= 0: + entry["count-min"] = charges_min + else: + if charges_min >= 0: + entry["count-min"] = count_min * charges_min + else: + entry["count-min"] = count_min + if make_max: + count_max = get_max(entry, "count") + charges_max = get_max(entry, "charges") + if charges_max < 0 and default > 1: + charges_max = default + if count_max < 0: + if charges_max >= 0: + entry["count-max"] = charges_max + else: + if charges_max >= 0: + entry["count-max"] = count_max * charges_max + else: + entry["count-max"] = count_max + if not make_min and not make_max: + if "count" in entry: + if "charges" in entry: + entry["count"] = multiply_values(entry["count"], + entry.pop("charges")) + elif default > 1: + entry["count"] = multiply_values(entry["count"], default) + else: + change = False + else: + if "charges" in entry: + charges = entry.pop("charges") + if type(charges) is list or charges > 1: + entry["count"] = charges + elif default > 1: + entry["count"] = default + else: + change = False + + if change: + return ret + + +def get_parent_charges(result, src): + if src not in recipes: + if src != "dda": + get_parent_charges(result, "dda") + return None + + if result not in recipes[src]: + if src != "dda": + get_parent_charges(result, "dda") + return None + + if "charges" in recipes[src][result]: + return recipes[src][result]["charges"] + + if "copy-from" in recipes[src][result]: + return get_parent_charges(recipes[src][result]["copy-from"], src) + + return None + + +def adjust_recipe(jo, src): + if "charges" in jo or "result" not in jo: + return + + aff_it = get_maybe_changed(jo["result"], src) + + if aff_it is None or aff_it[0] <= 1: + return + + if "copy-from" in jo: + charges = get_parent_charges(jo["copy-from"], src) + if charges is not None: + return + + jo["charges"] = aff_it[0] + return jo + + +def gen_new(path, src, is_item=True): + change = False + new_datas = list() + # Having troubles with this script halting? + # Uncomment below to find the file it's halting on + #print(path) + with open(path, "r", encoding="utf-8") as json_file: + try: + json_data = json.load(json_file) + except json.JSONDecodeError: + print(f"Json Decode Error at {path}") + print("Ensure that the file is a JSON file consisting of" + " an array of objects!") + return None + + for jo in json_data: + if type(jo) is not dict: + print(f"Incorrectly formatted JSON data at {path}") + print("Ensure that the file is a JSON file consisting" + " of an array of objects!") + break + + if "type" not in jo: + continue + + new_data = None + if is_item and jo["type"] == "COMESTIBLE": + new_data = remove_charges(jo, src) + if not is_item and jo["type"] == "item_group": + new_groups = adjust_item_group(jo, src) + if type(new_groups) is list and len(new_groups) > 0: + new_data = new_groups[0] + if len(new_groups) > 1: + new_datas.extend(new_groups[1:]) + else: + new_data = new_groups + if not is_item and jo["type"] == "recipe": + new_data = adjust_recipe(jo, src) + + if new_data is not None: + jo = new_data + change = True + + if len(new_datas) > 0: + json_data.extend(new_datas) + return json_data if change else None + + +def format_json(path): + file_path = os.path.dirname(__file__) + format_path_linux = os.path.join(file_path, "../format/json_formatter.cgi") + path_win = "../format/JsonFormatter-vcpkg-static-Release-x64.exe" + format_path_win = os.path.join(file_path, path_win) + if os.path.exists(format_path_linux): + os.system(f"{format_path_linux} {path}") + elif os.path.exists(format_path_win): + os.system(f"{format_path_win} {path}") + else: + print("No json formatter found") + + +def collect_data(path, src): + with open(path, "r", encoding="utf-8") as json_file: + try: + json_data = json.load(json_file) + except json.JSONDecodeError: + print(f"Json Decode Error at {path}") + print("Ensure that the file is a JSON file consisting of" + " an array of objects!") + return + + for jo in json_data: + if type(jo) is not dict: + print(f"Incorrectly formatted JSON data at {path}") + print("Ensure that the file is a JSON file consisting" + " of an array of objects!") + break + + if "type" not in jo: + continue + + if jo["type"] in types: + item = dict() + if "volume" in jo: + item["volume"] = jo["volume"] + if "charges" in jo: + item["charges"] = jo["charges"] + if "stack_size" in jo: + item["stack_size"] = jo["stack_size"] + if "copy-from" in jo: + item["copy-from"] = jo["copy-from"] + if "container" in jo: + item["container"] = jo["container"] + if "phase" in jo: + item["phase"] = jo["phase"] + + if src not in items: + items[src] = dict() + items[src][get_id(jo)] = item + + if jo["type"] == "recipe" and "result" in jo: + recipe = dict() + if "charges" in jo: + recipe["charges"] = jo["charges"] + if "copy-from" in jo: + recipe["copy-from"] = jo["copy-from"] + + if src not in recipes: + recipes[src] = dict() + recipes[src][jo["result"]] = recipe + + +# collect item data with source +json_path = os.path.join(args_dict["dir"], "json") +for root, directories, filenames in os.walk(json_path): + for filename in filenames: + if not filename.endswith(".json"): + continue + + path = os.path.join(root, filename) + collect_data(path, "dda") + +for f in os.scandir(os.path.join(args_dict["dir"], "mods")): + if f.is_dir(): + for root, directories, filenames in os.walk(f.path): + for filename in filenames: + if not filename.endswith(".json"): + continue + + path = os.path.join(root, filename) + collect_data(path, f.name) + +# adjust items +for root, directories, filenames in os.walk(json_path): + for filename in filenames: + if not filename.endswith(".json"): + continue + + path = os.path.join(root, filename) + new = gen_new(path, "dda") + if new is not None: + with open(path, "w", encoding="utf-8") as jf: + json.dump(new, jf, ensure_ascii=False) + format_json(path) + +for f in os.scandir(os.path.join(args_dict["dir"], "mods")): + if f.is_dir(): + for root, directories, filenames in os.walk(f.path): + for filename in filenames: + if not filename.endswith(".json"): + continue + + path = os.path.join(root, filename) + new = gen_new(path, f.name) + if new is not None: + with open(path, "w", encoding="utf-8") as jf: + json.dump(new, jf, ensure_ascii=False) + format_json(path) + +# adjust itemgroups +for root, directories, filenames in os.walk(json_path): + for filename in filenames: + if not filename.endswith(".json"): + continue + + path = os.path.join(root, filename) + new = gen_new(path, "dda", False) + if new is not None: + with open(path, "w", encoding="utf-8") as jf: + json.dump(new, jf, ensure_ascii=False) + format_json(path) + +for f in os.scandir(os.path.join(args_dict["dir"], "mods")): + if f.is_dir(): + for root, directories, filenames in os.walk(f.path): + for filename in filenames: + if not filename.endswith(".json"): + continue + + path = os.path.join(root, filename) + new = gen_new(path, f.name, False) + if new is not None: + with open(path, "w", encoding="utf-8") as jf: + json.dump(new, jf, ensure_ascii=False) + format_json(path) + +with open('oversized_charge_removal.txt', 'w') as outfile: + outfile.write('\n'.join(id for id in oversized)) + +with open('removed_charges.txt', 'w') as outfile: + header = 'id | previous default charges | previous stack_size | src\n' + outfile.write(header) + for src, it in changed.items(): + outfile.write('\n'.join(f'{k} {v[0]} {v[1]} {src}' for k, v in + it.items()) + '\n') + +with open('itemgroup_migration.txt', 'w') as outfile: + header = 'new group id | src\n' + outfile.write(header) + for src, groups in group_migration.items(): + outfile.write('\n'.join(f'{group} {src}' for group in groups) + '\n') From 689e81f4715d7e2a3d633d7ce35d1228dceeff3a Mon Sep 17 00:00:00 2001 From: mqrause Date: Tue, 25 Jul 2023 09:14:02 +0200 Subject: [PATCH 12/13] automated json updates - items, itemgroups, and recipes --- .../agriculture.json | 15 +- .../Agriculture_Forage_Excavation/forage.json | 14 +- .../itemgroups/Clothing_Gear/clothing.json | 40 +- data/json/itemgroups/Clothing_Gear/gear.json | 4 +- .../Clothing_Gear/gear_civilian.json | 26 +- .../itemgroups/Clothing_Gear/hazmat_gear.json | 2 +- .../Drugs_Tobacco_Alcohol/drugs.json | 178 ++- .../Drugs_Tobacco_Alcohol/tobacco.json | 24 +- data/json/itemgroups/Food/food.json | 940 ++++++++++----- data/json/itemgroups/Labs/labs_mutagen.json | 72 +- .../Locations_MapExtras/Arsonist_stock.json | 10 +- .../Locations_MapExtras/airdrop.json | 2 +- .../Locations_MapExtras/locations.json | 222 ++-- .../locations_commercial.json | 165 ++- .../locations_mapextras.json | 54 +- .../Locations_MapExtras/mall_item_groups.json | 22 +- .../Locations_MapExtras/mansion.json | 26 +- .../private_resort_item_groups.json | 2 +- .../monster_drops_lairs.json | 46 +- data/json/itemgroups/SUS/domestic.json | 92 +- data/json/itemgroups/SUS/fridges.json | 448 +++++-- data/json/itemgroups/SUS/mre_packages.json | 92 +- data/json/itemgroups/activities_hobbies.json | 58 +- data/json/itemgroups/art_antiques_crafts.json | 10 +- .../json/itemgroups/collections_domestic.json | 928 +++++++++++--- data/json/itemgroups/corpses.json | 10 +- data/json/itemgroups/defense_mode.json | 54 +- data/json/itemgroups/faction_camps.json | 6 +- data/json/itemgroups/food_service.json | 1062 +++++++++++++---- data/json/itemgroups/military.json | 124 +- .../itemgroups/oa_shared_item_groups.json | 20 +- data/json/itemgroups/roof.json | 6 +- data/json/itemgroups/science_and_tech.json | 76 +- data/json/itemgroups/stashes.json | 108 +- data/json/itemgroups/supplies.json | 48 +- data/json/itemgroups/tools.json | 84 +- data/json/itemgroups/trash_and_debris.json | 12 +- data/json/items/biosignatures.json | 12 +- data/json/items/chemicals_and_resources.json | 35 +- data/json/items/classes/comestible.json | 3 +- data/json/items/comestibles/alcohol.json | 4 +- data/json/items/comestibles/baked.json | 9 +- data/json/items/comestibles/bread.json | 60 +- data/json/items/comestibles/carnivore.json | 23 +- data/json/items/comestibles/cereal.json | 29 +- data/json/items/comestibles/dairy.json | 28 +- data/json/items/comestibles/drink_other.json | 3 +- data/json/items/comestibles/egg.json | 14 +- data/json/items/comestibles/fruit_dishes.json | 21 +- data/json/items/comestibles/junkfood.json | 122 +- data/json/items/comestibles/meat_dishes.json | 115 +- data/json/items/comestibles/med.json | 204 +--- data/json/items/comestibles/mushroom.json | 4 +- data/json/items/comestibles/nuts.json | 49 +- data/json/items/comestibles/offal_dishes.json | 31 +- data/json/items/comestibles/other.json | 67 +- data/json/items/comestibles/protein.json | 3 +- data/json/items/comestibles/raw_fruit.json | 3 +- data/json/items/comestibles/raw_grain.json | 12 +- data/json/items/comestibles/raw_veggy.json | 45 +- data/json/items/comestibles/sandwich.json | 24 +- data/json/items/comestibles/seed.json | 126 +- data/json/items/comestibles/spice.json | 11 +- data/json/items/comestibles/veggy_dishes.json | 52 +- data/json/items/comestibles/wheat.json | 42 +- data/json/items/generic/string.json | 3 +- data/json/mapgen/animalshelter.json | 46 +- data/json/mapgen/basement/basement_weed.json | 4 +- .../mapgen/hazardous_waste_sarcophagus.json | 10 +- data/json/mapgen/house/house_suicide.json | 10 +- data/json/mapgen/irradiator_1.json | 4 +- data/json/mapgen/map_extras/toxic_waste.json | 26 +- data/json/mapgen/sewage_treatment.json | 10 +- .../json/mapgen_palettes/stadium_palette.json | 16 +- data/json/monsterdrops/feral_humans.json | 2 +- .../monsterdrops/zombie_military_pilot.json | 2 +- data/json/npcs/NC_BARTENDER.json | 6 +- data/json/npcs/NC_CITY_COP.json | 100 +- data/json/npcs/NC_DOCTOR.json | 44 +- data/json/npcs/NC_HACKER.json | 4 +- data/json/npcs/NC_HUNTER.json | 8 +- data/json/npcs/NC_JUNK_SHOPKEEP.json | 12 +- data/json/npcs/NC_SCAVENGER.json | 22 +- data/json/npcs/NC_SOLDIER.json | 4 +- data/json/npcs/NC_SURVIVOR_CHEF.json | 8 +- data/json/npcs/godco/classes.json | 24 +- .../isherwood_farm/NPC_Claire_Isherwood.json | 8 +- .../isherwood_farm/NPC_Eddie_Isherwood.json | 6 +- .../isherwood_farm/NPC_Jack_Isherwood.json | 26 +- data/json/npcs/items_generic.json | 24 +- .../lumbermill_employees.json | 2 +- .../npcs/random_encounters/john_bailey.json | 6 +- .../surface_refugees/NPC_Vanessa_Toby.json | 2 +- .../npcs/robofac/NC_ROBOFAC_SCIENTIST.json | 2 +- .../robofac/ROBOFAC_SURFACE_FREEMERCHANT.json | 12 +- .../BAR_ENCOUNTER_MERCENARIES/BEM_drugs.json | 16 +- .../NPC_ANCILLA_DOCTOR.json | 18 +- .../mission_mapgen_tacoma_commune.json | 8 +- data/json/recipes/chem/drugs.json | 6 +- data/json/recipes/food/canned.json | 3 +- data/json/recipes/food/dairy_products.json | 6 +- data/json/recipes/food/dry.json | 3 +- data/json/recipes/food/meat_dishes.json | 12 +- data/json/recipes/food/offal_dishes.json | 9 +- data/json/recipes/food/other.json | 3 +- data/json/recipes/food/raw_grain.json | 18 +- data/json/recipes/food/seed.json | 72 +- data/json/recipes/food/vegetable_dishes.json | 3 +- data/json/recipes/other/medical.json | 6 +- data/json/recipes/recipe_food.json | 192 ++- .../json/recipes/recipe_medsandchemicals.json | 42 +- data/json/recipes/recipe_others.json | 6 +- .../Aftershock/itemgroups/food_groups.json | 53 +- .../itemgroups/spaceship_groups.json | 10 +- .../items/comestibles/alienfood.json | 28 +- .../items/comestibles/bug_brew.json | 4 +- .../items/comestibles/cheap_food.json | 26 +- .../items/comestibles/comestibles.json | 9 +- .../Aftershock/items/comestibles/veggies.json | 5 +- data/mods/Aftershock/items/seed.json | 5 +- .../recipes/comestible_recipes.json | 6 +- .../Aftershock/recipes/recipe_overrides.json | 3 +- .../CrazyCataclysm/crazy_comestibles.json | 8 +- data/mods/DinoMod/items/biosignatures.json | 2 +- data/mods/DinoMod/items/egg.json | 12 +- data/mods/DinoMod/recipes/food_egg.json | 12 +- .../Magiclysm/items/black_dragon_items.json | 3 +- .../Magiclysm/items/cast_spell_items.json | 3 +- data/mods/Magiclysm/items/comestibles.json | 4 +- data/mods/Magiclysm/items/ethereal_items.json | 3 +- data/mods/MindOverMatter/items/medical.json | 3 +- .../My_Sweet_Cataclysm/sweet_comestibles.json | 3 +- data/mods/My_Sweet_Cataclysm/sweet_items.json | 6 +- data/mods/My_Sweet_Cataclysm/sweet_med.json | 4 +- .../mods/My_Sweet_Cataclysm/sweet_recipe.json | 6 +- data/mods/No_Fungi/comestibles.json | 16 +- .../items/comestibles/seed.json | 12 +- .../Xedra_Evolved/itemgroups/itemgroups.json | 12 +- data/mods/Xedra_Evolved/items/alchemy.json | 18 +- .../Xedra_Evolved/items/biosignatures.json | 2 +- data/mods/Xedra_Evolved/items/carnivore.json | 1 - .../Xedra_Evolved/items/comestibles/med.json | 8 +- .../items/comestibles/raw_fruit.json | 3 +- data/mods/Xedra_Evolved/items/drugs.json | 12 +- data/mods/Xedra_Evolved/recipes/alchemy.json | 6 +- data/mods/deadly_bites/items.json | 4 +- .../innawood/items/medical_primitive.json | 5 +- data/mods/innawood/recipes/recipe_food.json | 18 +- 148 files changed, 5025 insertions(+), 2439 deletions(-) diff --git a/data/json/itemgroups/Agriculture_Forage_Excavation/agriculture.json b/data/json/itemgroups/Agriculture_Forage_Excavation/agriculture.json index b1918b88ac811..72315d8256b8e 100644 --- a/data/json/itemgroups/Agriculture_Forage_Excavation/agriculture.json +++ b/data/json/itemgroups/Agriculture_Forage_Excavation/agriculture.json @@ -188,15 +188,20 @@ "ammo": 100, "magazine": 100, "subtype": "distribution", - "entries": [ - { "item": "wooden_barrel", "prob": 100, "sealed": true }, - { "item": "juice_pulp", "prob": 100, "charges": [ 7, 77 ], "container-item": "wooden_barrel" } - ] + "entries": [ { "item": "wooden_barrel", "prob": 100, "sealed": true }, { "prob": 100, "group": "juice_pulp_wooden_barrel_7_77" } ] }, { "type": "item_group", "id": "sometimes_manure", "subtype": "distribution", - "entries": [ { "item": "null", "prob": 3 }, { "item": "feces_manure", "prob": 1 } ] + "entries": [ { "item": "null", "prob": 3 }, { "item": "feces_manure", "prob": 1, "count": 4 } ] + }, + { + "type": "item_group", + "id": "juice_pulp_wooden_barrel_7_77", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wooden_barrel", + "entries": [ { "item": "juice_pulp", "count": [ 7, 77 ] } ] } ] diff --git a/data/json/itemgroups/Agriculture_Forage_Excavation/forage.json b/data/json/itemgroups/Agriculture_Forage_Excavation/forage.json index 8a6a97b7e40e2..bcd2586a39f9f 100644 --- a/data/json/itemgroups/Agriculture_Forage_Excavation/forage.json +++ b/data/json/itemgroups/Agriculture_Forage_Excavation/forage.json @@ -11,13 +11,13 @@ { "item": "snail_garden", "prob": 10, "count-min": 1, "count-max": 3 }, { "item": "wild_garlic", "prob": 5, "count-min": 2, "count-max": 7 }, { "item": "rhubarb", "prob": 5, "count-min": 2, "count-max": 5 }, - { "item": "wild_herbs", "prob": 10 }, + { "item": "wild_herbs", "prob": 10, "count": 20 }, { "item": "thyme", "prob": 5, "count-min": 1, "count-max": 2 }, { "item": "garlic", "prob": 1 }, { "item": "seed_garlic", "prob": 4, "count-min": 1, "count-max": 2 }, { "item": "seed_canola", "prob": 5, "count-min": 1, "count-max": 2 }, { "item": "dogbane", "prob": 5, "count-min": 1, "count-max": 2 }, - { "item": "carrot_wild", "prob": 5, "count-min": 1, "count-max": 2 }, + { "item": "carrot_wild", "prob": 5, "count-min": 3, "count-max": 6 }, { "item": "bee_balm", "prob": 5, "count-min": 4, "count-max": 8 }, { "item": "mugwort", "prob": 5, "count-min": 1, "count-max": 2 }, { "item": "swarm_bees", "prob": 2 } @@ -34,8 +34,8 @@ { "group": "any_wild_egg", "prob": 5, "count-min": 2, "count-max": 5 }, { "item": "egg_reptile", "prob": 5, "count-min": 1, "count-max": 3 }, { "item": "snail_garden", "prob": 10, "count-min": 1, "count-max": 3 }, - { "item": "wild_herbs", "prob": 20 }, - { "item": "buckwheat", "prob": 5, "count-min": 1, "count-max": 4 }, + { "item": "wild_herbs", "prob": 20, "count": 20 }, + { "item": "buckwheat", "prob": 5, "count-min": 2, "count-max": 8 }, { "item": "thyme", "prob": 5, "count-min": 1, "count-max": 3 }, { "item": "garlic", "prob": 1 }, { "item": "seed_garlic", "prob": 4, "count-min": 1, "count-max": 6 }, @@ -54,15 +54,15 @@ { "item": "mayapple", "prob": 8, "count-min": 1, "count-max": 2 }, { "item": "groundnut", "prob": 2, "count-min": 1, "count-max": 9 }, { "group": "forage_mushroom", "prob": 50 }, - { "item": "wild_herbs", "prob": 10 }, - { "item": "buckwheat", "prob": 15, "count-min": 2, "count-max": 4 }, + { "item": "wild_herbs", "prob": 10, "count": 20 }, + { "item": "buckwheat", "prob": 15, "count-min": 4, "count-max": 8 }, { "item": "thyme", "prob": 5, "count-min": 1, "count-max": 3 }, { "item": "garlic", "prob": 1 }, { "item": "snail_garden", "prob": 10, "count-min": 1, "count-max": 3 }, { "item": "seed_garlic", "prob": 4, "count-min": 1, "count-max": 6 }, { "item": "seed_canola", "prob": 5, "count-min": 1, "count-max": 3 }, { "item": "dogbane", "prob": 5, "count-min": 1, "count-max": 3 }, - { "item": "carrot_wild", "prob": 5, "count-min": 1, "count-max": 2 }, + { "item": "carrot_wild", "prob": 5, "count-min": 3, "count-max": 6 }, { "item": "bee_balm", "prob": 5, "count-min": 1, "count-max": 3 }, { "item": "mugwort", "prob": 5, "count-min": 1, "count-max": 3 }, { "item": "salsify_raw", "prob": 5, "count-min": 1, "count-max": 3 } diff --git a/data/json/itemgroups/Clothing_Gear/clothing.json b/data/json/itemgroups/Clothing_Gear/clothing.json index aa0571c640459..303f4437502c9 100644 --- a/data/json/itemgroups/Clothing_Gear/clothing.json +++ b/data/json/itemgroups/Clothing_Gear/clothing.json @@ -885,7 +885,7 @@ { "item": "jeans", "prob": 30 }, { "item": "sports_bra", "prob": 25 }, { "item": "jacket_leather", "prob": 20 }, - { "item": "aspirin", "prob": 30 }, + { "prob": 30, "group": "aspirin_bottle_plastic_pill_painkiller_20" }, { "item": "water_clean", "prob": 30 }, { "item": "sports_drink", "prob": 30 }, { "group": "used_1st_aid", "prob": 20 }, @@ -3379,9 +3379,9 @@ [ "machete_gimmick", 3 ], [ "fungicide", 10 ], [ "insecticide", 10 ], - { "item": "antifungal", "prob": 1, "charges": [ 0, 10 ] }, - { "item": "antiparasitic", "prob": 5, "charges": [ 0, 10 ] }, - { "item": "diazepam", "prob": 1, "charges": [ 0, 10 ] }, + { "prob": 1, "group": "antifungal_bottle_plastic_pill_prescription_0_10" }, + { "prob": 5, "group": "antiparasitic_bottle_plastic_pill_prescription_0_10" }, + { "prob": 1, "group": "diazepam_bottle_plastic_pill_prescription_0_10" }, [ "throw_extinguisher", 2 ], { "item": "small_repairkit", "prob": 14, "charges": [ 0, 500 ] }, [ "grapnel", 6 ], @@ -4584,5 +4584,37 @@ "//": "tefillin sets", "subtype": "collection", "items": [ { "item": "tefillin_hand_l", "prob": 100 }, { "item": "tefillin_head", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "aspirin_bottle_plastic_pill_painkiller_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "aspirin", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "antifungal_bottle_plastic_pill_prescription_0_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antifungal", "container-item": "null", "count": [ 0, 10 ] } ] + }, + { + "type": "item_group", + "id": "antiparasitic_bottle_plastic_pill_prescription_0_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antiparasitic", "container-item": "null", "count": [ 0, 10 ] } ] + }, + { + "type": "item_group", + "id": "diazepam_bottle_plastic_pill_prescription_0_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "diazepam", "container-item": "null", "count": [ 0, 10 ] } ] } ] diff --git a/data/json/itemgroups/Clothing_Gear/gear.json b/data/json/itemgroups/Clothing_Gear/gear.json index fdc74b15173ff..7365012a0ca39 100644 --- a/data/json/itemgroups/Clothing_Gear/gear.json +++ b/data/json/itemgroups/Clothing_Gear/gear.json @@ -153,8 +153,8 @@ { "item": "oxygen_tank", "prob": 10, "charges-min": 4 }, { "item": "smoxygen_tank", "prob": 15, "charges-min": 2 }, [ "UPS_OFF", 2 ], - { "item": "prussian_blue", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "iodine", "prob": 50, "charges": [ 1, 10 ] } + { "prob": 25, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, + { "prob": 50, "group": "iodine_bottle_plastic_pill_supplement_1_10" } ] }, { diff --git a/data/json/itemgroups/Clothing_Gear/gear_civilian.json b/data/json/itemgroups/Clothing_Gear/gear_civilian.json index 405b10edb0f05..03ed37c14a890 100644 --- a/data/json/itemgroups/Clothing_Gear/gear_civilian.json +++ b/data/json/itemgroups/Clothing_Gear/gear_civilian.json @@ -9,7 +9,7 @@ { "group": "wallets", "prob": 1600 }, { "item": "cell_phone", "prob": 26, "charges": [ 0, 300 ] }, { "item": "smart_phone", "prob": 204, "charges-min": 0 }, - { "item": "cig", "prob": 250, "charges-min": 1, "charges-max": 20 }, + { "prob": 250, "group": "cig_box_cigarette_1_20" }, { "item": "lighter", "prob": 50, "charges-min": 0 }, { "item": "small_lighter", "prob": 25, "charges-min": 0 }, [ "joint", 10 ], @@ -32,8 +32,8 @@ [ "machete_gimmick", 5 ], [ "teleumbrella", 20 ], [ "umbrella", 20 ], - { "item": "aspirin", "prob": 100, "charges": [ 1, 20 ] }, - { "item": "vitamins", "prob": 100, "charges": [ 1, 20 ] }, + { "prob": 100, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, + { "prob": 100, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, [ "eyedrops", 50 ], { "item": "inhaler", "prob": 50, "charges-min": 10, "charges-max": 100 }, { "item": "flashlight", "prob": 50, "charges": [ 0, 300 ] }, @@ -50,7 +50,7 @@ { "item": "mp3", "prob": 20, "charges": [ 0, 100 ] }, { "item": "portable_game", "prob": 50, "charges": [ 0, 100 ] }, { "item": "vibrator", "prob": 5, "charges": [ 0, 100 ] }, - { "item": "gum", "prob": 50, "charges": [ 0, 10 ] }, + { "item": "gum", "prob": 50, "count": [ 0, 10 ] }, { "group": "ammo_pocket_batteries", "prob": 50 }, [ "wrapper", 50 ], [ "wrapper_foil", 5 ], @@ -94,8 +94,8 @@ "items": [ { "group": "candy_chocolate", "prob": 200 }, { "group": "toastems", "prob": 25 }, - { "item": "cookies", "prob": 80, "charges": [ 1, 4 ] }, - { "item": "licorice", "prob": 10, "charges": [ 1, 4 ] }, + { "prob": 80, "group": "cookies_box_snack_1_4" }, + { "prob": 10, "group": "licorice_bag_plastic_1_4" }, { "item": "mp3", "prob": 80, "charges": [ 0, 100 ] }, { "item": "portable_game", "prob": 30, "charges": [ 0, 100 ] }, { "group": "softdrinks_canned", "prob": 55 }, @@ -133,8 +133,8 @@ "items": [ { "group": "candy_chocolate", "prob": 200 }, { "group": "toastems", "prob": 25 }, - { "item": "cookies", "prob": 80, "charges": [ 1, 4 ] }, - { "item": "licorice", "prob": 10, "charges": [ 1, 4 ] }, + { "prob": 80, "group": "cookies_box_snack_1_4" }, + { "prob": 10, "group": "licorice_bag_plastic_1_4" }, [ "bat", 40 ], [ "bat_nerf", 20 ], [ "bat_metal", 20 ], @@ -329,7 +329,7 @@ [ "trailmap", 6 ], [ "touristmap", 4 ], { "item": "lighter", "prob": 60, "charges-min": 0 }, - { "item": "cig", "prob": 40, "charges": [ 1, 20 ] }, + { "prob": 40, "group": "cig_box_cigarette_1_20" }, [ "blazer", 15 ], [ "jeans", 90 ], [ "under_armor", 15 ], @@ -396,5 +396,13 @@ [ "wallet_travel", 10 ], { "item": "teargas_sprayer", "prob": 5, "charges": 10 } ] + }, + { + "type": "item_group", + "id": "licorice_bag_plastic_1_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "licorice", "container-item": "null", "count": [ 1, 4 ] } ] } ] diff --git a/data/json/itemgroups/Clothing_Gear/hazmat_gear.json b/data/json/itemgroups/Clothing_Gear/hazmat_gear.json index cbccf9f52d572..2f7a99dfa8829 100644 --- a/data/json/itemgroups/Clothing_Gear/hazmat_gear.json +++ b/data/json/itemgroups/Clothing_Gear/hazmat_gear.json @@ -8,7 +8,7 @@ { "item": "mask_gas", "prob": 60, "charges-min": 0 }, { "item": "gasfilter_med", "prob": 60, "charges-min": 0 }, { "item": "rad_monitor", "prob": 33, "charges": [ 0, 100 ] }, - { "item": "iodine", "prob": 33, "charges": [ 1, 10 ] }, + { "prob": 33, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, { "group": "full_1st_aid", "prob": 15 }, { "item": "geiger_off", "prob": 15, "charges": [ 0, 100 ] } ] diff --git a/data/json/itemgroups/Drugs_Tobacco_Alcohol/drugs.json b/data/json/itemgroups/Drugs_Tobacco_Alcohol/drugs.json index 7b31aa49ce1b6..b827fdc950c2e 100644 --- a/data/json/itemgroups/Drugs_Tobacco_Alcohol/drugs.json +++ b/data/json/itemgroups/Drugs_Tobacco_Alcohol/drugs.json @@ -124,7 +124,7 @@ "items": [ [ "adrenaline_injector", 50 ], { "item": "inhaler", "prob": 100, "charges-min": 10, "charges-max": 100 }, - { "item": "quikclot", "prob": 50, "charges": [ 1, 6 ] }, + { "prob": 50, "group": "quikclot_bag_plastic_1_6" }, { "item": "smoxygen_tank", "prob": 70, "charges": [ 0, 12 ] }, { "distribution": [ { "group": "full_ifak" }, { "group": "used_ifak" } ], "prob": 40 } ] @@ -171,12 +171,12 @@ "//": "Healing items appropriate for soldiers and other paramilitary forces", "entries": [ { "distribution": [ { "group": "full_ifak" }, { "group": "used_ifak" } ], "prob": 50 }, - { "item": "antibiotics", "prob": 20, "charges": [ 1, 15 ] }, + { "prob": 20, "group": "antibiotics_bottle_plastic_pill_prescription_1_15" }, { "item": "bandages", "prob": 100, "count": [ 1, 3 ] }, - { "item": "morphine", "prob": 20, "charges": [ 1, 4 ] }, - { "item": "quikclot", "prob": 20, "charges": [ 1, 6 ] }, + { "item": "morphine", "prob": 20, "count": [ 1, 4 ] }, + { "prob": 20, "group": "quikclot_bag_plastic_1_6" }, { "item": "smoxygen_tank", "prob": 20, "charges": [ 0, 12 ] }, - { "item": "tramadol", "prob": 20, "charges": [ 1, 10 ] } + { "prob": 20, "group": "tramadol_bottle_plastic_pill_prescription_1_10" } ] }, { @@ -186,28 +186,10 @@ "subtype": "distribution", "items": [ [ "jar_3l_glass_sealed", 100 ], - { - "item": "weed", - "charges": [ 10, 420 ], - "prob": 100, - "container-item": "jar_3l_glass_sealed", - "sealed": false - }, + { "prob": 100, "sealed": false, "group": "weed_jar_3l_glass_sealed_10_420" }, [ "jar_glass_sealed", 100 ], - { - "item": "hi_q_shatter", - "charges": [ 5, 140 ], - "prob": 100, - "container-item": "jar_glass_sealed", - "sealed": false - }, - { - "item": "hi_q_wax", - "charges": [ 5, 140 ], - "prob": 100, - "container-item": "jar_glass_sealed", - "sealed": false - } + { "prob": 100, "sealed": false, "group": "hi_q_shatter_jar_glass_sealed_5_140" }, + { "prob": 100, "sealed": false, "group": "hi_q_wax_jar_glass_sealed_5_140" } ] }, { @@ -221,34 +203,28 @@ { "group": "used_1st_aid", "prob": 35 }, { "item": "saline", "prob": 25, "charges": [ 1, 5 ] }, [ "contacts", 10 ], - { "item": "vitamins", "prob": 75, "charges": [ 1, 20 ] }, - { "item": "gummy_vitamins", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "calcium_tablet", "prob": 75, "charges": [ 1, 20 ] }, - { "item": "aspirin", "prob": 85, "charges": [ 1, 20 ] }, - { "item": "caffeine", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "pills_sleep", "prob": 15, "charges": [ 1, 10 ] }, - { "item": "melatonin_tablet", "prob": 10, "charges": [ 1, 30 ] }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 75, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, + { "item": "gummy_vitamins", "prob": 25, "count": [ 1, 10 ] }, + { "prob": 75, "group": "calcium_tablet_bottle_plastic_pill_supplement_1_20" }, + { "prob": 85, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, + { "prob": 25, "group": "caffeine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 15, "group": "pills_sleep_bottle_plastic_pill_prescription_1_10" }, + { "prob": 10, "group": "melatonin_tablet_bottle_plastic_pill_supplement_1_30" }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, { "item": "dayquil", "prob": 70, "charges": [ 1, 5 ] }, { "item": "nyquil", "prob": 70, "charges": [ 1, 5 ] }, { "group": "alcohol_wipes_box_used", "prob": 75 }, { "item": "disinfectant", "prob": 35, "charges": [ 1, 10 ] }, - { "item": "homeopathic_pills", "prob": 10, "charges": [ 1, 20 ] }, - { - "item": "protein_powder", - "prob": 12, - "container-item": "bottle_plastic_small", - "charges-min": 1, - "charges-max": 9 - }, - { "item": "caff_gum", "prob": 10, "charges": [ 1, 10 ] }, + { "prob": 10, "group": "homeopathic_pills_bottle_plastic_pill_supplement_1_20" }, + { "prob": 12, "group": "protein_powder_bottle_plastic_small_1_9" }, + { "item": "caff_gum", "prob": 10, "count": [ 1, 10 ] }, { "item": "smoxygen_tank", "prob": 5, "charges": [ 0, 12 ] }, [ "eyedrops", 35 ], { "item": "shavingkit", "prob": 5, "charges": [ 0, 10 ] }, { "item": "elec_hairtrimmer", "prob": 2, "charges": [ 0, 50 ] }, - { "item": "nic_gum", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "weak_antibiotic", "prob": 30, "charges": [ 1, 5 ] } + { "item": "nic_gum", "prob": 25, "count": [ 1, 10 ] }, + { "prob": 30, "group": "weak_antibiotic_bottle_plastic_pill_prescription_1_5" } ] }, { @@ -256,20 +232,20 @@ "id": "harddrugs", "items": [ { "item": "inhaler", "prob": 14, "charges-min": 10, "charges-max": 100 }, - { "item": "codeine", "prob": 15, "charges": [ 1, 10 ] }, - { "item": "oxycodone", "prob": 4, "charges": [ 1, 10 ] }, - { "item": "morphine", "prob": 4, "charges": [ 1, 4 ] }, - { "item": "tramadol", "prob": 11, "charges": [ 1, 10 ] }, - { "item": "xanax", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "adderall", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "thorazine", "prob": 7, "charges": [ 1, 10 ] }, - { "item": "prozac", "prob": 10, "charges": [ 1, 15 ] }, - { "item": "antibiotics", "prob": 25, "charges": [ 1, 15 ] }, - { "item": "strong_antibiotic", "prob": 5, "charges": [ 1, 5 ] }, - { "item": "antifungal", "prob": 2, "charges": [ 1, 5 ] }, - { "item": "antiparasitic", "prob": 3, "charges": [ 1, 10 ] }, + { "prob": 15, "group": "codeine_bottle_plastic_pill_painkiller_1_10" }, + { "prob": 4, "group": "oxycodone_bottle_plastic_pill_prescription_1_10" }, + { "item": "morphine", "prob": 4, "count": [ 1, 4 ] }, + { "prob": 11, "group": "tramadol_bottle_plastic_pill_prescription_1_10" }, + { "prob": 10, "group": "xanax_bottle_plastic_pill_prescription_1_10" }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_1_10" }, + { "prob": 7, "group": "thorazine_bottle_plastic_pill_prescription_1_10" }, + { "prob": 10, "group": "prozac_bottle_plastic_pill_prescription_1_15" }, + { "prob": 25, "group": "antibiotics_bottle_plastic_pill_prescription_1_15" }, + { "prob": 5, "group": "strong_antibiotic_bottle_plastic_pill_prescription_1_5" }, + { "prob": 2, "group": "antifungal_bottle_plastic_pill_prescription_1_5" }, + { "prob": 3, "group": "antiparasitic_bottle_plastic_pill_prescription_1_10" }, [ "survnote", 1 ], - { "item": "diazepam", "prob": 4, "charges": [ 1, 10 ] }, + { "prob": 4, "group": "diazepam_bottle_plastic_pill_prescription_1_10" }, [ "flu_shot", 5 ], [ "syringe", 8 ] ] @@ -289,7 +265,7 @@ { "item": "dayquil", "count": [ 0, 2 ], "charges": [ 1, 5 ] }, { "item": "red_phosphorous", "prob": 40, "count": [ 0, 1 ] }, { "item": "iodine_crystal", "prob": 40, "count": [ 0, 1 ] }, - { "item": "meth", "count": [ 0, 2 ], "charges": [ 1, 6 ] } + { "count": [ 0, 2 ], "group": "meth_bag_zipper_1_6" } ] }, { @@ -300,7 +276,87 @@ { "item": "red_phosphorous", "prob": 25, "charges": [ 1, 20 ] }, { "item": "iodine_crystal", "prob": 10, "charges": [ 1, 10 ] }, [ "energy_drink", 2 ], - { "item": "caffeine", "prob": 20, "charges": [ 1, 10 ] } + { "prob": 20, "group": "caffeine_bottle_plastic_pill_supplement_1_10" } ] + }, + { + "type": "item_group", + "id": "tramadol_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "tramadol", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "weed_jar_3l_glass_sealed_10_420", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "weed", "count": [ 10, 420 ] } ] + }, + { + "type": "item_group", + "id": "hi_q_shatter_jar_glass_sealed_5_140", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "hi_q_shatter", "count": [ 5, 140 ] } ] + }, + { + "type": "item_group", + "id": "hi_q_wax_jar_glass_sealed_5_140", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "hi_q_wax", "count": [ 5, 140 ] } ] + }, + { + "type": "item_group", + "id": "calcium_tablet_bottle_plastic_pill_supplement_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "calcium_tablet", "container-item": "null", "count": [ 1, 20 ] } ] + }, + { + "type": "item_group", + "id": "caffeine_bottle_plastic_pill_supplement_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "caffeine", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "homeopathic_pills_bottle_plastic_pill_supplement_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "homeopathic_pills", "container-item": "null", "count": [ 1, 20 ] } ] + }, + { + "type": "item_group", + "id": "thorazine_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "thorazine", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "prozac_bottle_plastic_pill_prescription_1_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "prozac", "container-item": "null", "count": [ 1, 15 ] } ] + }, + { + "type": "item_group", + "id": "strong_antibiotic_bottle_plastic_pill_prescription_1_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "strong_antibiotic", "container-item": "null", "count": [ 1, 5 ] } ] } ] diff --git a/data/json/itemgroups/Drugs_Tobacco_Alcohol/tobacco.json b/data/json/itemgroups/Drugs_Tobacco_Alcohol/tobacco.json index a093265cfc6ba..74accb2a1f864 100644 --- a/data/json/itemgroups/Drugs_Tobacco_Alcohol/tobacco.json +++ b/data/json/itemgroups/Drugs_Tobacco_Alcohol/tobacco.json @@ -3,11 +3,11 @@ "type": "item_group", "id": "tobacco_products", "items": [ - { "item": "cig", "prob": 60, "charges": [ 1, 20 ] }, - { "item": "tobacco", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "chaw", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "cigar", "prob": 10, "charges": [ 1, 5 ] }, - { "item": "ecig", "prob": 10, "charges": [ 1, 40 ] }, + { "prob": 60, "group": "cig_box_cigarette_1_20" }, + { "prob": 20, "group": "tobacco_bag_plastic_1_20" }, + { "prob": 20, "group": "chaw_wrapper_1_20" }, + { "item": "cigar", "prob": 10, "count": [ 1, 5 ] }, + { "item": "ecig", "prob": 10, "count": [ 1, 40 ] }, { "item": "advanced_ecig", "prob": 8, "charges": [ 1, 100 ] }, [ "nicotine_liquid", 15 ], [ "pipe_tobacco", 10 ] @@ -19,7 +19,7 @@ "subtype": "collection", "container-item": "case_cigar", "items": [ - { "item": "cigar", "charges": [ 0, 2 ] }, + { "item": "cigar", "count": [ 0, 2 ] }, { "distribution": [ { "item": "cigar_cutter", "prob": 50 }, { "item": "cigar_punch", "prob": 50 } ], "prob": 50 @@ -31,7 +31,7 @@ "type": "item_group", "subtype": "collection", "container-item": "box_small_wood", - "items": [ { "item": "cigar", "charges": [ 25, 25 ] }, { "item": "paper", "charges": [ 2, 2 ] } ] + "items": [ { "item": "cigar", "count": [ 25, 25 ] }, { "item": "paper", "charges": [ 2, 2 ] } ] }, { "id": "cigar_box_opened", @@ -39,7 +39,7 @@ "subtype": "collection", "container-item": "box_small_wood", "entries": [ - { "item": "cigar", "charges": [ 0, 25 ] }, + { "item": "cigar", "count": [ 0, 25 ] }, { "item": "paper", "charges": [ 2, 2 ], "prob": 90 }, { "distribution": [ { "item": "cigar_cutter", "prob": 50 }, { "item": "cigar_punch", "prob": 50 } ], @@ -76,5 +76,13 @@ ] } ] + }, + { + "type": "item_group", + "id": "chaw_wrapper_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "chaw", "container-item": "null", "count": [ 1, 20 ] } ] } ] diff --git a/data/json/itemgroups/Food/food.json b/data/json/itemgroups/Food/food.json index 4938449134c5e..2550964e42768 100644 --- a/data/json/itemgroups/Food/food.json +++ b/data/json/itemgroups/Food/food.json @@ -8,21 +8,21 @@ "entries": [ { "item": "jar_glass_sealed", "prob": 10 }, { "item": "jar_3l_glass_sealed", "prob": 10 }, - { "item": "cheese_hard", "prob": 5 }, - { "item": "veggy_pickled", "prob": 50, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "sauerkraut", "prob": 5, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_pickled", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "confit_meat", "prob": 20, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 30, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "lobster_canned", "prob": 30, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_canned", "prob": 20, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_canned", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "apple_canned", "prob": 30, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "can_tomato", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "meat_pickled", "prob": 10, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_pickled", "prob": 20, "charges": 12, "container-item": "jar_3l_glass_sealed" }, + { "prob": 5, "group": "cheese_hard_wrapper_8" }, + { "prob": 50, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 5, "group": "sauerkraut_jar_glass_sealed_2" }, + { "prob": 20, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 20, "group": "confit_meat_jar_3l_glass_sealed_12" }, + { "prob": 30, "group": "fish_pickled_jar_glass_sealed_2" }, + { "prob": 30, "group": "lobster_canned_jar_glass_sealed_2" }, + { "prob": 20, "group": "meat_canned_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "veggy_canned_jar_3l_glass_sealed_12" }, + { "prob": 30, "group": "apple_canned_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "can_tomato_jar_3l_glass_sealed_12" }, + { "prob": 10, "group": "meat_pickled_jar_3l_glass_sealed_12" }, + { "prob": 20, "group": "veggy_pickled_jar_3l_glass_sealed_12" }, { "item": "brandied_fruit", "prob": 10, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, + { "prob": 40, "group": "fish_pickled_jar_3l_glass_sealed_12" }, { "item": "sauce_red", "prob": 60, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "item": "kompot", "prob": 10, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "item": "freeze_dried_meal", "prob": 10 } @@ -35,26 +35,26 @@ "magazine": 100, "subtype": "distribution", "entries": [ - { "item": "flour", "charges": [ 1, 70 ], "prob": 40 }, - { "item": "flour", "charges": [ 1, 175 ], "prob": 10, "container-item": "bag_plastic" }, - { "item": "yeast", "prob": 50 }, - { "item": "yogurt_starter_culture", "prob": 8 }, - { "item": "cornmeal", "prob": 40 }, + { "prob": 40, "group": "flour_bag_paper_powder_1_70" }, + { "prob": 10, "group": "flour_bag_plastic_1_175" }, + { "prob": 50, "group": "yeast_bag_plastic_25" }, + { "prob": 8, "group": "yogurt_starter_culture_bag_plastic_4" }, + { "prob": 40, "group": "cornmeal_box_small_10" }, { "item": "dry_meat", "prob": 10 }, { "item": "dry_fish", "prob": 10 }, { "item": "dry_lobster", "prob": 10, "container-item": "wrapper" }, - { "item": "dry_veggy", "prob": 10 }, + { "item": "dry_veggy", "prob": 10, "count": 2 }, { "item": "dry_corn", "prob": 1 }, { "item": "dry_fruit", "prob": 10 }, - { "item": "oatmeal", "prob": 40 }, - { "item": "fruit_leather", "prob": 15 }, + { "prob": 40, "group": "oatmeal_box_small_4" }, + { "prob": 15, "group": "fruit_leather_bag_plastic_5" }, { "item": "salted_fish", "prob": 15 }, - { "item": "dry_beans", "prob": 40 }, - { "item": "dry_lentils", "prob": 30 }, - { "item": "dry_rice", "prob": 40 }, + { "prob": 40, "group": "dry_beans_bag_plastic_6" }, + { "prob": 30, "group": "dry_lentils_bag_plastic_2" }, + { "prob": 40, "group": "dry_rice_bag_plastic_3" }, { "item": "freeze_dried_meal", "prob": 10 }, - { "item": "gelatin_powder", "prob": 40 }, - { "item": "chem_agar", "prob": 15 }, + { "prob": 40, "group": "gelatin_powder_bag_plastic_25" }, + { "prob": 15, "group": "chem_agar_bottle_plastic_small_50" }, { "item": "gelatin_dessert_powder", "prob": 40 } ] }, @@ -66,8 +66,8 @@ { "item": "birdfood", "prob": 10 }, { "item": "dogfood", "prob": 30, "container-item": "can_medium" }, { "item": "catfood", "prob": 30, "container-item": "can_food" }, - { "item": "dogfood_dry", "prob": 10, "charges": 12, "container-item": "bag_plastic" }, - { "item": "catfood_dry", "prob": 10, "charges": 12, "container-item": "bag_plastic" } + { "prob": 10, "group": "dogfood_dry_bag_plastic_12" }, + { "prob": 10, "group": "catfood_dry_bag_plastic_12" } ] }, { @@ -113,15 +113,15 @@ "magazine": 100, "subtype": "distribution", "entries": [ - { "item": "yeast", "prob": 50 }, - { "item": "sugar", "prob": 40 }, - { "item": "artificial_sweetener", "prob": 10 }, - { "item": "sprinkles", "prob": 5 }, - { "item": "salt", "prob": 40 }, - { "item": "pepper", "prob": 30 }, - { "item": "cinnamon", "prob": 15 }, - { "item": "seasoning_italian", "prob": 25 }, - { "item": "seasoning_salt", "prob": 25 }, + { "prob": 50, "group": "yeast_bag_plastic_25" }, + { "prob": 40, "group": "sugar_box_small_71" }, + { "prob": 10, "group": "artificial_sweetener_box_small_71" }, + { "prob": 5, "group": "sprinkles_bottle_plastic_small_66" }, + { "prob": 40, "group": "salt_bag_plastic_100" }, + { "prob": 30, "group": "pepper_bag_plastic_100" }, + { "prob": 15, "group": "cinnamon_bag_plastic_100" }, + { "prob": 25, "group": "seasoning_italian_bag_plastic_100" }, + { "prob": 25, "group": "seasoning_salt_bag_plastic_100" }, { "item": "cookbook_italian", "prob": 25 }, { "item": "cookbook_daintydishes", "prob": 20 }, { "item": "cookbook_liverforkids", "prob": 12 }, @@ -137,8 +137,8 @@ { "item": "horseradish", "prob": 15 }, { "item": "spread_peanutbutter", "prob": 10 }, { "item": "honey_bottled", "prob": 35 }, - { "item": "honey_glassed", "prob": 35 }, - { "item": "oyster_crackers", "prob": 15 } + { "prob": 35, "group": "honey_glassed_jar_glass_sealed_5" }, + { "prob": 15, "group": "oyster_crackers_plastic_bag_vac_8" } ] }, { @@ -159,26 +159,26 @@ { "item": "sauce_red", "prob": 1 }, { "item": "can_peach", "prob": 1 }, { "item": "apple_canned", "prob": 1 }, - { "item": "can_cheese", "prob": 1 }, + { "prob": 1, "group": "can_cheese_can_food_8" }, { "item": "fish_canned", "prob": 1 }, { "item": "lobster_canned", "prob": 1 }, - { "item": "brown_bread", "charges": 14, "prob": 1 }, - { "item": "can_spam", "prob": 1 }, + { "prob": 1, "group": "brown_bread_can_medium_14" }, + { "prob": 1, "group": "can_spam_can_medium_6" }, { "item": "can_sardine", "prob": 1 }, - { "item": "ravioli", "prob": 1 }, - { "item": "chili", "prob": 1 }, - { "item": "pork_beans", "prob": 1 }, + { "prob": 1, "group": "ravioli_can_medium_2" }, + { "prob": 1, "group": "chili_can_medium_2" }, + { "prob": 1, "group": "pork_beans_can_medium_2" }, { "item": "can_tuna", "prob": 1 }, { "item": "can_salmon", "prob": 1 }, - { "item": "can_chicken", "prob": 1 }, - { "item": "can_herring", "prob": 1 }, + { "prob": 1, "group": "can_chicken_can_medium_2" }, + { "prob": 1, "group": "can_herring_jar_glass_sealed_2" }, { "item": "can_clams", "prob": 1 }, - { "item": "can_chowder", "prob": 1 }, + { "prob": 1, "group": "can_chowder_can_medium_2" }, { "item": "meat_canned", "prob": 1 }, { "item": "confit_meat", "prob": 1 }, - { "item": "pelmeni", "prob": 1 }, - { "item": "canned_liver", "prob": 1 }, - { "item": "can_beans", "prob": 1 }, + { "prob": 1, "group": "pelmeni_can_medium_2" }, + { "prob": 1, "group": "canned_liver_can_food_4" }, + { "prob": 1, "group": "can_beans_can_medium_2" }, { "item": "can_tomato", "prob": 1 }, { "item": "broth", "prob": 1 }, { "item": "broth_bone", "prob": 1 }, @@ -194,7 +194,7 @@ { "item": "soup_tomato", "prob": 1 }, { "item": "soup_dumplings", "prob": 1 }, { "item": "soup_cullenskink", "prob": 1 }, - { "item": "can_corn", "prob": 1 }, + { "prob": 1, "group": "can_corn_can_medium_2" }, { "item": "cooked_pumpkin", "prob": 1 }, { "item": "veggy_canned", "prob": 1 } ] @@ -204,28 +204,28 @@ "id": "cannedfood", "subtype": "distribution", "entries": [ - { "item": "can_beans", "prob": 40 }, - { "item": "pork_beans", "prob": 40 }, + { "prob": 40, "group": "can_beans_can_medium_2" }, + { "prob": 40, "group": "pork_beans_can_medium_2" }, { "item": "can_tomato", "prob": 40 }, - { "item": "can_corn", "prob": 35 }, + { "prob": 35, "group": "can_corn_can_medium_2" }, { "item": "cooked_pumpkin", "prob": 25 }, { "item": "con_milk", "prob": 30 }, - { "item": "can_spam", "prob": 30 }, - { "item": "can_pineapple", "prob": 30 }, + { "prob": 30, "group": "can_spam_can_medium_6" }, + { "prob": 30, "group": "can_pineapple_can_medium_2" }, { "item": "can_peach", "prob": 30 }, { "item": "can_coconut", "prob": 10 }, { "item": "can_sardine", "prob": 14 }, { "item": "can_tuna", "prob": 35 }, { "item": "can_salmon", "prob": 25 }, - { "item": "can_chowder", "prob": 35 }, - { "item": "can_herring", "prob": 30 }, - { "item": "can_chicken", "prob": 40 }, - { "item": "brown_bread", "charges": 14, "prob": 20 }, + { "prob": 35, "group": "can_chowder_can_medium_2" }, + { "prob": 30, "group": "can_herring_jar_glass_sealed_2" }, + { "prob": 40, "group": "can_chicken_can_medium_2" }, + { "prob": 20, "group": "brown_bread_can_medium_14" }, { "item": "broth", "prob": 15 }, - { "item": "crackers", "prob": 10 }, - { "item": "oyster_crackers", "prob": 10 }, - { "item": "grahmcrackers", "prob": 10 }, - { "item": "marshmallow", "prob": 10 }, + { "prob": 10, "group": "crackers_box_small_8" }, + { "prob": 10, "group": "oyster_crackers_plastic_bag_vac_8" }, + { "prob": 10, "group": "grahmcrackers_box_small_8" }, + { "prob": 10, "group": "marshmallow_bag_plastic_5" }, { "item": "syrup", "prob": 15 }, { "item": "coffee_syrup", "prob": 15 }, { "item": "instant_coffee", "prob": 15 }, @@ -237,64 +237,58 @@ { "item": "soup_dumplings", "prob": 15 }, { "item": "curry_veggy", "prob": 15 }, { "item": "curry_meat", "prob": 15 }, - { "item": "flour", "charges": [ 1, 70 ], "prob": 25 }, - { "item": "flour", "charges": [ 1, 175 ], "prob": 5, "container-item": "bag_plastic" }, - { "item": "milk_powder", "prob": 20 }, - { "item": "cornmeal", "prob": 30 }, - { "item": "tortilla_corn", "prob": 20 }, - { "item": "tortilla_flour", "prob": 20 }, - { "item": "powder_eggs", "prob": 20 }, - { - "item": "protein_powder", - "prob": 12, - "container-item": "bottle_plastic_small", - "charges-min": 1, - "charges-max": 9 - }, + { "prob": 25, "group": "flour_bag_paper_powder_1_70" }, + { "prob": 5, "group": "flour_bag_plastic_1_175" }, + { "prob": 20, "group": "milk_powder_bag_plastic_4" }, + { "prob": 30, "group": "cornmeal_box_small_10" }, + { "prob": 20, "group": "tortilla_corn_bag_plastic_12" }, + { "prob": 20, "group": "tortilla_flour_bag_plastic_12" }, + { "prob": 20, "group": "powder_eggs_bottle_plastic_small_16" }, + { "prob": 12, "group": "protein_powder_bottle_plastic_small_1_9" }, { "item": "dry_meat", "prob": 10 }, { "item": "dry_fish", "prob": 10, "container-item": "wrapper" }, { "item": "dry_lobster", "prob": 10 }, - { "item": "dry_veggy", "prob": 10 }, + { "item": "dry_veggy", "prob": 10, "count": 2 }, { "item": "dry_corn", "prob": 1 }, { "item": "dry_fruit", "prob": 10 }, - { "item": "oatmeal", "prob": 40 }, - { "item": "toastem", "prob": 30 }, - { "item": "toastem2", "prob": 30 }, - { "item": "toastem3", "prob": 35 }, - { "item": "toasterpastryfrozen", "prob": 20 }, - { "item": "sugar", "prob": 20 }, - { "item": "artificial_sweetener", "prob": 5 }, - { "item": "lemonade_powder", "prob": 5 }, + { "prob": 40, "group": "oatmeal_box_small_4" }, + { "prob": 30, "group": "toastem_box_small_8" }, + { "prob": 30, "group": "toastem2_box_small_8" }, + { "prob": 35, "group": "toastem3_box_small_8" }, + { "prob": 20, "group": "toasterpastryfrozen_box_snack_2" }, + { "prob": 20, "group": "sugar_box_small_71" }, + { "prob": 5, "group": "artificial_sweetener_box_small_71" }, + { "prob": 5, "group": "lemonade_powder_bottle_plastic_small_10" }, { "item": "molasses", "prob": 10 }, - { "item": "can_cheese", "prob": 40 }, - { "item": "cheese_hard", "prob": 5 }, - { "item": "salt", "prob": 20 }, - { "item": "pepper", "prob": 20 }, - { "item": "seasoning_salt", "prob": 25 }, + { "prob": 40, "group": "can_cheese_can_food_8" }, + { "prob": 5, "group": "cheese_hard_wrapper_8" }, + { "prob": 20, "group": "salt_bag_plastic_100" }, + { "prob": 20, "group": "pepper_bag_plastic_100" }, + { "prob": 25, "group": "seasoning_salt_bag_plastic_100" }, { "item": "vinegar", "prob": 15 }, { "item": "cooking_oil", "prob": 30 }, { "item": "cooking_oil2", "prob": 30 }, - { "item": "veggy_pickled", "prob": 8, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "sauerkraut", "prob": 5, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 8, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 5, "group": "sauerkraut_jar_glass_sealed_2" }, { "item": "sports_drink", "prob": 10 }, { "item": "protein_shake", "prob": 10 }, { "item": "dogfood", "prob": 5, "container-item": "can_medium" }, { "item": "catfood", "prob": 5, "container-item": "can_food" }, - { "item": "fish_pickled", "prob": 8, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 8, "group": "fish_pickled_jar_glass_sealed_2" }, { "item": "lutefisk", "prob": 1 }, - { "item": "dry_beans", "prob": 40 }, - { "item": "dry_lentils", "prob": 40 }, - { "item": "dry_rice", "prob": 40 }, - { "item": "meat_pickled", "prob": 6, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_canned", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_canned", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "apple_canned", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "offal_canned", "prob": 1, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "can_tomato", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "meat_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, + { "prob": 40, "group": "dry_beans_bag_plastic_6" }, + { "prob": 40, "group": "dry_lentils_bag_plastic_2" }, + { "prob": 40, "group": "dry_rice_bag_plastic_3" }, + { "prob": 6, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 4, "group": "meat_canned_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "veggy_canned_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "apple_canned_jar_3l_glass_sealed_12" }, + { "prob": 1, "group": "offal_canned_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "can_tomato_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "fish_pickled_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "meat_pickled_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "veggy_pickled_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "fish_pickled_jar_3l_glass_sealed_12" }, { "item": "sauce_red", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "item": "kompot", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "group": "big_canned_food", "prob": 4 }, @@ -307,12 +301,12 @@ "id": "big_canned_food", "subtype": "distribution", "entries": [ - { "item": "can_beans", "prob": 4, "charges": 12, "container-item": "can_food_big" }, - { "item": "can_tomato", "prob": 4, "charges": 24, "container-item": "can_food_big" }, - { "item": "can_pineapple", "prob": 3, "charges": 12, "container-item": "can_food_big" }, - { "item": "can_corn", "prob": 3, "charges": 6, "container-item": "can_food_big" }, + { "prob": 4, "group": "can_beans_can_food_big_12" }, + { "prob": 4, "group": "can_tomato_can_food_big_24" }, + { "prob": 3, "group": "can_pineapple_can_food_big_12" }, + { "prob": 3, "group": "can_corn_can_food_big_6" }, { "item": "sauce_red", "prob": 3, "charges": 96, "container-item": "can_food_big" }, - { "item": "coffee_raw", "prob": 6, "charges": 240, "container-item": "can_food_big" } + { "prob": 6, "group": "coffee_raw_can_food_big_240" } ] }, { @@ -324,22 +318,22 @@ { "item": "lasagne_raw", "prob": 40 }, { "item": "macaroni_raw", "prob": 40 }, { "item": "noodles_fast", "prob": 30 }, - { "item": "ravioli", "prob": 25 }, + { "prob": 25, "group": "ravioli_can_medium_2" }, { "item": "sauce_red", "prob": 20 }, { "item": "sauce_pesto", "prob": 15 }, - { "item": "bread", "charges": 14, "prob": 14 }, - { "item": "bread_wheat_free", "charges": 14, "prob": 14 }, - { "item": "cornbread", "charges": 6, "prob": 7 }, - { "item": "flatbread", "charges": 6, "prob": 7 }, - { "item": "crackers", "prob": 20 }, - { "item": "oyster_crackers", "prob": 15 }, - { "item": "grahmcrackers", "prob": 20 }, - { "item": "marshmallow", "prob": 20 }, - { "item": "biscuit", "prob": 12 }, - { "item": "hardtack", "prob": 2 }, - { "item": "seasoning_salt", "prob": 25 }, - { "item": "seasoning_italian", "prob": 25 }, - { "item": "pecorino_cheese", "prob": 30 }, + { "prob": 14, "group": "bread_bag_plastic_14" }, + { "prob": 14, "group": "bread_wheat_free_bag_plastic_14" }, + { "prob": 7, "group": "cornbread_bag_plastic_6" }, + { "prob": 7, "group": "flatbread_bag_plastic_6" }, + { "prob": 20, "group": "crackers_box_small_8" }, + { "prob": 15, "group": "oyster_crackers_plastic_bag_vac_8" }, + { "prob": 20, "group": "grahmcrackers_box_small_8" }, + { "prob": 20, "group": "marshmallow_bag_plastic_5" }, + { "prob": 12, "group": "biscuit_box_small_10" }, + { "item": "hardtack", "prob": 2, "count": 2 }, + { "prob": 25, "group": "seasoning_salt_bag_plastic_100" }, + { "prob": 25, "group": "seasoning_italian_bag_plastic_100" }, + { "prob": 30, "group": "pecorino_cheese_wrapper_4" }, { "item": "eggplant", "prob": 30 } ] }, @@ -356,7 +350,7 @@ { "item": "cherries", "prob": 30 }, { "item": "plums", "prob": 30 }, { "item": "grapes", "prob": 50 }, - { "item": "cranberries", "prob": 7 }, + { "item": "cranberries", "prob": 7, "count": 3 }, { "item": "raspberries", "prob": 7 }, { "item": "blackberries", "prob": 7 }, { "item": "rhubarb", "prob": 20 }, @@ -373,8 +367,8 @@ { "item": "wheat", "prob": 3 }, { "item": "onion", "prob": 3 }, { "item": "garlic", "prob": 3 }, - { "item": "pine_nuts", "prob": 10 }, - { "item": "carrot", "prob": 3 }, + { "prob": 10, "group": "pine_nuts_bag_plastic_4" }, + { "item": "carrot", "prob": 3, "count": 6 }, { "item": "bell_pepper", "prob": 7 }, { "item": "eggplant", "prob": 7 } ] @@ -391,7 +385,7 @@ { "item": "cooking_oil", "prob": 40 }, { "item": "cooking_oil2", "prob": 40 }, { "item": "honey_bottled", "prob": 15 }, - { "item": "honey_glassed", "prob": 5 }, + { "prob": 5, "group": "honey_glassed_jar_glass_sealed_5" }, { "item": "jar_glass_sealed", "prob": 20 }, { "item": "jar_3l_glass_sealed", "prob": 30 }, { "item": "vinegar", "prob": 15 } @@ -414,7 +408,7 @@ { "item": "grapes", "prob": 20 }, { "item": "pineapple", "prob": 5 }, { "item": "peach", "prob": 10 }, - { "item": "cranberries", "prob": 7 }, + { "item": "cranberries", "prob": 7, "count": 3 }, { "item": "watermelon", "prob": 5 }, { "item": "melon", "prob": 5 }, { "item": "mango", "prob": 10 }, @@ -425,17 +419,17 @@ { "item": "apricot", "prob": 5 }, { "item": "mushroom", "prob": 20 }, { "item": "tomato", "prob": 20 }, - { "item": "lettuce", "prob": 15 }, - { "item": "cabbage", "prob": 10 }, - { "item": "spinach", "prob": 6 }, + { "item": "lettuce", "prob": 15, "count": 5 }, + { "item": "cabbage", "prob": 10, "count": 8 }, + { "item": "spinach", "prob": 6, "count": 9 }, { "item": "cucumber", "prob": 10 }, { "item": "pumpkin", "prob": 10 }, { "item": "celery", "prob": 3 }, { "item": "broccoli", "prob": 9 }, { "item": "zucchini", "prob": 15 }, { "item": "onion", "prob": 15 }, - { "item": "chili_pepper", "prob": 15 }, - { "item": "carrot", "prob": 15 }, + { "item": "chili_pepper", "prob": 15, "count": 3 }, + { "item": "carrot", "prob": 15, "count": 6 }, { "item": "potato", "prob": 15 }, { "item": "blueberries", "prob": 3 }, { "item": "strawberries", "prob": 2 }, @@ -443,7 +437,7 @@ { "item": "blackberries", "prob": 7 }, { "item": "cholla_bud", "prob": 3 }, { "item": "garlic", "prob": 3 }, - { "item": "pine_nuts", "prob": 10 }, + { "prob": 10, "group": "pine_nuts_bag_plastic_4" }, { "item": "eggplant", "prob": 10 } ] }, @@ -484,20 +478,20 @@ "id": "candy_chocolate", "subtype": "distribution", "entries": [ - { "item": "chocolate", "prob": 70 }, - { "item": "candy", "prob": 70 }, - { "item": "candy2", "prob": 70 }, - { "item": "candy3", "prob": 70 }, - { "item": "candy4", "prob": 70 }, - { "item": "cow_candy", "prob": 20 }, - { "item": "maltballs", "prob": 60 }, - { "item": "mintpatties", "prob": 60 }, - { "item": "neccowafers", "prob": 55 }, - { "item": "powder_candy", "prob": 50 }, - { "item": "candycigarette", "prob": 15 }, - { "item": "maple_candy", "prob": 10 }, - { "item": "candy_bracelet", "prob": 10 }, - { "item": "candy_coated_peanuts", "prob": 50 } + { "prob": 70, "group": "chocolate_wrapper_3" }, + { "prob": 70, "group": "candy_bag_plastic_3" }, + { "prob": 70, "group": "candy2_bag_plastic_3" }, + { "prob": 70, "group": "candy3_bag_plastic_3" }, + { "prob": 70, "group": "candy4_bag_plastic_3" }, + { "prob": 20, "group": "cow_candy_bag_plastic_3" }, + { "prob": 60, "group": "maltballs_box_snack_4" }, + { "prob": 60, "group": "mintpatties_bag_plastic_3" }, + { "prob": 55, "group": "neccowafers_bag_plastic_3" }, + { "item": "powder_candy", "prob": 50, "count": 5 }, + { "prob": 15, "group": "candycigarette_box_cigarette_3" }, + { "prob": 10, "group": "maple_candy_bag_plastic_2" }, + { "prob": 10, "group": "candy_bracelet_bag_plastic_3" }, + { "prob": 50, "group": "candy_coated_peanuts_box_snack_2" } ] }, { @@ -505,26 +499,26 @@ "id": "salty_snacks", "subtype": "distribution", "entries": [ - { "item": "chips", "prob": 65 }, - { "item": "chips2", "prob": 65 }, - { "item": "chips3", "prob": 65 }, - { "item": "pretzels", "prob": 55 }, + { "prob": 65, "group": "chips_bag_plastic_3" }, + { "prob": 65, "group": "chips2_bag_plastic_3" }, + { "prob": 65, "group": "chips3_bag_plastic_3" }, + { "prob": 55, "group": "pretzels_bag_plastic_3" }, { "item": "jerky", "prob": 55 }, - { "item": "porkstick", "prob": 55 }, - { "item": "nachos", "prob": 50 }, - { "item": "chocpretzels", "prob": 40 }, - { "item": "popcorn", "prob": 25 }, - { "item": "popcorn2", "prob": 35 }, - { "item": "popcorn3", "prob": 35 }, - { "item": "cracklins", "prob": 25 }, - { "item": "fried_seeds", "prob": 25 } + { "prob": 55, "group": "porkstick_bag_plastic_4" }, + { "prob": 50, "group": "nachos_bag_plastic_3" }, + { "prob": 40, "group": "chocpretzels_bag_plastic_3" }, + { "prob": 25, "group": "popcorn_bag_plastic_4" }, + { "prob": 35, "group": "popcorn2_bag_plastic_4" }, + { "prob": 35, "group": "popcorn3_bag_plastic_4" }, + { "prob": 25, "group": "cracklins_bag_plastic_4" }, + { "prob": 25, "group": "fried_seeds_bag_plastic_4" } ] }, { "type": "item_group", "id": "toastems", "subtype": "distribution", - "entries": [ { "item": "toastem" }, { "item": "toastem2" }, { "item": "toastem3" } ] + "entries": [ { "group": "toastem_box_small_8" }, { "group": "toastem2_box_small_8" }, { "group": "toastem3_box_small_8" } ] }, { "type": "item_group", @@ -535,19 +529,19 @@ { "group": "salty_snacks", "prob": 595 }, { "item": "foodplace_snack_bar", "prob": 5 }, { "item": "pemmican", "prob": 5 }, - { "item": "granola", "prob": 10 }, - { "item": "cookies", "prob": 80 }, - { "item": "tea_raw", "prob": 10 }, - { "item": "tea_green_raw", "prob": 5 }, + { "prob": 10, "group": "granola_bag_plastic_4" }, + { "prob": 80, "group": "cookies_box_snack_4" }, + { "prob": 10, "group": "tea_raw_bag_plastic_33" }, + { "prob": 5, "group": "tea_green_raw_bag_plastic_33" }, { "item": "instant_coffee", "prob": 20 }, - { "item": "choco_coffee_beans", "prob": 10 }, - { "item": "salt", "prob": 10 }, - { "item": "pepper", "prob": 10 }, + { "prob": 10, "group": "choco_coffee_beans_bag_plastic_5" }, + { "prob": 10, "group": "salt_bag_plastic_100" }, + { "prob": 10, "group": "pepper_bag_plastic_100" }, { "item": "syrup", "prob": 10 }, { "item": "coffee_syrup", "prob": 10 }, - { "item": "fruit_leather", "prob": 25 }, + { "prob": 25, "group": "fruit_leather_bag_plastic_5" }, { "item": "kernels", "prob": 25 }, - { "item": "pine_nuts", "prob": 20 }, + { "prob": 20, "group": "pine_nuts_bag_plastic_4" }, { "group": "teabag_box", "prob": 10 }, { "group": "soup_box", "prob": 10 } ] @@ -561,11 +555,11 @@ { "item": "sandwich_cucumber", "prob": 25 }, { "item": "juice", "prob": 20 }, { "item": "tomato_juice", "prob": 15 }, - { "item": "granola", "prob": 15 }, - { "item": "mintpatties", "prob": 8 }, - { "item": "choco_coffee_beans", "prob": 8 }, - { "item": "fruit_leather", "prob": 15 }, - { "item": "pine_nuts", "prob": 20 } + { "prob": 15, "group": "granola_bag_plastic_4" }, + { "prob": 8, "group": "mintpatties_bag_plastic_3" }, + { "prob": 8, "group": "choco_coffee_beans_bag_plastic_5" }, + { "prob": 15, "group": "fruit_leather_bag_plastic_5" }, + { "prob": 20, "group": "pine_nuts_bag_plastic_4" } ] }, { @@ -574,10 +568,10 @@ "subtype": "distribution", "entries": [ { "item": "sandwich_cucumber", "prob": 15 }, - { "item": "sandwich_deluxe", "prob": 10 }, - { "item": "sandwich_reuben", "prob": 15 }, + { "prob": 10, "group": "sandwich_deluxe_wrapper_2" }, + { "prob": 15, "group": "sandwich_reuben_wrapper_2" }, { "item": "sandwich_veggy", "prob": 30 }, - { "item": "sandwich_t", "prob": 30 }, + { "prob": 30, "group": "sandwich_t_wrapper_2" }, { "item": "sandwich_pb", "prob": 1 }, { "item": "sandwich_pbj", "prob": 1 }, { "item": "sandwich_pbh", "prob": 1 }, @@ -595,8 +589,8 @@ "entries": [ { "item": "water_clean", "prob": 90 }, { "item": "water_mineral", "prob": 10 }, - { "item": "sandwich_deluxe", "prob": 20 }, - { "item": "sandwich_reuben", "prob": 10 }, + { "prob": 20, "group": "sandwich_deluxe_wrapper_2" }, + { "prob": 10, "group": "sandwich_reuben_wrapper_2" }, { "item": "sandwich_veggy", "prob": 30 }, { "item": "sandwich_cucumber", "prob": 25 }, { "item": "oj", "prob": 50 }, @@ -616,20 +610,20 @@ { "item": "yoghurt", "prob": 40 }, { "item": "pudding", "prob": 50 }, { "item": "V8", "prob": 15 }, - { "item": "foodplace_food", "prob": 8 }, - { "item": "sandwich_t", "prob": 30 }, + { "prob": 8, "group": "foodplace_food_box_small_4" }, + { "prob": 30, "group": "sandwich_t_wrapper_2" }, { "item": "sandwich_pb", "prob": 30 }, { "item": "sandwich_pbj", "prob": 30 }, { "item": "sandwich_pbh", "prob": 30 }, { "item": "sandwich_pbm", "prob": 30 }, - { "item": "frozen_dinner", "prob": 50 }, + { "prob": 50, "group": "frozen_dinner_box_small_2" }, { "item": "junk_burrito", "prob": 60 }, { "item": "dried_salad", "prob": 6 }, - { "item": "pizza_veggy", "prob": 8 }, - { "item": "pizza_cheese", "prob": 8 }, - { "item": "pizza_meat", "prob": 8 }, + { "prob": 8, "group": "pizza_veggy_box_small_4" }, + { "prob": 8, "group": "pizza_cheese_box_small_4" }, + { "prob": 8, "group": "pizza_meat_box_small_4" }, { "item": "cheeseburger", "prob": 4 }, - { "item": "fried_mozzarella_sticks", "prob": 11 }, + { "prob": 11, "group": "fried_mozzarella_sticks_bag_plastic_4" }, { "item": "deluxe_cheeseburger", "prob": 6 }, { "item": "hamburger", "prob": 8 }, { "item": "tofu_rice", "prob": 4 }, @@ -638,19 +632,19 @@ { "item": "lobster_cakes", "prob": 8 }, { "item": "lobster_roll", "prob": 8 }, { "item": "sloppyjoe", "prob": 8 }, - { "item": "hotdogs_frozen", "prob": 8 }, + { "prob": 8, "group": "hotdogs_frozen_bag_plastic_10" }, { "item": "fries", "prob": 8 }, { "item": "cheese_fries", "prob": 6 }, { "item": "onion_rings", "prob": 8 }, - { "item": "bacon", "prob": 10 }, + { "prob": 10, "group": "bacon_bag_plastic_2" }, { "item": "lunchmeat", "prob": 8 }, - { "item": "bologna", "prob": 6 }, - { "item": "fruit_leather", "prob": 15 }, + { "prob": 6, "group": "bologna_bag_plastic_10" }, + { "prob": 15, "group": "fruit_leather_bag_plastic_5" }, { "item": "protein_shake", "prob": 10 }, - { "item": "pie", "prob": 20 }, - { "item": "pie_veggy", "prob": 18 }, - { "item": "pie_meat", "prob": 18 }, - { "item": "pie_maple", "prob": 9 }, + { "prob": 20, "group": "pie_box_small_8" }, + { "prob": 18, "group": "pie_veggy_box_small_8" }, + { "prob": 18, "group": "pie_meat_box_small_8" }, + { "prob": 9, "group": "pie_maple_box_small_8" }, { "item": "gelatin_dessert_processed", "prob": 40 }, { "item": "mascarpone", "prob": 8 }, { "item": "tiramisu", "prob": 12 } @@ -673,11 +667,11 @@ { "item": "icecream_custard", "prob": 4 }, { "item": "icecream_sorbet", "prob": 4 }, { "item": "icecream_gelato", "prob": 4 }, - { "item": "pie", "prob": 20 }, - { "item": "pie_veggy", "prob": 15 }, - { "item": "pie_meat", "prob": 15 }, - { "item": "pie_maple", "prob": 10 }, - { "item": "pecorino_cheese", "prob": 10 }, + { "prob": 20, "group": "pie_box_small_8" }, + { "prob": 15, "group": "pie_veggy_box_small_8" }, + { "prob": 15, "group": "pie_meat_box_small_8" }, + { "prob": 10, "group": "pie_maple_box_small_8" }, + { "prob": 10, "group": "pecorino_cheese_wrapper_4" }, { "item": "tiramisu", "prob": 12 } ] }, @@ -798,45 +792,45 @@ { "item": "beer", "prob": 15 }, { "item": "drink_hard_seltzer", "prob": 15 }, { "item": "meat", "prob": 65 }, - { "item": "glazed_tenderloin", "prob": 55 }, + { "item": "glazed_tenderloin", "prob": 55, "count": 3 }, { "item": "fish", "prob": 10 }, { "item": "fish_smoked", "prob": 5 }, { "item": "lobster", "prob": 10 }, { "item": "lobster_smoked", "prob": 5 }, { "item": "lobster_cakes", "prob": 10 }, { "item": "crab_cakes", "prob": 10 }, - { "item": "stuffed_clams", "prob": 5 }, + { "prob": 5, "group": "stuffed_clams_box_small_5" }, { "item": "meat_smoked", "prob": 60 }, { "item": "sausage", "prob": 35 }, - { "item": "bratwurst_sausage", "prob": 30 }, - { "item": "hotdogs_frozen", "prob": 65 }, + { "item": "bratwurst_sausage", "prob": 30, "count": 10 }, + { "prob": 65, "group": "hotdogs_frozen_bag_plastic_10" }, { "item": "hotdogs_cooked", "prob": 65 }, { "item": "hotdogs_newyork", "prob": 45 }, - { "item": "chilidogs", "prob": 30 }, - { "item": "currywurst", "prob": 15 }, - { "item": "lettuce", "prob": 45 }, + { "prob": 30, "group": "chilidogs_wrapper_2" }, + { "prob": 15, "group": "currywurst_wrapper_2" }, + { "item": "lettuce", "prob": 45, "count": 5 }, { "item": "tomato", "prob": 45 }, { "item": "onion", "prob": 30 }, - { "item": "chili_pepper", "prob": 30 }, + { "item": "chili_pepper", "prob": 30, "count": 3 }, { "item": "corn", "prob": 20 }, - { "item": "irradiated_lettuce", "prob": 20 }, + { "prob": 20, "group": "irradiated_lettuce_bag_plastic_5" }, { "item": "irradiated_tomato", "prob": 20 }, { "item": "irradiated_onion", "prob": 5 }, { "item": "irradiated_corn", "prob": 10 }, - { "item": "bacon", "prob": 20 }, + { "prob": 20, "group": "bacon_bag_plastic_2" }, { "item": "potato_baked", "prob": 15 }, - { "item": "bread", "charges": 14, "prob": 40 }, - { "item": "bread_wheat_free", "charges": 14, "prob": 40 }, + { "prob": 40, "group": "bread_bag_plastic_14" }, + { "prob": 40, "group": "bread_wheat_free_bag_plastic_14" }, { "group": "ketchup_sealed_rng", "prob": 70 }, { "group": "mustard_sealed_rng", "prob": 75 }, { "group": "barbecue_sauce_sealed_rng", "prob": 80 }, { "group": "honey_mustard_sealed_rng", "prob": 40 }, - { "item": "pickle", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 20, "group": "pickle_jar_glass_sealed_2" }, { "item": "pickle", "prob": 20 }, { "item": "cheeseburger", "prob": 20 }, { "item": "deluxe_cheeseburger", "prob": 50 }, { "item": "hamburger", "prob": 70 }, - { "item": "cheese", "prob": 45 }, + { "prob": 45, "group": "cheese_bag_plastic_8" }, { "item": "mozzarella_cheese", "prob": 30 }, { "item": "ceramic_plate", "prob": 30 }, { "item": "knife_steak", "prob": 45 }, @@ -854,10 +848,10 @@ { "item": "hamburger", "count": [ 0, 3 ] }, { "item": "sloppyjoe", "count": [ 0, 3 ] }, { "item": "fries", "count": [ 0, 3 ] }, - { "item": "fried_mozzarella_sticks", "count": [ 0, 3 ] }, + { "count": [ 0, 3 ], "group": "fried_mozzarella_sticks_bag_plastic_4" }, { "item": "hotdogs_cooked", "count": [ 0, 3 ] }, - { "item": "corndogs_cooked", "count": [ 0, 3 ] }, - { "item": "bacon", "count": [ 0, 3 ] } + { "count": [ 0, 3 ], "group": "corndogs_cooked_wrapper_2" }, + { "count": [ 0, 3 ], "group": "bacon_bag_plastic_2" } ] }, { @@ -875,10 +869,10 @@ { "item": "honey_mustard", "count": [ 0, 3 ], "charges": [ 10, 48 ] }, { "item": "mayonnaise", "count": [ 0, 3 ], "charges": [ 10, 16 ] }, { "item": "onion", "count": [ 0, 3 ] }, - { "item": "chili_pepper", "count": [ 0, 3 ], "charges": [ 1, 3 ] }, - { "item": "lettuce", "count": [ 0, 3 ], "charges": [ 5, 10 ] }, + { "item": "chili_pepper", "count": [ 0, 9 ] }, + { "item": "lettuce", "count": [ 0, 30 ] }, { "item": "tomato", "count": [ 0, 3 ] }, - { "item": "cheese", "count": [ 0, 3 ], "charges": [ 4, 8 ] } + { "count": [ 0, 3 ], "group": "cheese_bag_plastic_4_8" } ] }, { @@ -889,21 +883,21 @@ { "group": "candy_chocolate", "prob": 480 }, { "group": "softdrinks_canned", "prob": 480 }, { "item": "water_clean", "prob": 90 }, - { "item": "sandwich_t", "prob": 30 }, + { "prob": 30, "group": "sandwich_t_wrapper_2" }, { "item": "sandwich_pb", "prob": 30 }, { "item": "sandwich_pbj", "prob": 30 }, { "item": "sandwich_pbh", "prob": 30 }, { "item": "sandwich_pbm", "prob": 30 }, - { "item": "pizza_veggy", "prob": 8 }, - { "item": "pizza_cheese", "prob": 8 }, - { "item": "pizza_meat", "prob": 8 }, - { "item": "pie", "prob": 20 }, - { "item": "pie_meat", "prob": 20 }, - { "item": "pie_veggy", "prob": 20 }, - { "item": "pie_maple", "prob": 10 }, - { "item": "chips", "prob": 65 }, - { "item": "fried_seeds", "prob": 25 }, - { "item": "cookies", "prob": 60 }, + { "prob": 8, "group": "pizza_veggy_box_small_4" }, + { "prob": 8, "group": "pizza_cheese_box_small_4" }, + { "prob": 8, "group": "pizza_meat_box_small_4" }, + { "prob": 20, "group": "pie_box_small_8" }, + { "prob": 20, "group": "pie_meat_box_small_8" }, + { "prob": 20, "group": "pie_veggy_box_small_8" }, + { "prob": 10, "group": "pie_maple_box_small_8" }, + { "prob": 65, "group": "chips_bag_plastic_3" }, + { "prob": 25, "group": "fried_seeds_bag_plastic_4" }, + { "prob": 60, "group": "cookies_box_snack_4" }, { "item": "mayonnaise", "prob": 60 }, { "item": "spork", "prob": 10 }, { "item": "foon", "prob": 10 }, @@ -914,19 +908,19 @@ { "item": "soysauce", "prob": 45 }, { "item": "hot_sauce", "prob": 45 }, { "item": "horseradish", "prob": 30 }, - { "item": "pickle", "prob": 40, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "salt", "prob": 20 }, - { "item": "pepper", "prob": 20 }, + { "prob": 40, "group": "pickle_jar_glass_sealed_2" }, + { "prob": 20, "group": "salt_bag_plastic_100" }, + { "prob": 20, "group": "pepper_bag_plastic_100" }, { "item": "meat_smoked", "prob": 4 }, { "item": "fish_smoked", "prob": 4 }, { "item": "lobster_smoked", "prob": 4 }, { "item": "cheeseburger", "prob": 20 }, { "item": "deluxe_cheeseburger", "prob": 60 }, - { "item": "hotdogs_frozen", "prob": 12 }, + { "prob": 12, "group": "hotdogs_frozen_bag_plastic_10" }, { "item": "hotdogs_cooked", "prob": 35 }, - { "item": "foodplace_food", "prob": 8 }, - { "item": "chili", "prob": 20 }, - { "item": "chilidogs", "prob": 20 }, + { "prob": 8, "group": "foodplace_food_box_small_4" }, + { "prob": 20, "group": "chili_can_medium_2" }, + { "prob": 20, "group": "chilidogs_wrapper_2" }, { "item": "hotdogs_newyork", "prob": 15 }, { "item": "fries", "prob": 80 }, { "item": "cheese_fries", "prob": 70 }, @@ -937,11 +931,11 @@ { "item": "lobster_roll", "prob": 8 }, { "item": "lobster_cakes", "prob": 6 }, { "item": "crab_cakes", "prob": 6 }, - { "item": "stuffed_clams", "prob": 4 }, + { "prob": 4, "group": "stuffed_clams_box_small_5" }, { "item": "tofu_rice", "prob": 4 }, { "item": "sloppyjoe", "prob": 8 }, - { "item": "bacon", "prob": 25 }, - { "item": "cheese", "prob": 30 }, + { "prob": 25, "group": "bacon_bag_plastic_2" }, + { "prob": 30, "group": "cheese_bag_plastic_8" }, { "item": "mozzarella_cheese", "prob": 20 }, { "item": "restaurantmap", "prob": 5 }, { "item": "touristmap", "prob": 2 }, @@ -956,12 +950,12 @@ "id": "teabag_box", "subtype": "distribution", "entries": [ - { "item": "tea_bag", "prob": 20, "container-item": "box_tea", "charges-min": 1, "charges-max": 10 }, - { "item": "tea_fruit_bag", "prob": 10, "container-item": "box_tea", "charges-min": 1, "charges-max": 10 }, - { "item": "tea_green_bag", "prob": 10, "container-item": "box_tea", "charges-min": 1, "charges-max": 10 }, - { "item": "tea_bag_chamomile", "prob": 10, "container-item": "box_tea", "charges-min": 1, "charges-max": 10 }, - { "item": "herbal_tea_bag", "prob": 5, "container-item": "box_tea", "charges-min": 1, "charges-max": 10 }, - { "item": "tea_bag_dandelion", "prob": 5, "container-item": "box_tea", "charges-min": 1, "charges-max": 10 } + { "prob": 20, "group": "tea_bag_box_tea_1_10" }, + { "prob": 10, "group": "tea_fruit_bag_box_tea_1_10" }, + { "prob": 10, "group": "tea_green_bag_box_tea_1_10" }, + { "prob": 10, "group": "tea_bag_chamomile_box_tea_1_10" }, + { "prob": 5, "group": "herbal_tea_bag_box_tea_1_10" }, + { "prob": 5, "group": "tea_bag_dandelion_box_tea_1_10" } ] }, { @@ -975,20 +969,8 @@ "id": "soup_packet", "subtype": "distribution", "entries": [ - { - "item": "soup_instant_chicken_noodle_powder", - "prob": 50, - "container-item": "bag_paper_powder", - "charges-min": 1, - "charges-max": 1 - }, - { - "item": "soup_instant_vegetable_powder", - "prob": 50, - "container-item": "bag_paper_powder", - "charges-min": 1, - "charges-max": 1 - } + { "prob": 50, "group": "soup_instant_chicken_noodle_powder_bag_paper_powder_1" }, + { "prob": 50, "group": "soup_instant_vegetable_powder_bag_paper_powder_1" } ] }, { @@ -1027,5 +1009,429 @@ { "item": "cheeseburger", "prob": 5 }, { "item": "hamburger", "prob": 5 } ] + }, + { + "type": "item_group", + "id": "confit_meat_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "confit_meat", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "lobster_canned_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "lobster_canned", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "fruit_leather_bag_plastic_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "fruit_leather", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "dry_lentils_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dry_lentils", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "gelatin_powder_bag_plastic_25", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "gelatin_powder", "container-item": "null", "count": 25 } ] + }, + { + "type": "item_group", + "id": "chem_agar_bottle_plastic_small_50", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "chem_agar", "container-item": "null", "count": 50 } ] + }, + { + "type": "item_group", + "id": "brown_bread_can_medium_14", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "brown_bread", "container-item": "null", "count": 14 } ] + }, + { + "type": "item_group", + "id": "pelmeni_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "pelmeni", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "canned_liver_can_food_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food", + "entries": [ { "item": "canned_liver", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "offal_canned_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "offal_canned", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "can_beans_can_food_big_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food_big", + "entries": [ { "item": "can_beans", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "can_tomato_can_food_big_24", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food_big", + "entries": [ { "item": "can_tomato", "container-item": "null", "count": 24 } ] + }, + { + "type": "item_group", + "id": "can_pineapple_can_food_big_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food_big", + "entries": [ { "item": "can_pineapple", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "can_corn_can_food_big_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food_big", + "entries": [ { "item": "can_corn", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "coffee_raw_can_food_big_240", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food_big", + "entries": [ { "item": "coffee_raw", "container-item": "null", "count": 240 } ] + }, + { + "type": "item_group", + "id": "bread_wheat_free_bag_plastic_14", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "bread_wheat_free", "container-item": "null", "count": 14 } ] + }, + { + "type": "item_group", + "id": "pecorino_cheese_wrapper_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "pecorino_cheese", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "pine_nuts_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "pine_nuts", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "candy_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "candy", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "candy2_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "candy2", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "candy3_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "candy3", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "candy4_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "candy4", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "cow_candy_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cow_candy", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "maltballs_box_snack_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_snack", + "entries": [ { "item": "maltballs", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "mintpatties_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "mintpatties", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "candycigarette_box_cigarette_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_cigarette", + "entries": [ { "item": "candycigarette", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "maple_candy_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "maple_candy", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "candy_bracelet_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "candy_bracelet", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "candy_coated_peanuts_box_snack_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_snack", + "entries": [ { "item": "candy_coated_peanuts", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "pretzels_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "pretzels", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "porkstick_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "porkstick", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "chocpretzels_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "chocpretzels", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "popcorn_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "popcorn", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "popcorn2_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "popcorn2", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "popcorn3_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "popcorn3", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "cracklins_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cracklins", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "granola_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "granola", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "sandwich_deluxe_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_deluxe", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "sandwich_reuben_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_reuben", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "foodplace_food_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "foodplace_food", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "pie_veggy_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pie_veggy", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "pie_maple_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pie_maple", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "stuffed_clams_box_small_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "stuffed_clams", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "currywurst_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "currywurst", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "cheese_bag_plastic_4_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cheese", "container-item": "null", "count": [ 4, 8 ] } ] + }, + { + "type": "item_group", + "id": "tea_bag_box_tea_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_tea", + "entries": [ { "item": "tea_bag", "container-item": "null", "count-min": 1, "count-max": 10 } ] + }, + { + "type": "item_group", + "id": "tea_fruit_bag_box_tea_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_tea", + "entries": [ { "item": "tea_fruit_bag", "container-item": "null", "count-min": 1, "count-max": 10 } ] + }, + { + "type": "item_group", + "id": "tea_green_bag_box_tea_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_tea", + "entries": [ { "item": "tea_green_bag", "container-item": "null", "count-min": 1, "count-max": 10 } ] + }, + { + "type": "item_group", + "id": "tea_bag_chamomile_box_tea_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_tea", + "entries": [ { "item": "tea_bag_chamomile", "container-item": "null", "count-min": 1, "count-max": 10 } ] + }, + { + "type": "item_group", + "id": "herbal_tea_bag_box_tea_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_tea", + "entries": [ { "item": "herbal_tea_bag", "container-item": "null", "count-min": 1, "count-max": 10 } ] + }, + { + "type": "item_group", + "id": "tea_bag_dandelion_box_tea_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_tea", + "entries": [ { "item": "tea_bag_dandelion", "container-item": "null", "count-min": 1, "count-max": 10 } ] + }, + { + "type": "item_group", + "id": "soup_instant_chicken_noodle_powder_bag_paper_powder_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_paper_powder", + "entries": [ { "item": "soup_instant_chicken_noodle_powder", "container-item": "null", "count-min": 1, "count-max": 1 } ] + }, + { + "type": "item_group", + "id": "soup_instant_vegetable_powder_bag_paper_powder_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_paper_powder", + "entries": [ { "item": "soup_instant_vegetable_powder", "container-item": "null", "count-min": 1, "count-max": 1 } ] } ] diff --git a/data/json/itemgroups/Labs/labs_mutagen.json b/data/json/itemgroups/Labs/labs_mutagen.json index 305944ea665e8..ca1b88cf662ce 100644 --- a/data/json/itemgroups/Labs/labs_mutagen.json +++ b/data/json/itemgroups/Labs/labs_mutagen.json @@ -13,22 +13,22 @@ { "item": "can_clams", "count": [ 1, 3 ], "prob": 30 }, { "item": "lye_powder", "prob": 30 }, { "item": "honeycomb", "prob": 30 }, - { "item": "iodine", "prob": 30 }, + { "prob": 30, "group": "iodine_bottle_plastic_pill_supplement_10" }, { "item": "disinfectant", "prob": 30 }, - { "item": "protein_powder", "prob": 30 }, + { "prob": 30, "group": "protein_powder_bottle_plastic_small_9" }, { "item": "bee_sting", "prob": 20 }, { "item": "slime_scrap", "prob": 20 }, { "item": "datura_seed", "prob": 20 }, { "item": "chitin_piece", "prob": 20 }, { "item": "oxy_powder", "prob": 30 }, - { "item": "heroin", "prob": 10 }, - { "item": "lsd", "prob": 10 }, - { "item": "oxycodone", "prob": 10 }, - { "item": "tramadol", "prob": 10 }, - { "item": "codeine", "prob": 10 }, - { "item": "thorazine", "prob": 10 }, - { "item": "pills_sleep", "prob": 20 }, - { "item": "vitamins", "prob": 30 } + { "prob": 10, "group": "heroin_bag_zipper_4" }, + { "item": "lsd", "prob": 10, "count": 5 }, + { "prob": 10, "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "group": "tramadol_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "group": "codeine_bottle_plastic_pill_painkiller_10" }, + { "prob": 10, "group": "thorazine_bottle_plastic_pill_prescription_10" }, + { "prob": 20, "group": "pills_sleep_bottle_plastic_pill_prescription_10" }, + { "prob": 30, "group": "vitamins_bottle_plastic_pill_supplement_20" } ] }, { @@ -42,9 +42,9 @@ { "item": "mouse_sample", "prob": 40, "count": [ 1, 3 ] }, { "item": "fish_sample", "prob": 40, "count": [ 1, 3 ] }, { "item": "meat_tainted", "prob": 30, "count": [ 1, 3 ] }, - { "item": "tallow", "prob": 30, "count": [ 1, 3 ] }, + { "item": "tallow", "prob": 30, "count": [ 2, 6 ] }, { "item": "fish", "prob": 40, "count": [ 1, 3 ] }, - { "item": "tallow_tainted", "prob": 20, "count": [ 1, 2 ] }, + { "item": "tallow_tainted", "prob": 20, "count": [ 2, 4 ] }, { "item": "egg_bird_unfert", "prob": 30, "count-min": 1, "count-max": 12 }, { "item": "gastropod_sample", "prob": 40, "count": [ 1, 3 ] }, { "item": "batrachian_sample", "prob": 40, "count": [ 1, 3 ] }, @@ -129,5 +129,53 @@ "subtype": "collection", "container-item": "lanyard", "items": [ { "item": "id_science_security_yellow", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "protein_powder_bottle_plastic_small_9", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "protein_powder", "container-item": "null", "count": 9 } ] + }, + { + "type": "item_group", + "id": "heroin_bag_zipper_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "heroin", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "tramadol_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "tramadol", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "thorazine_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "thorazine", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "pills_sleep_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "pills_sleep", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "vitamins_bottle_plastic_pill_supplement_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "vitamins", "container-item": "null", "count": 20 } ] } ] diff --git a/data/json/itemgroups/Locations_MapExtras/Arsonist_stock.json b/data/json/itemgroups/Locations_MapExtras/Arsonist_stock.json index 46040e2d0c22d..e5cdc9f652aeb 100644 --- a/data/json/itemgroups/Locations_MapExtras/Arsonist_stock.json +++ b/data/json/itemgroups/Locations_MapExtras/Arsonist_stock.json @@ -13,7 +13,15 @@ { "item": "nail", "count": 5, "charges": [ 1, 100 ] }, { "item": "rebar", "count": 5 }, { "item": "textbook_anarch", "count": 1 }, - { "item": "fertilizer_commercial", "count": 1 } + { "count": 1, "group": "fertilizer_commercial_bag_canvas_60" } ] + }, + { + "type": "item_group", + "id": "fertilizer_commercial_bag_canvas_60", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_canvas", + "entries": [ { "item": "fertilizer_commercial", "container-item": "null", "count": 60 } ] } ] diff --git a/data/json/itemgroups/Locations_MapExtras/airdrop.json b/data/json/itemgroups/Locations_MapExtras/airdrop.json index 466f46daef370..e86893040b89c 100644 --- a/data/json/itemgroups/Locations_MapExtras/airdrop.json +++ b/data/json/itemgroups/Locations_MapExtras/airdrop.json @@ -43,7 +43,7 @@ "type": "item_group", "subtype": "collection", "container-item": "box_small", - "entries": [ { "item": "pur_tablets", "container-item": "bottle_plastic_small", "charges": 15, "count": 8 } ] + "entries": [ { "count": 8, "group": "pur_tablets_bottle_plastic_small_15" } ] }, { "id": "twoliter_water_batch", diff --git a/data/json/itemgroups/Locations_MapExtras/locations.json b/data/json/itemgroups/Locations_MapExtras/locations.json index a023e8da3520d..2fa17a48c4c26 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations.json +++ b/data/json/itemgroups/Locations_MapExtras/locations.json @@ -30,11 +30,11 @@ "subtype": "distribution", "id": "smokelounge_items", "entries": [ - { "item": "cigar", "prob": 65 }, + { "item": "cigar", "prob": 65, "count": 5 }, { "group": "cigar_box_opened", "prob": 25 }, - { "item": "ecig", "prob": 25 }, - { "item": "cig", "prob": 35 }, - { "item": "tobacco", "prob": 45 }, + { "item": "ecig", "prob": 25, "count": 40 }, + { "prob": 35, "group": "cig_box_cigarette_20" }, + { "prob": 45, "group": "tobacco_bag_plastic_20" }, { "item": "rolling_paper", "prob": 15 }, { "item": "pipe_tobacco", "prob": 10 } ] @@ -249,7 +249,7 @@ [ "house_coat", 20 ], [ "gloves_medical", 50 ], { "item": "disinfectant", "prob": 35, "charges": [ 1, 10 ] }, - { "item": "aspirin", "prob": 40, "charges": [ 1, 20 ] }, + { "prob": 40, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, [ "flu_shot", 2 ], [ "blanket", 50 ], [ "down_blanket", 10 ], @@ -258,7 +258,7 @@ [ "teddy_bear", 2 ], { "item": "smoxygen_tank", "prob": 10, "charges": [ 0, 12 ] }, [ "antiparasitic", 3 ], - { "item": "diazepam", "prob": 3, "charges": [ 1, 10 ] }, + { "prob": 3, "group": "diazepam_bottle_plastic_pill_prescription_1_10" }, [ "recipe_augs", 3 ], { "group": "religious_books", "prob": 54 }, [ "recipe_medicalmut", 1 ], @@ -301,7 +301,7 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "aspirin", "prob": 50, "charges": [ 1, 20 ] }, + { "prob": 50, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "group": "full_1st_aid", "prob": 40 }, { "item": "bandages", "prob": 15, "count": [ 1, 3 ] }, { "item": "liq_bandage_spray", "prob": 5, "charges-min": 1 }, @@ -309,8 +309,8 @@ { "item": "duct_tape", "prob": 20, "charges": [ 50, 200 ] }, { "item": "sewing_kit", "prob": 10, "charges-min": 0 }, { "item": "mouthpiece", "prob": 10 }, - { "item": "cigar", "prob": 20, "charges": [ 1, 5 ] }, - { "item": "cig", "prob": 15, "charges": [ 1, 20 ] }, + { "item": "cigar", "prob": 20, "count": [ 1, 5 ] }, + { "prob": 15, "group": "cig_box_cigarette_1_20" }, { "item": "matches", "prob": 10, "charges": [ 1, 20 ] }, { "item": "ref_matches", "prob": 10, "charges": [ 1, 32 ] } ] @@ -1006,7 +1006,7 @@ [ "flyer", 10 ], [ "file", 10 ], [ "child_book", 2 ], - { "item": "lsd", "prob": 1, "charges": [ 1, 5 ] }, + { "item": "lsd", "prob": 1, "count": [ 1, 5 ] }, { "item": "foodperson_mask", "prob": 1, "charges": [ 0, 500 ] }, [ "55gal_drum", 10 ], [ "30gal_drum", 15 ], @@ -1226,10 +1226,10 @@ { "group": "adhesive_bandages_box_used", "prob": 25 }, { "group": "cotton_ball_bag_used", "prob": 50 }, [ "pan", 60 ], - { "item": "coke", "prob": 10, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 90, "charges": [ 1, 6 ] }, + { "prob": 10, "group": "coke_bag_zipper_1_8" }, + { "prob": 90, "group": "meth_bag_zipper_1_6" }, [ "jar_glass_sealed", 80 ], - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, { "item": "bleach", "prob": 60, "charges-min": 10 }, { "item": "ammonia_liquid", "prob": 80, "charges-min": 6 }, { "item": "chem_baking_soda", "prob": 60, "charges-min": 10 }, @@ -1244,9 +1244,9 @@ { "item": "ref_matches", "prob": 60, "charges": [ 0, 32 ] }, [ "sewage", 60 ], [ "pipebomb", 4 ], - { "item": "crack", "prob": 8, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "crack_bag_zipper_1_4" }, [ "crackpipe", 37 ], - { "item": "lsd", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "lsd", "prob": 10, "count": [ 1, 5 ] }, { "item": "ketene_lamp", "prob": 5, "charges": [ 0, 500 ] }, { "item": "chemistry_set", "prob": 50, "charges": [ 0, 500 ] }, { "group": "ammo_pocket_batteries_full", "prob": 70 }, @@ -1556,15 +1556,15 @@ "subtype": "distribution", "entries": [ { "item": "crackpipe", "prob": 8 }, - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, { "item": "joint", "prob": 10 }, - { "item": "seed_weed", "prob": 15 }, + { "item": "seed_weed", "prob": 15, "count": 2 }, { "item": "seed_tobacco", "prob": 5 }, { "item": "rolling_paper", "prob": 5 }, { "item": "pipe_glass", "prob": 15 }, - { "item": "coke", "prob": 8, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "coke_bag_zipper_1_8" }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, { "item": "syringe", "prob": 8 }, { "item": "electrohack", "prob": 3, "charges": [ 0, 100 ] }, { "item": "textbook_gaswarfare", "prob": 1 }, @@ -1584,7 +1584,7 @@ { "item": "tazer", "prob": 3, "charges": [ 0, 500 ] }, { "item": "software_hacking", "prob": 10 }, { "item": "spray_can", "prob": 50, "charges": [ 0, 10 ] }, - { "item": "lsd", "prob": 2, "charges": [ 1, 5 ] }, + { "item": "lsd", "prob": 2, "count": [ 1, 5 ] }, { "item": "pocketwatch", "prob": 5 }, { "item": "sf_watch", "prob": 5 }, { "item": "platinum_watch", "prob": 1 }, @@ -1654,11 +1654,11 @@ "subtype": "collection", "entries": [ { "item": "blood", "prob": 30, "container-item": "flask_glass", "count": [ 1, 3 ] }, - { "item": "coke", "prob": 32, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 8, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 4, "charges": [ 1, 4 ] }, - { "item": "crack", "prob": 16, "charges": [ 1, 4 ] }, - { "item": "lsd", "prob": 24, "container-item": "bag_zipper", "charges": [ 1, 5 ] }, + { "prob": 32, "group": "coke_bag_zipper_1_8" }, + { "prob": 8, "group": "meth_bag_zipper_1_6" }, + { "prob": 4, "group": "heroin_bag_zipper_1_4" }, + { "prob": 16, "group": "crack_bag_zipper_1_4" }, + { "prob": 24, "group": "lsd_bag_zipper_1_5" }, { "group": "ammo_casings", "prob": 20, "container-item": "bag_zipper", "count": [ 1, 5 ] }, { "item": "cotton_patchwork", "custom-flags": [ "FILTHY" ], "prob": 20 }, { "item": "slime_scrap", "prob": 3, "container-item": "bag_zipper" }, @@ -1671,21 +1671,21 @@ "//": "concealable items only plz", "subtype": "distribution", "entries": [ - { "item": "caffeine", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "oxycodone", "prob": 4, "charges": [ 1, 10 ] }, - { "item": "morphine", "prob": 4, "charges": [ 1, 4 ] }, - { "item": "adderall", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "xanax", "prob": 10, "charges": [ 1, 10 ] }, + { "prob": 25, "group": "caffeine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 4, "group": "oxycodone_bottle_plastic_pill_prescription_1_10" }, + { "item": "morphine", "prob": 4, "count": [ 1, 4 ] }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_1_10" }, + { "prob": 10, "group": "xanax_bottle_plastic_pill_prescription_1_10" }, { "item": "adrenaline_injector", "prob": 2 }, - { "item": "crack", "prob": 2, "charges": [ 1, 4 ] }, + { "prob": 2, "group": "crack_bag_zipper_1_4" }, { "item": "crackpipe", "prob": 2 }, { "item": "lighter", "prob": 20, "charges": [ 0, 100 ] }, - { "item": "caff_gum", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "lsd", "prob": 2, "charges": [ 1, 5 ] }, + { "item": "caff_gum", "prob": 10, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 10, "count": [ 1, 10 ] }, + { "item": "lsd", "prob": 2, "count": [ 1, 5 ] }, { "item": "joint", "prob": 10 }, { "item": "rolling_paper", "prob": 5 }, - { "item": "heroin", "prob": 2, "charges": [ 1, 4 ] }, + { "prob": 2, "group": "heroin_bag_zipper_1_4" }, { "item": "syringe", "prob": 2 }, { "item": "mag_porn", "prob": 30 }, { "item": "mag_survival", "prob": 20 }, @@ -1722,14 +1722,14 @@ { "item": "gartersheath1", "prob": 10 }, { "item": "gartersheath2", "prob": 5 }, { "item": "tazer", "prob": 1, "charges": [ 0, 100 ] }, - { "item": "cig", "prob": 30, "charges": [ 0, 10 ] }, + { "prob": 30, "group": "cig_box_cigarette_0_10" }, { "item": "rope_6", "prob": 5 }, { "item": "rope_30", "prob": 2 }, { "item": "duct_tape", "prob": 10, "charges": [ 50, 200 ] }, { "group": "ammo_pocket_batteries_full", "prob": 15 }, { "item": "matches", "prob": 10, "charges": [ 0, 20 ] }, { "item": "ref_matches", "prob": 10, "charges": [ 0, 32 ] }, - { "item": "gum", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 10, "count": [ 1, 10 ] }, { "item": "cable", "prob": 5 }, { "item": "panties", "prob": 2 }, { "item": "sharp_toothbrush", "prob": 10 }, @@ -1748,7 +1748,7 @@ "entries": [ { "group": "tools_medical", "prob": 100 }, { "group": "drugs_emergency", "prob": 50 }, - { "item": "quikclot", "prob": 10, "charges": [ 1, 6 ] }, + { "prob": 10, "group": "quikclot_bag_plastic_1_6" }, { "item": "badge_doctor", "prob": 2 } ] }, @@ -1757,15 +1757,15 @@ "id": "ambulance_drugs", "subtype": "distribution", "entries": [ - { "item": "morphine", "prob": 5, "count": [ 1, 4 ] }, - { "item": "thorazine", "prob": 5, "count": [ 1, 4 ] }, - { "item": "tramadol", "prob": 5, "count": [ 1, 4 ] }, + { "item": "morphine", "prob": 5, "count": [ 4, 16 ] }, + { "prob": 5, "count": [ 1, 4 ], "group": "thorazine_bottle_plastic_pill_prescription_10" }, + { "prob": 5, "count": [ 1, 4 ], "group": "tramadol_bottle_plastic_pill_prescription_10" }, { "item": "adrenaline_injector", "prob": 5, "count": [ 1, 4 ] }, - { "item": "oxycodone", "prob": 5, "count": [ 1, 4 ] }, - { "item": "quikclot", "prob": 10, "count": [ 1, 4 ] }, - { "item": "antibiotics", "prob": 12, "count": [ 1, 4 ] }, + { "prob": 5, "count": [ 1, 4 ], "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "count": [ 1, 4 ], "group": "quikclot_bag_plastic_6" }, + { "prob": 12, "count": [ 1, 4 ], "group": "antibiotics_bottle_plastic_pill_prescription_15" }, { "item": "disinfectant", "prob": 15, "count": [ 1, 4 ] }, - { "item": "aspirin", "prob": 15, "count": [ 1, 4 ] }, + { "prob": 15, "count": [ 1, 4 ], "group": "aspirin_bottle_plastic_pill_painkiller_20" }, { "item": "bandages", "prob": 20, "count": [ 3, 12 ] }, { "item": "liq_bandage_spray", "prob": 5, "charges-min": 1 }, { "item": "inhaler", "prob": 20, "charges": 100, "count": [ 1, 4 ] }, @@ -1869,8 +1869,8 @@ "id": "toxic_dump_equipment", "items": [ { "group": "used_1st_aid", "prob": 35 }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, [ "canister_empty", 5 ], [ "boots_steel", 50 ], [ "sneakers_steel", 35 ], @@ -1898,7 +1898,7 @@ [ "steam_triple_medium", 1 ], { "item": "wearable_light", "prob": 10, "charges": [ 0, 100 ] }, [ "antiparasitic", 5 ], - { "item": "diazepam", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "diazepam_bottle_plastic_pill_prescription_1_10" }, { "item": "misc_repairkit", "prob": 5, "charges-min": 0 }, { "group": "tools_toolbox", "prob": 2 }, [ "apron_cotton", 5 ], @@ -1922,15 +1922,15 @@ [ "clock", 10 ], { "group": "tobacco_products", "prob": 151 }, { "group": "cigar_box_opened", "prob": 15 }, - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, [ "joint", 10 ], [ "seed_weed", 15 ], [ "seed_tobacco", 5 ], { "item": "rolling_paper", "prob": 5, "charges": [ 1, 30 ] }, [ "pipe_glass", 5 ], - { "item": "coke", "prob": 8, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "coke_bag_zipper_1_8" }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, [ "sneakers", 40 ], [ "mask_hockey", 5 ], [ "mask_guy_fawkes", 5 ], @@ -2009,7 +2009,7 @@ [ "chips", 65 ], { "group": "softdrinks_canned", "prob": 90 }, [ "choco_coffee_beans", 20 ], - { "item": "caffeine", "prob": 20, "charges": [ 1, 10 ] }, + { "prob": 20, "group": "caffeine_bottle_plastic_pill_supplement_1_10" }, [ "cola_meth", 1 ], [ "picklocks", 10 ], [ "wolfsuit", 4 ], @@ -2024,10 +2024,10 @@ [ "straw_doll", 1 ], [ "wristwatch", 15 ], [ "pocketwatch", 5 ], - { "item": "lsd", "prob": 1, "charges": [ 1, 5 ] }, - { "item": "gum", "prob": 30, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 20, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 5, "charges": [ 1, 10 ] }, + { "item": "lsd", "prob": 1, "count": [ 1, 5 ] }, + { "item": "gum", "prob": 30, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 20, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 5, "count": [ 1, 10 ] }, [ "hairpin", 5 ], [ "barrette", 3 ], [ "clown_suit", 1 ], @@ -2169,8 +2169,8 @@ { "item": "stand_ring", "prob": 5 }, { "item": "stand_ring_clamps", "prob": 5 }, { "item": "ether", "prob": 5, "charges-min": 100 }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, { "item": "pocket_firstaid", "prob": 2 }, { "item": "file", "prob": 5 }, { "item": "textbook_chemistry", "prob": 10 }, @@ -2185,8 +2185,8 @@ { "item": "chem_calcium_chloride", "prob": 2 }, { "item": "mutagen", "prob": 1 }, { "item": "purifier", "prob": 1 }, - { "item": "yeast", "prob": 3 }, - { "item": "yogurt_starter_culture", "prob": 1 }, + { "prob": 3, "group": "yeast_bag_plastic_25" }, + { "prob": 1, "group": "yogurt_starter_culture_bag_plastic_4" }, { "item": "royal_jelly", "prob": 4 }, { "item": "superglue", "prob": 30 }, { "item": "bottle_glass", "prob": 10 }, @@ -2202,18 +2202,18 @@ { "item": "apron_plastic", "prob": 25 }, { "item": "apron_cotton", "prob": 8 }, { "item": "apron_leather", "prob": 2 }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 15, "charges": [ 1, 15 ] }, + { "prob": 15, "group": "pur_tablets_bottle_plastic_small_1_15" }, { "item": "lye_powder", "prob": 10, "charges": [ 1, 200 ] }, { "item": "oxy_powder", "prob": 12, "charges": [ 1, 200 ] }, { "item": "chemistry_set", "prob": 8, "charges": [ 0, 500 ] }, { "item": "sm_extinguisher", "prob": 20, "charges": 10 }, - { "item": "eyedrops", "prob": 15, "charges": [ 1, 10 ] }, + { "item": "eyedrops", "prob": 15, "count": [ 1, 10 ] }, { "item": "charcoal", "prob": 10, "charges": [ 25, 50 ] }, { "item": "magnesium", "prob": 10, "charges": [ 1, 100 ] }, { "item": "tin", "prob": 10, "charges": [ 1, 100 ] }, { "item": "chem_hydrogen_peroxide", "prob": 10, "charges-min": 1 }, { "item": "chem_muriatic_acid", "prob": 5, "charges-min": 1 }, - { "item": "chem_sulphur", "prob": 10, "charges-min": 100 }, + { "prob": 10, "group": "chem_sulphur_bottle_plastic_small_100_inf" }, { "item": "chem_aluminium_powder", "prob": 5, "charges": [ 1, 100 ] }, { "item": "chem_zinc_powder", "prob": 10, "charges-min": 100 }, { "item": "chem_zinc_oxide", "prob": 5, "charges-min": 100 }, @@ -2239,7 +2239,7 @@ [ "howto_traps", 10 ], [ "decoy_anarch", 8 ], [ "recipe_augs", 8 ], - { "item": "aspirin", "prob": 85, "charges": [ 1, 20 ] }, + { "prob": 85, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, [ "junk_burrito", 25 ], { "group": "tobacco_products", "prob": 31 }, [ "contacts", 15 ], @@ -2265,9 +2265,9 @@ [ "software_electronics_reference", 2 ], [ "umbrella", 5 ], [ "teleumbrella", 2 ], - { "item": "gum", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 6, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 4, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 10, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 6, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 4, "count": [ 1, 10 ] }, [ "fan", 10 ], { "item": "sm_extinguisher", "prob": 10, "charges": 10 }, [ "pocketwatch", 2 ], @@ -2297,12 +2297,12 @@ { "item": "fun_survival", "prob": 10 }, { "item": "recipe_augs", "prob": 1 }, { "item": "decoy_anarch", "prob": 10 }, - { "item": "aspirin", "prob": 85, "charges": [ 1, 20 ] }, - { "item": "maltballs", "prob": 30 }, + { "prob": 85, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, + { "prob": 30, "group": "maltballs_box_snack_4" }, { "group": "cigar_box_opened", "prob": 20 }, { "group": "cigar_box_unopened", "prob": 5 }, { "group": "tobacco_products", "prob": 151 }, - { "item": "contacts", "prob": 15 }, + { "item": "contacts", "prob": 15, "count": 6 }, { "group": "clothing_glasses", "prob": 80 }, { "item": "fan", "prob": 10 }, { "item": "briefcase", "prob": 40 }, @@ -2342,9 +2342,9 @@ { "item": "umbrella", "prob": 5 }, { "item": "teleumbrella", "prob": 2 }, { "item": "mag_tailor", "prob": 5 }, - { "item": "gum", "prob": 20, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 7, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 5, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 20, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 7, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 5, "count": [ 1, 10 ] }, { "item": "sm_extinguisher", "prob": 10, "charges": 10 }, { "item": "pocketwatch", "prob": 2 }, { "item": "knitting_needles", "prob": 1 }, @@ -2365,13 +2365,13 @@ { "group": "tobacco_products", "prob": 150 }, { "group": "cigar_box_opened", "prob": 20 }, { "group": "cigar_box_unopened", "prob": 5 }, - { "item": "gum", "prob": 100, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 20, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 20, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 100, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 20, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 20, "count": [ 1, 10 ] }, [ "instant_coffee", 130 ], [ "coffee_syrup", 80 ], [ "coffee_raw", 80 ], - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, [ "joint", 10 ], { "item": "matches", "prob": 50, "charges": [ 1, 20 ] }, { "item": "ref_matches", "prob": 50, "charges": [ 1, 32 ] }, @@ -2477,7 +2477,7 @@ [ "con_milk", 20 ], [ "milk_evap", 15 ], [ "milk_UHT", 10 ], - { "item": "melatonin_tablet", "count": 20, "prob": 20 }, + { "count": 20, "prob": 20, "group": "melatonin_tablet_bottle_plastic_pill_supplement_10" }, [ "can_spam", 30 ], [ "can_tuna", 35 ], [ "can_salmon", 25 ], @@ -2497,11 +2497,11 @@ { "distribution": [ { "group": "full_survival_kit" }, { "group": "used_survival_kit" } ], "prob": 35 }, { "group": "premium_contents", "prob": 8 }, { "item": "saline", "prob": 10, "charges": [ 1, 5 ] }, - { "item": "vitamins", "prob": 75, "charges": [ 1, 20 ] }, - { "item": "gummy_vitamins", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "calcium_tablet", "prob": 75, "charges": [ 1, 20 ] }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 75, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, + { "item": "gummy_vitamins", "prob": 25, "count": [ 1, 10 ] }, + { "prob": 75, "group": "calcium_tablet_bottle_plastic_pill_supplement_1_20" }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, { "item": "dayquil", "prob": 70, "charges": [ 1, 5 ] }, [ "screwdriver", 40 ], [ "screwdriver_set", 10 ], @@ -2606,7 +2606,7 @@ [ "flaregun", 5 ], [ "signal_flare", 10 ], [ "survivormap", 1 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 5, "charges": [ 1, 15 ] }, + { "prob": 5, "group": "pur_tablets_bottle_plastic_small_1_15" }, [ "razor_blade", 5 ], [ "sheath", 5 ], [ "bootsheath", 5 ], @@ -2834,7 +2834,7 @@ [ "still", 20 ], [ "thermometer", 20 ], [ "brew_moonshine", 5 ], - { "item": "cornbread", "charges": 6, "prob": 35 }, + { "prob": 35, "group": "cornbread_bag_plastic_6" }, [ "yeast", 25 ], [ "sugar", 20 ], [ "chem_ethanol", 5 ] @@ -2921,5 +2921,53 @@ }, { "item": "slippers", "prob": 50 } ] + }, + { + "type": "item_group", + "id": "tobacco_bag_plastic_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "tobacco", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "lsd_bag_zipper_1_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "lsd", "count": [ 1, 5 ] } ] + }, + { + "type": "item_group", + "id": "cig_box_cigarette_0_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_cigarette", + "entries": [ { "item": "cig", "container-item": "null", "count": [ 0, 10 ] } ] + }, + { + "type": "item_group", + "id": "quikclot_bag_plastic_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "quikclot", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "antibiotics_bottle_plastic_pill_prescription_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antibiotics", "container-item": "null", "count": 15 } ] + }, + { + "type": "item_group", + "id": "melatonin_tablet_bottle_plastic_pill_supplement_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "melatonin_tablet", "container-item": "null", "count": 10 } ] } ] diff --git a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json index 7ab152c8e771d..492aff31445a0 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json +++ b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json @@ -6,9 +6,9 @@ "magazine": 100, "subtype": "distribution", "entries": [ - { "item": "aspirin", "prob": 85, "charges": [ 1, 10 ] }, - { "item": "caffeine", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "melatonin_tablet", "prob": 5, "charges": [ 1, 30 ] }, + { "prob": 85, "group": "aspirin_bottle_plastic_pill_painkiller_1_10" }, + { "prob": 25, "group": "caffeine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "melatonin_tablet_bottle_plastic_pill_supplement_1_30" }, { "group": "tobacco_products", "prob": 161 }, { "group": "cigar_box_unopened", "prob": 10, "count": [ 1, 4 ] }, { "item": "cigar_cutter", "prob": 10 }, @@ -41,10 +41,10 @@ { "item": "money_strap_ten", "prob": 25 }, { "item": "gold_watch", "prob": 5 }, { "item": "silver_watch", "prob": 10 }, - { "item": "gum", "prob": 30, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 30, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 10, "count": [ 1, 10 ] }, { "item": "sm_extinguisher", "prob": 10, "charges": 10 }, - { "item": "nic_gum", "prob": 2, "charges": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 2, "count": [ 1, 10 ] }, { "item": "razor_blade", "prob": 3 }, { "item": "knitting_needles", "prob": 1 }, { "group": "newspaper_recent", "prob": 15 }, @@ -139,7 +139,7 @@ "type": "item_group", "items": [ { "group": "candy_chocolate", "prob": 45 }, - { "item": "licorice", "prob": 15 }, + { "prob": 15, "group": "licorice_bag_plastic_4" }, { "group": "salty_snacks", "prob": 80 }, [ "peanut_shelled", 20 ], [ "almond_shelled", 20 ], @@ -158,7 +158,7 @@ [ "dry_beans", 20 ], [ "dry_lentils", 50 ], [ "cookies", 25 ], - { "item": "bread", "charges": 14, "prob": 40 } + { "prob": 40, "group": "bread_bag_plastic_14" } ] }, { @@ -166,7 +166,7 @@ "id": "coffee_shop", "items": [ { "group": "candy_chocolate", "prob": 530 }, - { "item": "licorice", "prob": 15 }, + { "prob": 15, "group": "licorice_bag_plastic_4" }, { "group": "softdrinks_canned", "prob": 470 }, { "group": "snacks", "prob": 560 }, [ "coffee_raw", 70 ], @@ -731,7 +731,7 @@ [ "helmet_liner", 20 ], [ "jacket_army", 40 ], [ "helmet_army_outdated", 10 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 1, 15 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_1_15" }, [ "knife_trench", 14 ], [ "flaregun", 20 ], [ "signal_flare", 25 ], @@ -857,10 +857,10 @@ { "item": "atomic_light", "prob": 1 }, { "item": "folded_inflatable_boat", "prob": 10 }, { "item": "hand_pump", "prob": 15 }, - { "item": "toastem", "prob": 45 }, - { "item": "toastem2", "prob": 45 }, - { "item": "toastem3", "prob": 45 }, - { "item": "cookies", "prob": 45 }, + { "prob": 45, "group": "toastem_box_small_8" }, + { "prob": 45, "group": "toastem2_box_small_8" }, + { "prob": 45, "group": "toastem3_box_small_8" }, + { "prob": 45, "group": "cookies_box_snack_4" }, { "item": "bat", "prob": 15 }, { "item": "backpack", "prob": 20 }, { "item": "hairpin", "prob": 10 }, @@ -876,7 +876,7 @@ { "item": "mp3", "prob": 35, "charges": [ 0, 100 ] }, { "item": "wolfsuit", "prob": 5 }, { "item": "dinosuit", "prob": 5 }, - { "item": "gum", "prob": 10 }, + { "item": "gum", "prob": 10, "count": 10 }, { "item": "talking_doll", "prob": 11, "charges": [ 0, 100 ] }, { "item": "marble", "prob": 15 }, { "item": "creepy_doll", "prob": 1 }, @@ -1032,7 +1032,7 @@ { "item": "cranberry_juice", "prob": 35 }, { "group": "softdrinks_canned", "prob": 95 }, { "item": "V8", "prob": 15 }, - { "item": "gum", "prob": 15 } + { "item": "gum", "prob": 15, "count": 10 } ] }, { @@ -1054,11 +1054,11 @@ { "item": "mayonnaise", "prob": 3 }, { "group": "ketchup_sealed_rng", "prob": 3 }, { "group": "mustard_sealed_rng", "prob": 3 }, - { "item": "pickle", "prob": 5, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 5, "group": "pickle_jar_glass_sealed_2" }, { "item": "cheeseburger", "prob": 10 }, { "item": "hamburger", "prob": 8 }, { "item": "sloppyjoe", "prob": 6 }, - { "item": "hotdogs_frozen", "prob": 6 } + { "prob": 6, "group": "hotdogs_frozen_bag_plastic_10" } ] }, { @@ -1066,7 +1066,7 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "cig", "prob": 50, "charges": [ 1, 20 ] }, + { "prob": 50, "group": "cig_box_cigarette_1_20" }, { "item": "matches", "prob": 45, "charges": [ 1, 20 ] }, { "item": "ref_matches", "prob": 45, "charges": [ 1, 32 ] }, { "item": "rolling_paper", "prob": 10, "charges": [ 1, 30 ] }, @@ -1087,13 +1087,13 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "weed", "prob": 30, "charges": [ 1, 5 ] }, - { "item": "coke", "prob": 30, "charges": [ 1, 8 ] }, - { "item": "aspirin", "prob": 40, "charges": [ 1, 20 ] }, - { "item": "cig", "prob": 20, "charges": [ 1, 20 ] }, + { "item": "weed", "prob": 30, "count": [ 1, 5 ] }, + { "prob": 30, "group": "coke_bag_zipper_1_8" }, + { "prob": 40, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, + { "prob": 20, "group": "cig_box_cigarette_1_20" }, { "item": "syringe", "prob": 20 }, - { "item": "meth", "prob": 10, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 5, "charges": [ 1, 4 ] }, + { "prob": 10, "group": "meth_bag_zipper_1_6" }, + { "prob": 5, "group": "heroin_bag_zipper_1_4" }, { "item": "mag_porn", "prob": 35 }, { "item": "hairpin", "prob": 5 }, { "item": "purse", "prob": 15 }, @@ -1273,14 +1273,14 @@ [ "flour", 30 ], [ "milk_powder", 30 ], [ "powder_eggs", 10 ], - { "item": "egg_bird_unfert", "charges": 10, "container-item": "carton_egg" }, + { "group": "egg_bird_unfert_carton_egg_10" }, [ "cooking_oil", 20 ], [ "irradiated_apple", 5 ], [ "irradiated_banana", 5 ], [ "irradiated_strawberries", 5 ], [ "chocolate", 20 ], [ "waffleiron", 60 ], - { "item": "bread", "charges": 14, "prob": 30 }, + { "prob": 30, "group": "bread_bag_plastic_14" }, [ "peanutbutter", 20 ], [ "pot", 80 ] ] @@ -1321,8 +1321,8 @@ "items": [ { "item": "dogfood", "prob": 20, "container-item": "can_medium" }, { "item": "catfood", "prob": 20, "container-item": "can_food" }, - { "item": "dogfood_dry", "prob": 5, "charges": 24, "container-item": "bag_plastic" }, - { "item": "catfood_dry", "prob": 5, "charges": 24, "container-item": "bag_plastic" }, + { "prob": 5, "group": "dogfood_dry_bag_plastic_24" }, + { "prob": 5, "group": "catfood_dry_bag_plastic_24" }, [ "birdfood", 15 ], [ "dog_whistle", 15 ], { "item": "flashlight", "prob": 5, "charges": [ 0, 300 ] } @@ -1334,8 +1334,8 @@ "items": [ { "item": "dogfood", "prob": 10, "container-item": "can_medium" }, { "item": "catfood", "prob": 10, "container-item": "can_food" }, - { "item": "dogfood_dry", "prob": 10, "charges": 24, "container-item": "bag_plastic" }, - { "item": "catfood_dry", "prob": 10, "charges": 24, "container-item": "bag_plastic" }, + { "prob": 10, "group": "dogfood_dry_bag_plastic_24" }, + { "prob": 10, "group": "catfood_dry_bag_plastic_24" }, { "item": "salt_water", "prob": 10, "container-item": "aquarium_medium" }, { "item": "water", "prob": 10, "container-item": "aquarium_medium" }, { "item": "salt_water", "prob": 10, "container-item": "aquarium_small" }, @@ -1361,7 +1361,7 @@ "items": [ { "group": "ammo_pocket_batteries_full", "prob": 30 }, { "item": "radio", "prob": 10, "charges": [ 1, 100 ] }, - { "item": "eyedrops", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "eyedrops", "prob": 10, "count": [ 1, 10 ] }, [ "cotton_patchwork", 30 ], { "item": "paper", "prob": 30, "count": [ 10, 30 ] }, [ "foon", 30 ], @@ -1409,7 +1409,7 @@ "items": [ { "group": "ammo_pocket_batteries_full", "prob": 30 }, { "item": "radio", "prob": 10, "charges": [ 0, 100 ] }, - { "item": "eyedrops", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "eyedrops", "prob": 10, "count": [ 1, 10 ] }, [ "cotton_patchwork", 30 ], { "item": "paper", "prob": 30, "count": [ 10, 30 ] }, [ "foon", 30 ], @@ -1692,11 +1692,11 @@ "//": "for the employee backroom in cs_sex_shop", "subtype": "distribution", "entries": [ - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, - { "item": "coke", "prob": 10, "charges": [ 1, 8 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, + { "prob": 10, "group": "coke_bag_zipper_1_8" }, { "group": "cigar_box_opened", "prob": 10, "count": [ 1, 2 ] }, - { "item": "meth", "prob": 10, "charges": [ 1, 6 ] }, - { "item": "aspirin", "prob": 10, "charges": [ 1, 20 ] }, + { "prob": 10, "group": "meth_bag_zipper_1_6" }, + { "prob": 10, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "item": "mag_porn", "prob": 10 }, { "item": "purse", "prob": 10 }, { "item": "hairpin", "prob": 5 }, @@ -1956,8 +1956,8 @@ { "item": "liq_bandage_spray", "prob": 5, "charges-min": 1 }, { "group": "full_1st_aid", "prob": 10 }, { "item": "saline", "prob": 20, "charges": [ 1, 5 ] }, - { "item": "vitamins", "prob": 15, "charges": [ 1, 20 ] }, - { "item": "calcium_tablet", "prob": 15, "charges": [ 1, 20 ] }, + { "prob": 15, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, + { "prob": 15, "group": "calcium_tablet_bottle_plastic_pill_supplement_1_20" }, { "item": "nyquil", "prob": 5, "charges": [ 1, 5 ] }, { "item": "disinfectant", "prob": 15, "charges": [ 1, 10 ] }, [ "protein_powder", 15 ], @@ -1977,7 +1977,7 @@ [ "scalpel", 50 ], [ "gloves_medical", 50 ], [ "medical_gauze", 25 ], - { "item": "quikclot", "prob": 10, "charges": [ 1, 6 ] }, + { "prob": 10, "group": "quikclot_bag_plastic_1_6" }, [ "hacksaw", 5 ], [ "gloves_rubber", 25 ], [ "apron_plastic", 15 ], @@ -2012,13 +2012,13 @@ "type": "item_group", "items": [ [ "syringe", 10 ], - { "item": "diazepam", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "antifungal", "prob": 30, "charges": [ 1, 10 ] }, - { "item": "antiparasitic", "prob": 30, "charges": [ 1, 10 ] }, - { "item": "antibiotics", "prob": 20, "charges": [ 1, 15 ] }, - { "item": "thorazine", "prob": 7, "charges": [ 1, 10 ] }, - { "item": "morphine", "prob": 10, "charges": [ 1, 4 ] }, - { "item": "codeine", "prob": 15, "charges": [ 1, 10 ] }, + { "prob": 10, "group": "diazepam_bottle_plastic_pill_prescription_1_10" }, + { "prob": 30, "group": "antifungal_bottle_plastic_pill_prescription_1_10" }, + { "prob": 30, "group": "antiparasitic_bottle_plastic_pill_prescription_1_10" }, + { "prob": 20, "group": "antibiotics_bottle_plastic_pill_prescription_1_15" }, + { "prob": 7, "group": "thorazine_bottle_plastic_pill_prescription_1_10" }, + { "item": "morphine", "prob": 10, "count": [ 1, 4 ] }, + { "prob": 15, "group": "codeine_bottle_plastic_pill_painkiller_1_10" }, { "item": "saline", "prob": 15, "charges": [ 1, 5 ] }, { "item": "smoxygen_tank", "prob": 10, "charges": [ 0, 12 ] }, { "group": "full_1st_aid", "prob": 30 }, @@ -2046,7 +2046,7 @@ "items": [ [ "oj", 35 ], [ "cooked_pumpkin", 25 ], - { "item": "bread", "charges": 14, "prob": 10 }, + { "prob": 10, "group": "bread_bag_plastic_14" }, [ "fruit_waffles", 5 ], [ "grahmcrackers", 5 ] ] @@ -2070,12 +2070,12 @@ [ "undershirt", 30 ], [ "hoodie", 20 ], [ "shorts", 30 ], - { "item": "coke", "prob": 3, "charges": [ 1, 8 ] }, + { "prob": 3, "group": "coke_bag_zipper_1_8" }, [ "longshirt", 30 ], { "group": "adhesive_bandages_box_used", "prob": 10 }, { "item": "liq_bandage_spray", "prob": 2, "charges-min": 1 }, [ "heatpack", 10 ], - { "item": "gum", "prob": 12, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 12, "count": [ 1, 10 ] }, { "item": "soap", "prob": 10, "charges": [ 1, 10 ] }, [ "rashguard", 20 ], [ "sports_bra", 30 ], @@ -2085,8 +2085,8 @@ [ "bikini_top", 5 ], [ "bikini_bottom", 5 ], [ "yoghurt", 12 ], - { "item": "vitamins", "prob": 10, "charges": [ 1, 20 ] }, - { "item": "aspirin", "prob": 10, "charges": [ 1, 20 ] }, + { "prob": 10, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, + { "prob": 10, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, [ "fitness_band", 10 ] ] }, @@ -2193,10 +2193,7 @@ { "id": "farm_supply_animal_feed", "type": "item_group", - "items": [ - { "item": "cattlefodder", "prob": 50, "charges": 60, "container-item": "bag_canvas" }, - { "item": "birdfood", "prob": 50, "charges": 60, "container-item": "bag_canvas" } - ] + "items": [ { "prob": 50, "group": "cattlefodder_bag_canvas_60" }, { "prob": 50, "group": "birdfood_bag_canvas_60" } ] }, { "id": "farm_supply_riding_gear", @@ -2226,5 +2223,61 @@ { "item": "survnote", "prob": 1 }, { "item": "touristmap", "prob": 1 } ] + }, + { + "type": "item_group", + "id": "aspirin_bottle_plastic_pill_painkiller_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "aspirin", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "egg_bird_unfert_carton_egg_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "carton_egg", + "entries": [ { "item": "egg_bird_unfert", "count": 10 } ] + }, + { + "type": "item_group", + "id": "dogfood_dry_bag_plastic_24", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dogfood_dry", "container-item": "null", "count": 24 } ] + }, + { + "type": "item_group", + "id": "catfood_dry_bag_plastic_24", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "catfood_dry", "container-item": "null", "count": 24 } ] + }, + { + "type": "item_group", + "id": "antifungal_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antifungal", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "cattlefodder_bag_canvas_60", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_canvas", + "entries": [ { "item": "cattlefodder", "count": 60 } ] + }, + { + "type": "item_group", + "id": "birdfood_bag_canvas_60", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_canvas", + "entries": [ { "item": "birdfood", "count": 60 } ] } ] diff --git a/data/json/itemgroups/Locations_MapExtras/locations_mapextras.json b/data/json/itemgroups/Locations_MapExtras/locations_mapextras.json index 489cbf9efb705..70788500c3cad 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations_mapextras.json +++ b/data/json/itemgroups/Locations_MapExtras/locations_mapextras.json @@ -21,20 +21,20 @@ { "item": "bandages", "prob": 25, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 25 }, { "group": "cotton_ball_bag_used", "prob": 50 }, - { "item": "caffeine", "prob": 25, "charges": [ 1, 10 ] }, - { "item": "oxycodone", "prob": 7, "charges": [ 1, 10 ] }, - { "item": "morphine", "prob": 3, "charges": [ 1, 4 ] }, - { "item": "adderall", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "cig", "prob": 60, "charges": [ 1, 20 ] }, - { "item": "tobacco", "prob": 30, "charges": [ 1, 20 ] }, - { "item": "chaw", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "weed", "prob": 20, "charges": [ 1, 5 ] }, + { "prob": 25, "group": "caffeine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 7, "group": "oxycodone_bottle_plastic_pill_prescription_1_10" }, + { "item": "morphine", "prob": 3, "count": [ 1, 4 ] }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_1_10" }, + { "prob": 60, "group": "cig_box_cigarette_1_20" }, + { "prob": 30, "group": "tobacco_bag_plastic_1_20" }, + { "prob": 20, "group": "chaw_wrapper_1_20" }, + { "item": "weed", "prob": 20, "count": [ 1, 5 ] }, [ "joint", 20 ], [ "seed_weed", 20 ], [ "seed_tobacco", 5 ], - { "item": "coke", "prob": 8, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "coke_bag_zipper_1_8" }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, [ "syringe", 8 ], { "item": "electrohack", "prob": 3, "charges": [ 0, 100 ] }, [ "hatchet", 10 ], @@ -100,15 +100,15 @@ [ "pipebomb", 4 ], [ "grenade", 3 ], [ "grenade_inc", 1 ], - { "item": "crack", "prob": 8, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "crack_bag_zipper_1_4" }, [ "crackpipe", 37 ], [ "laser_sight", 15 ], [ "rail_laser_sight", 10 ], [ "glocksear", 10 ], - { "item": "lsd", "prob": 10, "charges": [ 1, 5 ] }, - { "item": "gum", "prob": 60, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 7, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 1, "charges": [ 1, 10 ] }, + { "item": "lsd", "prob": 10, "count": [ 1, 5 ] }, + { "item": "gum", "prob": 60, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 7, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 1, "count": [ 1, 10 ] }, [ "improve_sights", 10 ], [ "waterproof_gunmod", 4 ], [ "u_shotgun", 4 ], @@ -183,19 +183,19 @@ [ "popcan_stove", 10 ], [ "denat_alcohol", 6 ], [ "methed_alcohol", 4 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 1, 15 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_1_15" }, [ "water_clean", 50 ], [ "granola", 60 ], [ "fruit_leather", 50 ], - { "item": "licorice", "prob": 15 }, + { "prob": 15, "group": "licorice_bag_plastic_4" }, { "group": "salty_snacks", "prob": 130 }, - { "item": "aspirin", "prob": 80, "charges": [ 1, 20 ] }, + { "prob": 80, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "item": "inhaler", "prob": 30, "charges-min": 0 }, { "group": "beer", "prob": 80 }, [ "vodka", 60 ], - { "item": "cig", "prob": 20, "charges": [ 1, 20 ] }, + { "prob": 20, "group": "cig_box_cigarette_1_20" }, [ "crackpipe", 10 ], - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, [ "joint", 10 ], { "item": "cell_phone", "prob": 3, "charges": [ 0, 150 ] }, { "item": "smart_phone", "prob": 17, "charges-min": 0 }, @@ -242,13 +242,13 @@ [ "knee_pads", 80 ], [ "roller_blades", 40 ], [ "rollerskates", 10 ], - { "item": "aspirin", "prob": 80, "charges": [ 1, 20 ] }, + { "prob": 80, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "item": "inhaler", "prob": 30, "charges-min": 10, "charges-max": 100 }, { "group": "beer", "prob": 180 }, [ "sports_drink", 80 ], [ "energy_drink", 30 ], - { "item": "cig", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "prob": 20, "group": "cig_box_cigarette_1_20" }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, [ "joint", 10 ], { "item": "cell_phone", "prob": 6, "charges": [ 0, 150 ] }, { "item": "smart_phone", "prob": 44, "charges-min": 0 } @@ -289,12 +289,12 @@ [ "silver_bracelet", 20 ], [ "silver_locket", 20 ], { "item": "radio", "prob": 20, "charges": [ 0, 100 ] }, - { "item": "aspirin", "prob": 80, "charges": [ 1, 20 ] }, + { "prob": 80, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "item": "inhaler", "prob": 30, "charges-min": 10, "charges-max": 100 }, [ "beer", 80 ], [ "wine_barley", 20 ], - { "item": "cig", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "prob": 20, "group": "cig_box_cigarette_1_20" }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, [ "joint", 10 ], { "item": "cell_phone", "prob": 6, "charges": [ 0, 150 ] }, { "item": "smart_phone", "prob": 44, "charges-min": 0 } diff --git a/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json b/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json index 2d537c4d087ca..e2cf8666b7552 100644 --- a/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json +++ b/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json @@ -31,7 +31,7 @@ { "id": "candy_shop", "type": "item_group", - "items": [ { "group": "candy_chocolate", "prob": 460 }, [ "cookies", 50 ], { "item": "licorice", "prob": 50 } ] + "items": [ { "group": "candy_chocolate", "prob": 460 }, [ "cookies", 50 ], { "prob": 50, "group": "licorice_bag_plastic_4" } ] }, { "id": "tux_shop", @@ -123,7 +123,7 @@ { "item": "mp3", "prob": 40, "charges": 100 }, [ "wolfsuit", 5 ], [ "dinosuit", 5 ], - { "item": "gum", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 10, "count": [ 1, 10 ] }, [ "shuttlecock", 10 ], [ "baseball", 40 ], [ "football", 40 ], @@ -301,17 +301,17 @@ "subtype": "distribution", "items": [ { "item": "pipe_tobacco", "prob": 60 }, - { "item": "tobacco", "prob": 70 }, + { "prob": 70, "group": "tobacco_bag_plastic_20" }, { "group": "cigar_box_unopened", "prob": 15, "count": [ 1, 10 ] }, { "item": "case_cigar", "prob": 20, "count": [ 1, 5 ] }, - { "item": "weed", "prob": 5 }, + { "item": "weed", "prob": 5, "count": 5 }, { "item": "joint", "prob": 5 }, - { "item": "seed_weed", "prob": 5 }, + { "item": "seed_weed", "prob": 5, "count": 2 }, { "item": "seed_tobacco", "prob": 5 }, { "item": "rolling_paper", "prob": 45 }, { "item": "pipe_glass", "prob": 20 }, - { "item": "cig", "prob": 60 }, - { "item": "chaw", "prob": 60 } + { "prob": 60, "group": "cig_box_cigarette_20" }, + { "prob": 60, "group": "chaw_wrapper_20" } ] }, { @@ -365,5 +365,13 @@ [ "hairbrush", 10 ], [ "mirror", 35 ] ] + }, + { + "type": "item_group", + "id": "chaw_wrapper_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "chaw", "container-item": "null", "count": 20 } ] } ] diff --git a/data/json/itemgroups/Locations_MapExtras/mansion.json b/data/json/itemgroups/Locations_MapExtras/mansion.json index 5592d78da625a..ae1ef1d267d97 100644 --- a/data/json/itemgroups/Locations_MapExtras/mansion.json +++ b/data/json/itemgroups/Locations_MapExtras/mansion.json @@ -1136,15 +1136,15 @@ [ "tank_top", 5 ], [ "towel", 20 ], [ "protein_shake", 8 ], - { "item": "coke", "prob": 3, "charges": [ 1, 8 ] }, + { "prob": 3, "group": "coke_bag_zipper_1_8" }, { "item": "bandages", "prob": 5, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 5 }, { "item": "liq_bandage_spray", "prob": 1, "charges-min": 1 }, [ "heatpack", 10 ], [ "gum", 12 ], [ "yoghurt", 12 ], - { "item": "vitamins", "prob": 10, "charges": [ 1, 20 ] }, - { "item": "aspirin", "prob": 15, "charges": [ 1, 20 ] }, + { "prob": 10, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, + { "prob": 15, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "group": "corpse_mansion", "prob": 1 }, [ "fitness_band", 3 ] ] @@ -1225,7 +1225,7 @@ { "group": "adhesive_bandages_box_used", "prob": 5 }, { "item": "liq_bandage_spray", "prob": 1, "charges-min": 1 }, [ "heatpack", 10 ], - { "item": "gum", "prob": 12, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 12, "count": [ 1, 10 ] }, { "item": "soap", "prob": 10, "charges": [ 1, 10 ] }, [ "rashguard", 30 ], [ "sports_bra", 60 ], @@ -1236,8 +1236,8 @@ [ "bikini_top_short", 5 ], [ "bikini_bottom", 10 ], [ "bikini_bottom_short", 5 ], - { "item": "vitamins", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "aspirin", "prob": 10, "charges": [ 1, 10 ] }, + { "prob": 10, "group": "vitamins_bottle_plastic_pill_supplement_1_10" }, + { "prob": 10, "group": "aspirin_bottle_plastic_pill_painkiller_1_10" }, [ "karate_gi", 10 ], [ "judo_gi", 5 ], [ "fitness_band", 5 ], @@ -1306,7 +1306,7 @@ { "group": "tobacco_products", "prob": 50 }, { "group": "cigar_box_opened", "prob": 50 }, [ "novel_pulp", 30 ], - { "item": "gum", "prob": 30, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 30, "count": [ 1, 10 ] }, [ "glass", 20 ], [ "bandana", 10 ], { "item": "mp3", "prob": 10, "charges": [ 0, 100 ] }, @@ -1347,8 +1347,8 @@ { "group": "beer_selection", "prob": 40 }, { "group": "glass_of_wine", "prob": 40 }, [ "glass", 40 ], - { "item": "cig", "prob": 30, "charges": [ 1, 20 ] }, - { "item": "cigar", "prob": 20, "charges": [ 1, 10 ] }, + { "prob": 30, "group": "cig_box_cigarette_1_20" }, + { "item": "cigar", "prob": 20, "count": [ 1, 10 ] }, { "item": "case_cigar", "prob": 10, "count": [ 1, 2 ] }, { "group": "cigar_box_unopened", "prob": 25, "count": [ 1, 5 ] }, [ "towel", 5 ] @@ -1800,5 +1800,13 @@ { "item": "heavy_flashlight", "prob": 15, "charges": [ 0, 300 ] }, [ "candlestick", 5 ] ] + }, + { + "type": "item_group", + "id": "vitamins_bottle_plastic_pill_supplement_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "vitamins", "container-item": "null", "count": [ 1, 10 ] } ] } ] diff --git a/data/json/itemgroups/Locations_MapExtras/private_resort_item_groups.json b/data/json/itemgroups/Locations_MapExtras/private_resort_item_groups.json index 0a1621b9f066e..b6b885f23d1d0 100644 --- a/data/json/itemgroups/Locations_MapExtras/private_resort_item_groups.json +++ b/data/json/itemgroups/Locations_MapExtras/private_resort_item_groups.json @@ -228,7 +228,7 @@ "type": "item_group", "items": [ { "item": "cup_plastic", "prob": 50 }, - { "item": "cig", "prob": 50, "charges": [ 1, 20 ] }, + { "prob": 50, "group": "cig_box_cigarette_1_20" }, { "group": "cigar_box_opened", "prob": 15, "count": [ 1, 2 ] }, { "item": "matches", "prob": 50, "charges": [ 1, 20 ] }, { "item": "ref_matches", "prob": 50, "charges": [ 1, 32 ] }, diff --git a/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json b/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json index c6c71db00e0f6..79f91d3048078 100644 --- a/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json +++ b/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json @@ -44,7 +44,7 @@ { "item": "zucchini", "prob": 7 }, { "item": "celery", "prob": 2 }, { "item": "onion", "prob": 3 }, - { "item": "carrot", "prob": 3 }, + { "item": "carrot", "prob": 3, "count": 6 }, { "item": "potato", "prob": 10 }, { "item": "pear", "prob": 65 }, { "item": "grapefruit", "prob": 1 }, @@ -53,7 +53,7 @@ { "item": "grapes", "prob": 45 }, { "item": "pineapple", "prob": 2 }, { "item": "peach", "prob": 1 }, - { "item": "cranberries", "prob": 15 }, + { "item": "cranberries", "prob": 15, "count": 3 }, { "item": "watermelon", "prob": 2 }, { "item": "melon", "prob": 1 }, { "item": "raspberries", "prob": 3 }, @@ -73,7 +73,7 @@ { "item": "stick", "prob": 95 }, { "item": "survivormap", "prob": 1 }, { "item": "miner_hat", "prob": 10 }, - { "item": "honey_ant", "prob": 30 }, + { "item": "honey_ant", "prob": 30, "count": 2 }, { "item": "homemade_bomb_act", "prob": 1 } ] }, @@ -133,14 +133,14 @@ { "item": "radio", "prob": 10, "charges-min": 10, "charges-max": 95 }, { "item": "boots_combat", "prob": 20 }, { "item": "bandages", "prob": 10, "count": [ 1, 3 ] }, - { "item": "cig", "prob": 30, "charges-min": 1, "charges-max": 20 }, + { "prob": 30, "group": "cig_box_cigarette_1_20" }, { "item": "knife_combat", "prob": 10 }, { "item": "vest", "prob": 15 }, { "item": "glasses_safety", "prob": 15 }, { "item": "9mm", "prob": 15, "charges": [ 1, 50 ] }, { "item": "m9", "prob": 10, "charges": [ 0, 15 ] }, { "item": "water_clean", "prob": 10 }, - { "item": "eyedrops", "prob": 10, "charges-min": 1, "charges-max": 10 }, + { "item": "eyedrops", "prob": 10, "count-min": 1, "count-max": 10 }, { "item": "screwdriver", "prob": 10 }, { "group": "wallets_science", "prob": 5 }, { "item": "cleansuit", "prob": 10 }, @@ -202,7 +202,7 @@ { "item": "acidchitin_piece", "prob": 30 }, { "item": "endochitin", "prob": 70 }, { "item": "mutant_bug_hydrogen_sacs", "prob": 30 }, - { "item": "mutant_bug_lungs", "prob": 10 }, + { "item": "mutant_bug_lungs", "prob": 10, "count": 4 }, { "item": "mutant_bug_organs", "prob": 10 }, { "item": "sinew", "prob": 10 }, { "item": "bee_sting", "prob": 10 } @@ -228,13 +228,13 @@ { "item": "raw_fur", "prob": 30 }, { "item": "wool_staple", "prob": 30 }, { "item": "sinew", "prob": 5 }, - { "item": "brain", "prob": 5 }, - { "item": "lung", "prob": 5 }, - { "item": "liver", "prob": 5 }, - { "item": "sweetbread", "prob": 5 }, + { "item": "brain", "prob": 5, "count": 4 }, + { "item": "lung", "prob": 5, "count": 4 }, + { "item": "liver", "prob": 5, "count": 4 }, + { "item": "sweetbread", "prob": 5, "count": 4 }, { "item": "stomach", "prob": 5 }, { "item": "stomach_large", "prob": 5 }, - { "item": "kidney", "prob": 5 }, + { "item": "kidney", "prob": 5, "count": 4 }, { "item": "jabberwock_heart", "prob": 1 } ] }, @@ -287,12 +287,12 @@ "subtype": "distribution", "entries": [ { "group": "softdrinks_canned", "prob": 290 }, - { "item": "caffeine", "prob": 25 }, - { "item": "maltballs", "prob": 30 }, + { "prob": 25, "group": "caffeine_bottle_plastic_pill_supplement_10" }, + { "prob": 30, "group": "maltballs_box_snack_4" }, { "group": "tobacco_products", "prob": 141 }, - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, { "item": "joint", "prob": 10 }, - { "item": "seed_weed", "prob": 15 }, + { "item": "seed_weed", "prob": 15, "count": 2 }, { "item": "seed_tobacco", "prob": 5 }, { "item": "rolling_paper", "prob": 5, "charges": [ 1, 30 ] }, { "item": "pipe_glass", "prob": 5 }, @@ -322,11 +322,11 @@ { "item": "solar_cell", "prob": 5 }, { "item": "flyer", "prob": 10 }, { "item": "usb_drive", "prob": 5 }, - { "item": "lsd", "prob": 1, "charges": [ 1, 5 ] }, - { "item": "gum", "prob": 20, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 8, "charges": [ 1, 10 ] }, + { "item": "lsd", "prob": 1, "count": [ 1, 5 ] }, + { "item": "gum", "prob": 20, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 8, "count": [ 1, 10 ] }, { "group": "tools_toolbox", "prob": 1 }, - { "item": "nic_gum", "prob": 5, "charges": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 5, "count": [ 1, 10 ] }, { "group": "toy_radio_car", "prob": 2 }, { "item": "radiocontrol", "prob": 15, "charges": [ 0, 100 ] }, { "item": "thermometer", "prob": 10 }, @@ -334,5 +334,13 @@ { "item": "barometer", "prob": 10 }, { "item": "weather_reader", "prob": 1 } ] + }, + { + "type": "item_group", + "id": "caffeine_bottle_plastic_pill_supplement_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "caffeine", "container-item": "null", "count": 10 } ] } ] diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index f6c9c0c786e6a..c4b591259f4ee 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -166,13 +166,13 @@ { "item": "plastic_fork", "prob": 50 }, { "item": "plastic_knife", "prob": 50 }, { "item": "flyer", "prob": 70 }, - { "item": "feces_roach", "prob": 70 }, + { "item": "feces_roach", "prob": 70, "count": 4 }, { "item": "lighter", "prob": 65, "charges-min": 0, "charges-max": 9 }, { "item": "light_disposable_cell", "count": [ 1, 7 ], "prob": 60, "charges": 0 }, { "item": "bag_plastic", "prob": 60, "count": [ 1, 5 ] }, { "item": "corkscrew", "prob": 60 }, { "item": "stapler", "prob": 45 }, - { "item": "gum", "prob": 55, "charges": [ 1, 2 ] }, + { "item": "gum", "prob": 55, "count": [ 1, 2 ] }, { "item": "can_opener", "prob": 55 }, { "item": "ceramic_shard", "prob": 30 }, { "item": "e_scrap", "prob": 50, "count": [ 1, 5 ] }, @@ -183,7 +183,7 @@ { "item": "condom", "prob": 40 }, { "item": "razor_shaving", "prob": 40 }, { "item": "scorecard", "prob": 40 }, - { "item": "gummy_vitamins", "prob": 40, "charges": 1 }, + { "item": "gummy_vitamins", "prob": 40 }, { "item": "survnote", "prob": 25 }, { "item": "joint_roach", "prob": 30 }, { "item": "file", "prob": 30 }, @@ -199,7 +199,7 @@ { "item": "button_plastic", "prob": 25, "count": [ 2, 8 ], "charges": 1 }, { "item": "button_steel", "prob": 15, "count": [ 2, 4 ], "charges": 1 }, { "item": "bearing", "prob": 15, "charges-min": 1, "charges-max": 3 }, - { "item": "adderall", "prob": 15, "charges": 1 }, + { "prob": 15, "group": "adderall_bottle_plastic_pill_prescription_1" }, { "item": "lighter", "prob": 10, "charges-min": 0, "charges-max": 90 }, { "item": "zipper_short_plastic", "prob": 10 }, { "item": "bracelet_friendship", "prob": 10 }, @@ -226,12 +226,12 @@ { "item": "dog_whistle", "prob": 6 }, { "item": "whistle_multitool", "prob": 6 }, { "item": "slingshot", "prob": 5 }, - { "item": "weak_antibiotic", "prob": 5, "charges": 1 }, + { "prob": 5, "group": "weak_antibiotic_bottle_plastic_pill_prescription_1" }, { "item": "paint_brush", "prob": 5 }, { "item": "chopsticks", "prob": 2 }, { "item": "office_holepunch", "prob": 2, "count": [ 1, 3 ] }, { "item": "nuts_bolts", "prob": 50, "charges-min": 3, "charges-max": 12 }, - { "item": "melatonin_tablet", "prob": 1, "count": 1 } + { "prob": 1, "count": 1, "group": "melatonin_tablet_bottle_plastic_pill_supplement_10" } ] }, { @@ -331,11 +331,11 @@ { "item": "old_key", "prob": 20, "count": [ 1, 6 ] }, { "item": "office_letter_opener", "prob": 15 }, { "item": "razor_blade", "count": [ 1, 3 ], "prob": 15 }, - { "item": "aspirin", "prob": 15, "charges": [ 1, 20 ] }, + { "prob": 15, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "item": "reading_light", "prob": 15, "charges": [ 0, 50 ] }, { "item": "book_binder", "prob": 15 }, { "item": "paint_brush", "prob": 10 }, - { "item": "gum", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "gum", "prob": 10, "count": [ 1, 10 ] }, { "item": "comb_pocket", "prob": 10 }, { "item": "picklocks", "prob": 5 }, { "item": "fitness_band", "prob": 5 }, @@ -366,12 +366,12 @@ { "item": "light_battery_cell", "count": 4, "prob": 50, "charges": 100 }, { "item": "deck_of_cards", "prob": 50 }, { "item": "teleumbrella", "prob": 50 }, - { "item": "aspirin", "prob": 50 }, + { "prob": 50, "group": "aspirin_bottle_plastic_pill_painkiller_20" }, { "item": "fancy_sunglasses", "prob": 50 }, { "item": "matches", "prob": 50, "charges": 20 }, { "item": "ref_matches", "prob": 50, "charges": 32 }, { "item": "dog_whistle", "prob": 40 }, - { "item": "gum", "prob": 40 }, + { "item": "gum", "prob": 40, "count": 10 }, { "item": "multitool", "prob": 40 }, { "item": "hairpin", "prob": 40 }, { "item": "candlestick", "prob": 30 }, @@ -527,11 +527,11 @@ ], "prob": 80 }, - { "item": "tea_raw", "count": [ 1, 10 ], "prob": 80 }, - { "item": "tea_green_raw", "count": [ 1, 10 ], "prob": 40 }, + { "count": [ 1, 10 ], "prob": 80, "group": "tea_raw_bag_plastic_33" }, + { "count": [ 1, 10 ], "prob": 40, "group": "tea_green_raw_bag_plastic_33" }, { "item": "teapot", "prob": 70 }, { "item": "kettle", "prob": 50 }, - { "item": "sugar", "charges": [ 10, 120 ], "container-item": "jar_glass_sealed", "prob": 90, "sealed": false }, + { "prob": 90, "sealed": false, "group": "sugar_jar_glass_sealed_10_120" }, { "distribution": [ { "item": "milk_powder", "charges": [ 5, 20 ], "container-item": "jar_glass_sealed", "prob": 60, "sealed": false }, @@ -658,18 +658,18 @@ "//2": "This group is for cupboard, drawer, or rack with spices.", "subtype": "collection", "entries": [ - { "item": "salt", "count": [ 2, 4 ] }, - { "item": "pepper" }, - { "item": "cinnamon", "prob": 75 }, - { "item": "chilly-p", "prob": 75 }, - { "item": "sugar", "prob": 15 }, - { "item": "artificial_sweetener", "prob": 5 }, - { "item": "curry_powder", "prob": 25 }, - { "item": "garlic_powder", "prob": 25 }, - { "item": "sprinkles", "prob": 10 }, + { "count": [ 2, 4 ], "group": "salt_bag_plastic_100" }, + { "group": "pepper_bag_plastic_100" }, + { "prob": 75, "group": "cinnamon_bag_plastic_100" }, + { "prob": 75, "group": "chilly-p_bag_plastic_100" }, + { "prob": 15, "group": "sugar_box_small_71" }, + { "prob": 5, "group": "artificial_sweetener_box_small_71" }, + { "prob": 25, "group": "curry_powder_bag_plastic_100" }, + { "prob": 25, "group": "garlic_powder_bag_plastic_100" }, + { "prob": 10, "group": "sprinkles_bottle_plastic_small_66" }, { "item": "thyme", "prob": 65 }, - { "item": "seasoning_italian", "prob": 50 }, - { "item": "seasoning_salt", "prob": 50 } + { "prob": 50, "group": "seasoning_italian_bag_plastic_100" }, + { "prob": 50, "group": "seasoning_salt_bag_plastic_100" } ] }, { @@ -712,9 +712,9 @@ "prob": 95 }, { "item": "comb_lice", "prob": 10 }, - { "item": "eyedrops", "prob": 15 }, + { "item": "eyedrops", "prob": 15, "count": 10 }, { "item": "pepto", "prob": 60, "charges-min": 1, "container-item": "bottle_plastic_small" }, - { "item": "tums", "prob": 60, "charges": [ 1, 20 ] }, + { "prob": 60, "group": "tums_bottle_plastic_small_1_20" }, { "item": "inhaler", "prob": 25, "charges-min": 10, "charges-max": 100 }, { "group": "tampon_box_used", "prob": 20 }, { "group": "menstrual_pad_box_used", "prob": 20 }, @@ -961,5 +961,45 @@ { "group": "gloves_unisex", "prob": 30 }, { "group": "hats_unisex", "prob": 10 } ] + }, + { + "type": "item_group", + "id": "adderall_bottle_plastic_pill_prescription_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "adderall", "container-item": "null" } ] + }, + { + "type": "item_group", + "id": "weak_antibiotic_bottle_plastic_pill_prescription_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "weak_antibiotic", "container-item": "null" } ] + }, + { + "type": "item_group", + "id": "sugar_jar_glass_sealed_10_120", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "sugar", "container-item": "null", "count": [ 10, 120 ] } ] + }, + { + "type": "item_group", + "id": "garlic_powder_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "garlic_powder", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "tums_bottle_plastic_small_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "tums", "container-item": "null", "count": [ 1, 20 ] } ] } ] diff --git a/data/json/itemgroups/SUS/fridges.json b/data/json/itemgroups/SUS/fridges.json index 926dd3e3facca..4a331595f97b3 100644 --- a/data/json/itemgroups/SUS/fridges.json +++ b/data/json/itemgroups/SUS/fridges.json @@ -35,26 +35,26 @@ { "item": "mayonnaise", "charges-min": 1, "prob": 75 }, { "item": "soysauce", "charges-min": 1, "prob": 65 }, { "item": "horseradish", "charges-min": 1, "prob": 25 }, - { "item": "salsa", "charges-min": 1, "prob": 15 }, + { "prob": 15, "group": "salsa_jar_glass_sealed_1_inf" }, { "item": "jam_fruit", "charges-min": 1, "prob": 60 }, - { "item": "cheese", "prob": 60 }, + { "prob": 60, "group": "cheese_bag_plastic_8" }, { "item": "cottage_cheese", "prob": 12 }, - { "item": "cheese_hard", "prob": 55 }, + { "prob": 55, "group": "cheese_hard_wrapper_8" }, { "item": "yoghurt", "prob": 80 }, - { "item": "butter", "prob": 80 }, + { "prob": 80, "group": "butter_wrapper_32" }, { "item": "pudding", "prob": 30 }, { "item": "gelatin_dessert_processed", "prob": 20 }, - { "item": "egg_bird_unfert", "prob": 85, "charges-min": 1, "charges-max": 12, "container-item": "carton_egg" }, - { "item": "bacon", "prob": 25 }, + { "prob": 85, "group": "egg_bird_unfert_carton_egg_1_12" }, + { "prob": 25, "group": "bacon_bag_plastic_2" }, { "distribution": [ { "item": "lunchmeat", "prob": 60 }, { "item": "bologna", "prob": 40 }, { "item": "tofu", "prob": 30 } ], "prob": 60 }, - { "item": "sauerkraut", "charges-min": 1, "prob": 25, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "pickle", "prob": 60, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "meat_pickled", "prob": 10, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "fish_pickled", "prob": 20, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "veggy_pickled", "prob": 40, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, + { "prob": 25, "sealed": false, "group": "sauerkraut_jar_glass_sealed_1_inf" }, + { "prob": 60, "sealed": false, "group": "pickle_jar_glass_sealed_1_inf" }, + { "prob": 10, "sealed": false, "group": "meat_pickled_jar_glass_sealed_1_inf" }, + { "prob": 20, "sealed": false, "group": "fish_pickled_jar_glass_sealed_1_inf" }, + { "prob": 40, "sealed": false, "group": "veggy_pickled_jar_glass_sealed_1_inf" }, { "distribution": [ { "item": "veggy_salad", "charges-min": 1, "prob": 10 }, @@ -338,16 +338,16 @@ "prob": 25 }, { "item": "horseradish", "charges-min": 1, "prob": 5 }, - { "item": "salsa", "charges-min": 1, "prob": 5 }, + { "prob": 5, "group": "salsa_jar_glass_sealed_1_inf" }, { "item": "jam_fruit", "charges-min": 1, "prob": 40 }, - { "item": "cheese", "prob": 60 }, + { "prob": 60, "group": "cheese_bag_plastic_8" }, { "item": "cottage_cheese", "prob": 4 }, - { "item": "cheese_hard", "prob": 35 }, + { "prob": 35, "group": "cheese_hard_wrapper_8" }, { "item": "yoghurt", "prob": 20 }, - { "item": "butter", "prob": 30 }, + { "prob": 30, "group": "butter_wrapper_32" }, { "item": "pudding", "prob": 10 }, - { "item": "egg_bird_unfert", "prob": 55, "charges-min": 1, "charges-max": 2, "container-item": "carton_egg" }, - { "item": "bacon", "prob": 65 }, + { "prob": 55, "group": "egg_bird_unfert_carton_egg_1_2" }, + { "prob": 65, "group": "bacon_bag_plastic_2" }, { "distribution": [ { "item": "pickle", "prob": 60, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, @@ -362,36 +362,36 @@ ], "prob": 75 }, - { "item": "blt", "charges-min": 1, "prob": 10 }, + { "prob": 10, "group": "blt_wrapper_1_inf" }, { "item": "protein_shake", "charges-min": 1, "prob": 5 }, - { "item": "fries", "charges-min": 1, "prob": 10 }, - { "item": "cheese_fries", "charges-min": 1, "prob": 10 }, - { "item": "onion_rings", "charges-min": 1, "prob": 10 }, + { "prob": 10, "group": "fries_box_small_1_inf" }, + { "prob": 10, "group": "cheese_fries_box_small_1_inf" }, + { "prob": 10, "group": "onion_rings_box_small_1_inf" }, { "item": "milkshake", "charges-min": 1, "prob": 10 }, { "item": "milkshake_fastfood", "charges-min": 1, "prob": 10 }, { "item": "frozen_lemonade", "charges-min": 1, "prob": 10 }, { "item": "milkshake_deluxe", "charges-min": 1, "prob": 5 }, - { "item": "pizza_meat", "charges-min": 1, "prob": 10 }, - { "item": "pizza_veggy", "charges-min": 1, "prob": 10 }, - { "item": "pizza_cheese", "charges-min": 1, "prob": 10 }, - { "item": "pizza_supreme", "charges-min": 1, "prob": 10 }, - { "item": "nachosv", "charges-min": 1, "prob": 10 }, - { "item": "nachosmc", "charges-min": 1, "prob": 10 }, - { "item": "nachosc", "charges-min": 1, "prob": 10 }, - { "item": "spaghetti_bolognese", "charges-min": 1, "prob": 10 }, - { "item": "cheeseburger", "charges-min": 1, "prob": 10 }, - { "item": "hamburger", "charges-min": 1, "prob": 10 }, - { "item": "fish_fried", "charges-min": 1, "prob": 10 }, - { "item": "fish_sandwich", "charges-min": 1, "prob": 10 }, - { "item": "lobster_roll", "charges-min": 1, "prob": 10 }, - { "item": "sloppyjoe", "charges-min": 1, "prob": 10 }, - { "item": "sandwich_t", "charges-min": 1, "prob": 10 }, - { "item": "junk_burrito", "charges-min": 1, "prob": 10 }, - { "item": "chili", "charges-min": 1, "prob": 10 }, - { "item": "hotdogs_cooked", "charges-min": 1, "prob": 10 }, - { "item": "hotdogs_newyork", "charges-min": 1, "prob": 5 }, - { "item": "crab_cakes", "charges-min": 1, "prob": 5 }, - { "item": "stuffed_clams", "charges-min": 1, "prob": 3 }, + { "prob": 10, "group": "pizza_meat_box_small_1_inf" }, + { "prob": 10, "group": "pizza_veggy_box_small_1_inf" }, + { "prob": 10, "group": "pizza_cheese_box_small_1_inf" }, + { "prob": 10, "group": "pizza_supreme_box_small_1_inf" }, + { "prob": 10, "group": "nachosv_bag_plastic_1_inf" }, + { "prob": 10, "group": "nachosmc_bag_plastic_1_inf" }, + { "prob": 10, "group": "nachosc_bag_plastic_1_inf" }, + { "item": "spaghetti_bolognese", "prob": 10, "count-min": 1 }, + { "prob": 10, "group": "cheeseburger_wrapper_1_inf" }, + { "prob": 10, "group": "hamburger_wrapper_1_inf" }, + { "prob": 10, "group": "fish_fried_box_small_1_inf" }, + { "prob": 10, "group": "fish_sandwich_wrapper_1_inf" }, + { "prob": 10, "group": "lobster_roll_wrapper_1_inf" }, + { "prob": 10, "group": "sloppyjoe_wrapper_1_inf" }, + { "prob": 10, "group": "sandwich_t_wrapper_1_inf" }, + { "prob": 10, "group": "junk_burrito_bag_plastic_1_inf" }, + { "prob": 10, "group": "chili_can_medium_1_inf" }, + { "prob": 10, "group": "hotdogs_cooked_wrapper_1_inf" }, + { "prob": 5, "group": "hotdogs_newyork_wrapper_1_inf" }, + { "prob": 5, "group": "crab_cakes_box_small_1_inf" }, + { "prob": 3, "group": "stuffed_clams_box_small_1_inf" }, { "distribution": [ { @@ -557,15 +557,15 @@ { "item": "soysauce", "charges-min": 1, "prob": 75 }, { "item": "jam_fruit", "charges-min": 1, "prob": 70 }, { "item": "tofu", "prob": 90, "count-min": 1, "count-max": 5 }, - { "item": "sauerkraut", "charges-min": 1, "prob": 45, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "pickle", "prob": 60, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "veggy_pickled", "prob": 60, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "veggy_salad", "charges-min": 1, "prob": 50 }, + { "prob": 45, "sealed": false, "group": "sauerkraut_jar_glass_sealed_1_inf" }, + { "prob": 60, "sealed": false, "group": "pickle_jar_glass_sealed_1_inf" }, + { "prob": 60, "sealed": false, "group": "veggy_pickled_jar_glass_sealed_1_inf" }, + { "prob": 50, "group": "veggy_salad_bowl_plastic_1_inf" }, { "item": "protein_shake", "charges-min": 1, "prob": 45 }, - { "item": "fries", "charges-min": 1, "prob": 10 }, - { "item": "onion_rings", "charges-min": 1, "prob": 10 }, - { "item": "pizza_veggy", "charges-min": 1, "prob": 20 }, - { "item": "nachosv", "charges-min": 1, "prob": 20 }, + { "prob": 10, "group": "fries_box_small_1_inf" }, + { "prob": 10, "group": "onion_rings_box_small_1_inf" }, + { "prob": 20, "group": "pizza_veggy_box_small_1_inf" }, + { "prob": 20, "group": "nachosv_bag_plastic_1_inf" }, { "item": "gelatin_dessert_vegan", "prob": 30 }, { "item": "gelatin_dessert_vegan_fruit", "prob": 30 }, { @@ -675,27 +675,27 @@ { "item": "mayonnaise", "charges-min": 1, "prob": 20 }, { "item": "soysauce", "charges-min": 1, "prob": 20 }, { "item": "horseradish", "charges-min": 1, "prob": 25 }, - { "item": "salsa", "charges-min": 1, "prob": 15 }, + { "prob": 15, "group": "salsa_jar_glass_sealed_1_inf" }, { "item": "jam_fruit", "charges-min": 1, "prob": 20 }, - { "item": "cheese", "prob": 20 }, + { "prob": 20, "group": "cheese_bag_plastic_8" }, { "item": "cottage_cheese", "prob": 2 }, - { "item": "cheese_hard", "prob": 20 }, + { "prob": 20, "group": "cheese_hard_wrapper_8" }, { "item": "yoghurt", "prob": 20 }, - { "item": "butter", "prob": 20 }, + { "prob": 20, "group": "butter_wrapper_32" }, { "item": "pudding", "prob": 20 }, { "item": "gelatin_dessert_processed", "prob": 10 }, { "item": "egg_bird_unfert", "prob": 20, "count-min": 1, "count-max": 12 }, - { "item": "egg_bird_unfert", "prob": 20, "charges-min": 1, "charges-max": 12, "container-item": "carton_egg" }, - { "item": "bacon", "prob": 25 }, + { "prob": 20, "group": "egg_bird_unfert_carton_egg_1_12" }, + { "prob": 25, "group": "bacon_bag_plastic_2" }, { "distribution": [ { "item": "lunchmeat", "prob": 60 }, { "item": "bologna", "prob": 40 }, { "item": "tofu", "prob": 30 } ], "prob": 20 }, - { "item": "sauerkraut", "charges-min": 1, "prob": 25, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "pickle", "prob": 20, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "meat_pickled", "prob": 10, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "fish_pickled", "prob": 20, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "veggy_pickled", "prob": 20, "charges-min": 1, "container-item": "jar_glass_sealed", "sealed": false }, + { "prob": 25, "sealed": false, "group": "sauerkraut_jar_glass_sealed_1_inf" }, + { "prob": 20, "sealed": false, "group": "pickle_jar_glass_sealed_1_inf" }, + { "prob": 10, "sealed": false, "group": "meat_pickled_jar_glass_sealed_1_inf" }, + { "prob": 20, "sealed": false, "group": "fish_pickled_jar_glass_sealed_1_inf" }, + { "prob": 20, "sealed": false, "group": "veggy_pickled_jar_glass_sealed_1_inf" }, { "distribution": [ { "item": "veggy_salad", "charges-min": 1, "prob": 10 }, @@ -962,26 +962,26 @@ { "item": "milk_choc", "charges-min": 1, "prob": 2, "container-item": "jug_plastic", "sealed": false }, { "item": "milk_choc", "charges-min": 1, "prob": 6, "container-item": "bottle_twoliter", "sealed": false }, { "item": "horchata", "charges-min": 1, "prob": 3, "container-item": "bottle_plastic", "sealed": false }, - { "item": "cheese", "prob": 40 }, + { "prob": 40, "group": "cheese_bag_plastic_8" }, { "item": "cottage_cheese", "prob": 9 }, - { "item": "cheese_hard", "prob": 50 }, + { "prob": 50, "group": "cheese_hard_wrapper_8" }, { "item": "yoghurt", "count": [ 1, 3 ], "prob": 75 }, - { "item": "butter", "prob": 50 }, + { "prob": 50, "group": "butter_wrapper_32" }, { "item": "pudding", "prob": 30 }, { "item": "gelatin_dessert_processed", "prob": 10 }, - { "item": "veggy_salad", "charges-min": 1, "prob": 19 }, - { "item": "blt", "charges-min": 1, "prob": 13 }, + { "prob": 19, "group": "veggy_salad_bowl_plastic_1_inf" }, + { "prob": 13, "group": "blt_wrapper_1_inf" }, { "item": "protein_shake", "charges-min": 1, "prob": 6 }, - { "item": "sandwich_t", "charges-min": 1, "prob": 13 }, - { "item": "sandwich_veggy", "charges-min": 1, "prob": 10 }, - { "item": "sandwich_jam_butter", "charges-min": 1, "prob": 1 }, - { "item": "sandwich_jam", "charges-min": 1, "prob": 6 }, - { "item": "sandwich_cheese", "charges-min": 1, "prob": 6 }, - { "item": "sandwich_deluxe", "charges-min": 1, "prob": 6 }, - { "item": "sandwich_reuben", "charges-min": 1, "prob": 3 }, - { "item": "sandwich_pb", "charges-min": 1, "prob": 6 }, - { "item": "sandwich_pbj", "charges-min": 1, "prob": 6 }, - { "item": "fish_sandwich", "charges-min": 1, "prob": 6 }, + { "prob": 13, "group": "sandwich_t_wrapper_1_inf" }, + { "prob": 10, "group": "sandwich_veggy_wrapper_1_inf" }, + { "prob": 1, "group": "sandwich_jam_butter_wrapper_1_inf" }, + { "prob": 6, "group": "sandwich_jam_wrapper_1_inf" }, + { "prob": 6, "group": "sandwich_cheese_wrapper_1_inf" }, + { "prob": 6, "group": "sandwich_deluxe_wrapper_1_inf" }, + { "prob": 3, "group": "sandwich_reuben_wrapper_1_inf" }, + { "prob": 6, "group": "sandwich_pb_wrapper_1_inf" }, + { "prob": 6, "group": "sandwich_pbj_wrapper_1_inf" }, + { "prob": 6, "group": "fish_sandwich_wrapper_1_inf" }, { "group": "softdrinks_canned", "count": [ 1, 5 ], "prob": 75 }, { "item": "water_clean", "container-item": "bottle_plastic", "prob": 65, "count": [ 1, 3 ], "sealed": false }, { "item": "water_mineral", "container-item": "bottle_plastic", "prob": 35, "count": [ 1, 2 ], "sealed": false } @@ -1003,5 +1003,301 @@ { "group": "alcohol_bottled_canned", "count": [ 2, 4 ], "prob": 30 }, { "item": "water_clean", "container-item": "bottle_plastic", "prob": 65, "count": [ 2, 6 ], "sealed": false } ] + }, + { + "type": "item_group", + "id": "salsa_jar_glass_sealed_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "salsa", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "butter_wrapper_32", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "butter", "container-item": "null", "count": 32 } ] + }, + { + "type": "item_group", + "id": "sauerkraut_jar_glass_sealed_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "sauerkraut", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "pickle_jar_glass_sealed_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "pickle", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "meat_pickled_jar_glass_sealed_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "meat_pickled", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "fish_pickled_jar_glass_sealed_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "fish_pickled", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "veggy_pickled_jar_glass_sealed_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "veggy_pickled", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "egg_bird_unfert_carton_egg_1_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "carton_egg", + "entries": [ { "item": "egg_bird_unfert", "count-min": 1, "count-max": 2 } ] + }, + { + "type": "item_group", + "id": "blt_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "blt", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "fries_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "fries", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "cheese_fries_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cheese_fries", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "onion_rings_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "onion_rings", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "pizza_meat_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_meat", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "pizza_veggy_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_veggy", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "pizza_cheese_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_cheese", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "pizza_supreme_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_supreme", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "nachosv_bag_plastic_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "nachosv", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "nachosmc_bag_plastic_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "nachosmc", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "nachosc_bag_plastic_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "nachosc", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "cheeseburger_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "cheeseburger", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "hamburger_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "hamburger", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "fish_fried_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "fish_fried", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "fish_sandwich_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "fish_sandwich", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "lobster_roll_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "lobster_roll", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sloppyjoe_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sloppyjoe", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_t_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_t", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "junk_burrito_bag_plastic_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "junk_burrito", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "chili_can_medium_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "chili", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "veggy_salad_bowl_plastic_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bowl_plastic", + "entries": [ { "item": "veggy_salad", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_veggy_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_veggy", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_jam_butter_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_jam_butter", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_jam_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_jam", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_cheese_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_cheese", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_deluxe_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_deluxe", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_reuben_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_reuben", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_pb_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_pb", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "sandwich_pbj_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_pbj", "container-item": "null", "count-min": 1 } ] } ] diff --git a/data/json/itemgroups/SUS/mre_packages.json b/data/json/itemgroups/SUS/mre_packages.json index 40481cf56ed82..e81f1c8df6cda 100644 --- a/data/json/itemgroups/SUS/mre_packages.json +++ b/data/json/itemgroups/SUS/mre_packages.json @@ -52,8 +52,8 @@ "id": "mre_dessert_pack", "subtype": "collection", "entries": [ - { "item": "candy2", "charges": 1, "container-item": "wrapper" }, - { "item": "cookies", "charges": 1, "container-item": "wrapper" }, + { "group": "candy2_wrapper_1" }, + { "group": "cookies_wrapper_1" }, { "item": "dry_fruit", "container-item": "wrapper" } ] }, @@ -63,12 +63,12 @@ "container-item": "bag_plastic", "subtype": "collection", "entries": [ - { "item": "gummy_vitamins", "charges": 1 }, + { "item": "gummy_vitamins" }, { "item": "matches", "charges": 20 }, { "item": "napkin", "count": 8 }, - { "item": "gum", "charges": 2 }, - { "item": "pur_tablets", "charges": 6, "container-item": "beverage_bag" }, - { "item": "sugar", "charges": 2, "container-item": "beverage_bag" }, + { "item": "gum", "count": 2 }, + { "group": "pur_tablets_beverage_bag_6" }, + { "group": "sugar_beverage_bag_2" }, { "item": "spork" }, { "distribution": [ @@ -97,7 +97,7 @@ { "item": "spread_peanutbutter", "charges": 1, "container-item": "mre_bag_small", "sealed": true } ] }, - { "item": "crackers", "charges": 2, "container-item": "mre_bag_small", "sealed": true }, + { "sealed": true, "group": "crackers_mre_bag_small_2" }, { "group": "mre_accessory_pack" }, { "item": "mre_bag", "contents-group": "mre_dessert_pack", "sealed": true } ] @@ -113,8 +113,8 @@ "id": "mre_used_dessert_pack", "subtype": "collection", "entries": [ - { "item": "candy2", "charges": [ 0, 1 ], "container-item": "wrapper" }, - { "item": "cookies", "charges": [ 0, 1 ], "container-item": "wrapper" }, + { "count": [ 0, 1 ], "group": "candy2_wrapper_1" }, + { "count": [ 0, 1 ], "group": "cookies_wrapper_1" }, { "item": "dry_fruit", "container-item": "wrapper" } ] }, @@ -124,12 +124,12 @@ "container-item": "bag_plastic", "subtype": "collection", "entries": [ - { "item": "gummy_vitamins", "charges": 1 }, + { "item": "gummy_vitamins" }, { "item": "matches", "charges": [ 0, 20 ] }, { "item": "napkin", "count": [ 0, 8 ] }, - { "item": "gum", "charges": [ 0, 2 ] }, - { "item": "pur_tablets", "charges": [ 0, 6 ], "container-item": "beverage_bag" }, - { "item": "sugar", "charges": [ 0, 2 ], "container-item": "beverage_bag" }, + { "item": "gum", "count": [ 0, 2 ] }, + { "group": "pur_tablets_beverage_bag_0_6" }, + { "group": "sugar_beverage_bag_0_2" }, { "item": "spork" }, { "distribution": [ @@ -157,7 +157,7 @@ { "item": "spread_peanutbutter", "container-item": "mre_bag_small", "prob": 40, "sealed": true } ] }, - { "item": "crackers", "charges": [ 0, 2 ], "container-item": "mre_bag_small", "sealed": false }, + { "sealed": false, "group": "crackers_mre_bag_small_0_2" }, { "group": "mre_accessory_pack", "prob": 50 }, { "item": "mre_bag", "contents-group": "mre_used_dessert_pack", "sealed": false } ] @@ -167,5 +167,69 @@ "id": "mre_used_pack", "subtype": "collection", "entries": [ { "item": "mre_package", "contents-group": "mre_used_contents", "sealed": false } ] + }, + { + "type": "item_group", + "id": "candy2_wrapper_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "candy2", "container-item": "null" } ] + }, + { + "type": "item_group", + "id": "cookies_wrapper_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "cookies", "container-item": "null" } ] + }, + { + "type": "item_group", + "id": "pur_tablets_beverage_bag_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "beverage_bag", + "entries": [ { "item": "pur_tablets", "count": 6 } ] + }, + { + "type": "item_group", + "id": "sugar_beverage_bag_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "beverage_bag", + "entries": [ { "item": "sugar", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "crackers_mre_bag_small_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "mre_bag_small", + "entries": [ { "item": "crackers", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "pur_tablets_beverage_bag_0_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "beverage_bag", + "entries": [ { "item": "pur_tablets", "count": [ 0, 6 ] } ] + }, + { + "type": "item_group", + "id": "sugar_beverage_bag_0_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "beverage_bag", + "entries": [ { "item": "sugar", "container-item": "null", "count": [ 0, 2 ] } ] + }, + { + "type": "item_group", + "id": "crackers_mre_bag_small_0_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "mre_bag_small", + "entries": [ { "item": "crackers", "container-item": "null", "count": [ 0, 2 ] } ] } ] diff --git a/data/json/itemgroups/activities_hobbies.json b/data/json/itemgroups/activities_hobbies.json index db833f5429587..ccddedaeb70b7 100644 --- a/data/json/itemgroups/activities_hobbies.json +++ b/data/json/itemgroups/activities_hobbies.json @@ -7,7 +7,7 @@ { "group": "adhesive_bandages_box_used", "prob": 25 }, { "item": "liq_bandage_spray", "prob": 10, "charges-min": 1 }, { "group": "cotton_ball_bag_used", "prob": 50 }, - { "item": "aspirin", "prob": 85, "charges": [ 1, 20 ] }, + { "prob": 85, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, [ "bat", 60 ], [ "bat_nerf", 60 ], [ "pom_poms", 40 ], @@ -119,13 +119,7 @@ [ "rollerskates", 10 ], [ "wheel_skate", 50 ], [ "manual_throw", 12 ], - { - "item": "protein_powder", - "prob": 12, - "container-item": "bottle_plastic_small", - "charges-min": 1, - "charges-max": 9 - }, + { "prob": 12, "group": "protein_powder_bottle_plastic_small_1_9" }, [ "airhorn", 40 ], [ "whistle", 10 ], [ "boots_hiking", 10 ], @@ -210,8 +204,8 @@ { "item": "book_archery", "prob": 12 }, { "item": "protein_shake", "prob": 15 }, { "item": "sm_extinguisher", "prob": 10, "charges": 10 }, - { "item": "quikclot", "prob": 10, "charges": [ 1, 6 ] }, - { "item": "bfipowder", "prob": 15, "charges": [ 1, 4 ] }, + { "prob": 10, "group": "quikclot_bag_plastic_1_6" }, + { "prob": 15, "group": "bfipowder_bottle_plastic_small_1_4" }, { "item": "speargun", "prob": 10 }, { "item": "minispeargun", "prob": 10 }, { "item": "doublespeargun", "prob": 8 }, @@ -406,7 +400,7 @@ [ "pocketwatch", 5 ], [ "boots_hiking", 20 ], [ "runner_bag", 15 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 1, 15 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_1_15" }, [ "e_tool", 10 ], [ "knife_trench", 7 ], [ "flaregun", 20 ], @@ -540,7 +534,7 @@ [ "pocketwatch", 5 ], [ "boots_hiking", 20 ], [ "runner_bag", 15 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 1, 15 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_1_15" }, [ "e_tool", 10 ], [ "knife_trench", 7 ], [ "flaregun", 20 ], @@ -667,5 +661,45 @@ "battleship", "clue" ] + }, + { + "type": "item_group", + "id": "aspirin_bottle_plastic_pill_painkiller_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "aspirin", "container-item": "null", "count": [ 1, 20 ] } ] + }, + { + "type": "item_group", + "id": "protein_powder_bottle_plastic_small_1_9", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "protein_powder", "container-item": "null", "count-min": 1, "count-max": 9 } ] + }, + { + "type": "item_group", + "id": "quikclot_bag_plastic_1_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "quikclot", "container-item": "null", "count": [ 1, 6 ] } ] + }, + { + "type": "item_group", + "id": "bfipowder_bottle_plastic_small_1_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "bfipowder", "container-item": "null", "count": [ 1, 4 ] } ] + }, + { + "type": "item_group", + "id": "pur_tablets_bottle_plastic_small_1_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "pur_tablets", "count": [ 1, 15 ] } ] } ] diff --git a/data/json/itemgroups/art_antiques_crafts.json b/data/json/itemgroups/art_antiques_crafts.json index 51bd86e7ef341..7f7e9ca73d26b 100644 --- a/data/json/itemgroups/art_antiques_crafts.json +++ b/data/json/itemgroups/art_antiques_crafts.json @@ -121,7 +121,7 @@ { "item": "sword_bayonet", "prob": 10 }, { "item": "bagh_nakha", "prob": 5 }, { "item": "kris", "prob": 5 }, - { "item": "cheese_hard", "prob": 1 }, + { "prob": 1, "group": "cheese_hard_wrapper_8" }, { "item": "tinderbox", "prob": 4 }, { "item": "flint_steel", "prob": 7 }, { "item": "canteen_wood", "prob": 5 }, @@ -278,5 +278,13 @@ [ "bead_ear", 5 ], [ "bead_necklace", 5 ] ] + }, + { + "type": "item_group", + "id": "cheese_hard_wrapper_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "cheese_hard", "container-item": "null", "count": 8 } ] } ] diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index 0243961a6af61..594c702c3b55d 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -187,8 +187,8 @@ "id": "chem_home", "subtype": "distribution", "entries": [ - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, { "item": "textbook_chemistry", "prob": 8 }, { "item": "brewing_cookbook", "prob": 4 }, { "item": "adv_chemistry", "prob": 6 }, @@ -199,8 +199,8 @@ { "item": "chem_washing_soda", "prob": 20, "charges-min": 1 }, { "item": "chem_baking_soda", "prob": 20, "charges-min": 1 }, { "item": "ammonia_hydroxide", "prob": 24, "charges-min": 1 }, - { "item": "yeast", "prob": 2 }, - { "item": "yogurt_starter_culture", "prob": 1 }, + { "prob": 2, "group": "yeast_bag_plastic_25" }, + { "prob": 1, "group": "yogurt_starter_culture_bag_plastic_4" }, { "item": "royal_jelly", "prob": 8 }, { "item": "superglue", "prob": 20 }, { "item": "bottle_glass", "prob": 10 }, @@ -217,12 +217,12 @@ { "item": "apron_plastic", "prob": 15 }, { "item": "apron_cotton", "prob": 3 }, { "item": "apron_leather", "prob": 3 }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 15, "charges": [ 1, 15 ] }, + { "prob": 15, "group": "pur_tablets_bottle_plastic_small_1_15" }, { "item": "lye_powder", "prob": 20, "charges-min": 100 }, { "item": "oxy_powder", "prob": 24, "charges-min": 100 }, { "item": "chemistry_set", "prob": 10, "charges": [ 0, 500 ] }, { "item": "sm_extinguisher", "prob": 20, "charges": 10 }, - { "item": "eyedrops", "prob": 25 }, + { "item": "eyedrops", "prob": 25, "count": 10 }, { "item": "charcoal", "prob": 15 }, { "item": "tin", "prob": 15 }, { "item": "lamp_oil", "prob": 12 }, @@ -260,20 +260,20 @@ [ "contacts", 20 ], { "item": "pride_flag", "prob": 5 }, { "item": "national_flag", "prob": 1 }, - { "item": "vitamins", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "aspirin", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "nic_gum", "prob": 20, "charges": [ 1, 10 ] }, + { "prob": 20, "group": "vitamins_bottle_plastic_pill_supplement_1_20" }, + { "prob": 20, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, + { "item": "nic_gum", "prob": 20, "count": [ 1, 10 ] }, { "item": "inhaler", "prob": 20, "charges-min": 10, "charges-max": 100 }, - { "item": "cig", "prob": 20, "charges": [ 1, 20 ] }, + { "prob": 20, "group": "cig_box_cigarette_1_20" }, { "item": "water", "prob": 10, "container-item": "glass" }, { "group": "glass_of_wine", "prob": 10 }, - { "item": "gummy_vitamins", "prob": 10, "charges": [ 1, 10 ] }, + { "item": "gummy_vitamins", "prob": 10, "count": [ 1, 10 ] }, { "item": "cell_phone", "prob": 2, "charges": [ 0, 150 ] }, { "item": "smart_phone", "prob": 12, "charges-min": 0 }, [ "eyedrops", 10 ], [ "holy_symbol", 5 ], [ "pills_sleep", 5 ], - { "item": "melatonin_tablet", "prob": 3, "charges": [ 1, 30 ] }, + { "prob": 3, "group": "melatonin_tablet_bottle_plastic_pill_supplement_1_30" }, { "item": "nyquil", "prob": 5, "charges": [ 1, 5 ] }, { "group": "mansion_guns", "prob": 3 }, { "group": "harddrugs", "prob": 1 }, @@ -369,7 +369,7 @@ { "item": "candlestick", "prob": 50, "charges-min": 1, "charges-max": 6 }, { "group": "liquor_and_spirits", "prob": 60 }, { "group": "wines_worthy", "prob": 50 }, - { "item": "cigar", "prob": 50 }, + { "item": "cigar", "prob": 50, "count": 5 }, { "group": "jewelry_accessories", "prob": 50 } ] }, @@ -455,11 +455,11 @@ { "item": "sponge", "prob": 5 }, { "group": "tobacco_products", "prob": 151 }, { "group": "cigar_box_opened", "prob": 5 }, - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, { "item": "hi_q_shatter", "prob": 5 }, { "item": "hi_q_wax", "prob": 5 }, { "item": "joint", "prob": 10 }, - { "item": "seed_weed", "prob": 5 }, + { "item": "seed_weed", "prob": 5, "count": 2 }, { "item": "seed_tobacco", "prob": 5 }, { "item": "rolling_paper", "prob": 5 }, { "item": "mask_hockey", "prob": 5 }, @@ -479,14 +479,14 @@ { "item": "jersey", "prob": 10 }, { "item": "fan", "prob": 10 }, { "item": "pipe_glass", "prob": 5 }, - { "item": "coke", "prob": 8, "charges": [ 1, 8 ] }, + { "prob": 8, "group": "coke_bag_zipper_1_8" }, { "item": "hat_golf", "prob": 15 }, { "item": "gloves_golf", "prob": 15 }, { "item": "golf_bag", "prob": 10 }, { "item": "golf_tee", "prob": 15 }, { "item": "golf_ball", "prob": 30 }, { "item": "golf_club", "prob": 15 }, - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, { "item": "sandbox_kit", "prob": 1 }, { "item": "sneakers", "prob": 80 }, { "item": "boots", "prob": 70 }, @@ -589,7 +589,7 @@ { "item": "umbrella", "prob": 50 }, { "item": "teleumbrella", "prob": 20 }, { "item": "fish_bowl", "prob": 1 }, - { "item": "lsd", "prob": 1, "charges": [ 1, 5 ] }, + { "item": "lsd", "prob": 1, "count": [ 1, 5 ] }, { "item": "laptop", "prob": 10, "charges": [ 0, 500 ] }, { "item": "file", "prob": 5 }, { "item": "eink_tablet_pc", "prob": 2, "charges": [ 0, 100 ] }, @@ -597,9 +597,9 @@ { "item": "camera", "prob": 1, "charges": [ 0, 150 ] }, { "item": "camera", "container-item": "camera_bag", "prob": 2, "charges": [ 0, 150 ] }, { "item": "camera_bag", "prob": 3 }, - { "item": "gum", "prob": 30, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 3, "charges": [ 1, 10 ] }, - { "item": "licorice", "prob": 3 }, + { "item": "gum", "prob": 30, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 3, "count": [ 1, 10 ] }, + { "prob": 3, "group": "licorice_bag_plastic_4" }, { "item": "flask_hip", "prob": 5 }, { "item": "atomic_light", "prob": 1 }, { "item": "atomic_lamp", "prob": 1 }, @@ -608,9 +608,9 @@ { "item": "rubber_harness_dog", "prob": 2 }, { "item": "dogfood", "prob": 5, "container-item": "can_medium" }, { "item": "catfood", "prob": 5, "container-item": "can_food" }, - { "item": "dogfood_dry", "prob": 2, "charges": 8, "container-item": "bag_plastic" }, - { "item": "catfood_dry", "prob": 2, "charges": 8, "container-item": "bag_plastic" }, - { "item": "nic_gum", "prob": 2, "charges": [ 1, 10 ] }, + { "prob": 2, "group": "dogfood_dry_bag_plastic_8" }, + { "prob": 2, "group": "catfood_dry_bag_plastic_8" }, + { "item": "nic_gum", "prob": 2, "count": [ 1, 10 ] }, { "item": "oxygen_tank", "prob": 2, "charges": [ 0, 12 ] }, { "item": "smoxygen_tank", "prob": 1, "charges": [ 0, 24 ] }, { "group": "religious_books", "prob": 38 }, @@ -646,9 +646,9 @@ { "group": "snacks", "prob": 370 }, { "item": "aluminum_foil", "prob": 25 }, { "item": "rolling_pin", "prob": 25 }, - { "item": "cereal", "prob": 50 }, - { "item": "cereal2", "prob": 60 }, - { "item": "cereal3", "prob": 45 }, + { "prob": 50, "group": "cereal_box_small_4" }, + { "prob": 60, "group": "cereal2_box_small_4" }, + { "prob": 45, "group": "cereal3_box_small_4" }, { "group": "kitchen_appliances", "prob": 253 }, { "item": "apron_cotton", "prob": 25 }, { "item": "waist_apron_long", "prob": 7 }, @@ -675,34 +675,28 @@ { "group": "alcohol", "prob": 101 }, { "item": "sweet_sausage", "prob": 2 }, { "item": "roasted_coffee_bean", "prob": 10 }, - { "item": "bacon", "prob": 25 }, + { "prob": 25, "group": "bacon_bag_plastic_2" }, { "item": "bleach", "prob": 20, "charges-min": 1 }, { "item": "chem_washing_soda", "prob": 20, "charges-min": 1 }, { "item": "chem_baking_soda", "prob": 20, "charges-min": 1 }, { "item": "ammonia_hydroxide", "prob": 24, "charges-min": 1 }, { "item": "butane_can", "prob": 10, "charges": [ 200, 400 ] }, - { "item": "milk_powder", "prob": 15 }, - { "item": "powder_eggs", "prob": 20 }, - { - "item": "protein_powder", - "prob": 12, - "container-item": "bottle_plastic_small", - "charges-min": 1, - "charges-max": 9 - }, + { "prob": 15, "group": "milk_powder_bag_plastic_4" }, + { "prob": 20, "group": "powder_eggs_bottle_plastic_small_16" }, + { "prob": 12, "group": "protein_powder_bottle_plastic_small_1_9" }, { "group": "dry_goods", "prob": 365 }, - { "item": "fchicken", "prob": 25 }, + { "prob": 25, "group": "fchicken_box_small_4" }, { "item": "lunchmeat", "prob": 10 }, - { "item": "bologna", "prob": 10 }, + { "prob": 10, "group": "bologna_bag_plastic_10" }, { "item": "nachosc", "prob": 10 }, { "item": "nachosm", "prob": 10 }, { "item": "nachosmc", "prob": 2 }, - { "item": "toastem", "prob": 30 }, - { "item": "toastem2", "prob": 30 }, - { "item": "toastem3", "prob": 35 }, - { "item": "toasterpastryfrozen", "prob": 20 }, - { "item": "brownie", "prob": 30 }, - { "item": "lemonade_powder", "prob": 15 }, + { "prob": 30, "group": "toastem_box_small_8" }, + { "prob": 30, "group": "toastem2_box_small_8" }, + { "prob": 35, "group": "toastem3_box_small_8" }, + { "prob": 20, "group": "toasterpastryfrozen_box_snack_2" }, + { "prob": 30, "group": "brownie_box_small_4" }, + { "prob": 15, "group": "lemonade_powder_bottle_plastic_small_10" }, { "item": "funnel", "prob": 50 }, { "item": "vac_sealer", "prob": 10 }, { "item": "cookbook_italian", "prob": 10 }, @@ -716,34 +710,34 @@ { "item": "cookbook_eatyrway", "prob": 8 }, { "item": "family_cookbook", "prob": 6 }, { "item": "brewing_cookbook", "prob": 4 }, - { "item": "pizza_veggy", "prob": 8 }, - { "item": "pizza_meat", "prob": 8 }, - { "item": "pizza_cheese", "prob": 8 }, + { "prob": 8, "group": "pizza_veggy_box_small_4" }, + { "prob": 8, "group": "pizza_meat_box_small_4" }, + { "prob": 8, "group": "pizza_cheese_box_small_4" }, { "item": "cheeseburger", "prob": 8 }, { "item": "hamburger", "prob": 8 }, { "item": "fish_fried", "prob": 8 }, { "item": "fish_sandwich", "prob": 8 }, { "item": "sloppyjoe", "prob": 8 }, - { "item": "hotdogs_frozen", "prob": 8 }, - { "item": "corndogs_frozen", "prob": 8 }, + { "prob": 8, "group": "hotdogs_frozen_bag_plastic_10" }, + { "prob": 8, "group": "corndogs_frozen_bag_plastic_2" }, { "item": "heatpack", "prob": 60 }, - { "item": "can_beans", "prob": 40 }, - { "item": "pork_beans", "prob": 40 }, - { "item": "can_chicken", "prob": 40 }, + { "prob": 40, "group": "can_beans_can_medium_2" }, + { "prob": 40, "group": "pork_beans_can_medium_2" }, + { "prob": 40, "group": "can_chicken_can_medium_2" }, { "item": "can_tomato", "prob": 40 }, { "item": "cooked_pumpkin", "prob": 20 }, { "item": "con_milk", "prob": 20 }, { "item": "milk_evap", "prob": 20 }, - { "item": "can_corn", "prob": 35 }, - { "item": "can_spam", "prob": 30 }, - { "item": "can_pineapple", "prob": 30 }, + { "prob": 35, "group": "can_corn_can_medium_2" }, + { "prob": 30, "group": "can_spam_can_medium_6" }, + { "prob": 30, "group": "can_pineapple_can_medium_2" }, { "item": "can_peach", "prob": 30 }, { "item": "can_coconut", "prob": 10 }, { "item": "can_sardine", "prob": 14 }, { "item": "can_tuna", "prob": 35 }, { "item": "can_salmon", "prob": 25 }, - { "item": "can_chowder", "prob": 35 }, - { "item": "can_herring", "prob": 30 }, + { "prob": 35, "group": "can_chowder_can_medium_2" }, + { "prob": 30, "group": "can_herring_jar_glass_sealed_2" }, { "item": "broth", "prob": 15 }, { "item": "soup_veggy", "prob": 15 }, { "item": "soup_meat", "prob": 15 }, @@ -753,37 +747,37 @@ { "item": "soup_dumplings", "prob": 15 }, { "item": "curry_veggy", "prob": 15 }, { "item": "curry_meat", "prob": 15 }, - { "item": "curry_powder", "prob": 15 }, - { "item": "chilly-p", "prob": 10 }, + { "prob": 15, "group": "curry_powder_bag_plastic_100" }, + { "prob": 10, "group": "chilly-p_bag_plastic_100" }, { "item": "spaghetti_raw", "prob": 40 }, { "item": "lasagne_raw", "prob": 40 }, { "item": "macaroni_raw", "prob": 40 }, { "item": "noodles_fast", "prob": 30 }, - { "item": "ravioli", "prob": 25 }, + { "prob": 25, "group": "ravioli_can_medium_2" }, { "item": "sauce_red", "prob": 20 }, { "item": "gelatin_dessert_powder", "prob": 20 }, { "item": "sauce_pesto", "prob": 15 }, - { "item": "bread", "charges": 14, "prob": 14 }, - { "item": "bread_garlic", "prob": 7 }, - { "item": "cornbread", "charges": 6, "prob": 7 }, - { "item": "flatbread", "charges": 6, "prob": 7 }, - { "item": "crackers", "prob": 20 }, - { "item": "grahmcrackers", "prob": 20 }, - { "item": "oyster_crackers", "prob": 15 }, - { "item": "marshmallow", "prob": 20 }, - { "item": "biscuit", "prob": 12 }, - { "item": "hardtack", "prob": 2 }, - { "item": "cheese", "prob": 40 }, - { "item": "cheese_hard", "prob": 5 }, - { "item": "can_cheese", "prob": 8 }, + { "prob": 14, "group": "bread_bag_plastic_14" }, + { "prob": 7, "group": "bread_garlic_bag_plastic_14" }, + { "prob": 7, "group": "cornbread_bag_plastic_6" }, + { "prob": 7, "group": "flatbread_bag_plastic_6" }, + { "prob": 20, "group": "crackers_box_small_8" }, + { "prob": 20, "group": "grahmcrackers_box_small_8" }, + { "prob": 15, "group": "oyster_crackers_plastic_bag_vac_8" }, + { "prob": 20, "group": "marshmallow_bag_plastic_5" }, + { "prob": 12, "group": "biscuit_box_small_10" }, + { "item": "hardtack", "prob": 2, "count": 2 }, + { "prob": 40, "group": "cheese_bag_plastic_8" }, + { "prob": 5, "group": "cheese_hard_wrapper_8" }, + { "prob": 8, "group": "can_cheese_can_food_8" }, { "item": "cottage_cheese", "prob": 8 }, { "item": "yoghurt", "prob": 8 }, { "item": "pudding", "prob": 10 }, { "item": "gelatin_dessert_processed", "prob": 10 }, - { "item": "veggy_pickled", "prob": 8, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "sauerkraut", "prob": 5, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_pickled", "prob": 4, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "fish_pickled", "prob": 6, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 8, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 5, "group": "sauerkraut_jar_glass_sealed_2" }, + { "prob": 4, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 6, "group": "fish_pickled_jar_glass_sealed_2" }, { "item": "ghee", "prob": 5 }, { "item": "lutefisk", "prob": 1 }, { "item": "tongs", "prob": 25 }, @@ -796,8 +790,8 @@ { "item": "dog_whistle", "prob": 5 }, { "item": "dogfood", "prob": 10, "container-item": "can_medium" }, { "item": "catfood", "prob": 10, "container-item": "can_food" }, - { "item": "dogfood_dry", "prob": 5, "charges": 12, "container-item": "bag_plastic" }, - { "item": "catfood_dry", "prob": 5, "charges": 12, "container-item": "bag_plastic" }, + { "prob": 5, "group": "dogfood_dry_bag_plastic_12" }, + { "prob": 5, "group": "catfood_dry_bag_plastic_12" }, { "item": "charcoal", "prob": 5, "charges": [ 25, 50 ] }, { "item": "soap", "prob": 70, "charges": [ 1, 10 ] }, { "item": "detergent", "prob": 50, "charges": [ 1, 20 ] }, @@ -807,14 +801,14 @@ { "item": "balloon", "prob": 5 }, { "item": "eclipse_glasses", "prob": 1 }, { "item": "thermos", "prob": 15 }, - { "item": "meat_canned", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_canned", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "apple_canned", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "can_tomato", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "meat_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, + { "prob": 4, "group": "meat_canned_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "veggy_canned_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "apple_canned_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "can_tomato_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "fish_pickled_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "meat_pickled_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "veggy_pickled_jar_3l_glass_sealed_12" }, + { "prob": 4, "group": "fish_pickled_jar_3l_glass_sealed_12" }, { "item": "sauce_red", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "item": "kompot", "prob": 4, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "group": "big_canned_food", "prob": 4 } @@ -847,7 +841,7 @@ { "item": "almond_milk", "prob": 50 }, { "item": "soy_milk", "prob": 50 }, { "item": "milk_choc", "prob": 25 }, - { "item": "butter", "prob": 45, "charges-min": 1, "charges-max": 32, "container-item": "wrapper" }, + { "prob": 45, "group": "butter_wrapper_1_32" }, { "item": "ghee", "prob": 5, @@ -856,7 +850,7 @@ "container-item": "jar_glass_sealed", "sealed": false }, - { "item": "egg_bird_unfert", "prob": 65, "charges-min": 1, "charges-max": 12, "container-item": "carton_egg" }, + { "prob": 65, "group": "egg_bird_unfert_carton_egg_1_12" }, { "item": "yoghurt", "prob": 50 }, { "item": "pudding", "prob": 60 }, { "item": "veggy_salad", "prob": 25 }, @@ -866,7 +860,7 @@ { "item": "apple", "prob": 70 }, { "item": "tofu", "prob": 25 }, { "item": "irradiated_apple", "prob": 35 }, - { "item": "sandwich_t", "prob": 30 }, + { "prob": 30, "group": "sandwich_t_wrapper_2" }, { "item": "sandwich_pb", "prob": 30 }, { "item": "sandwich_pbj", "prob": 30 }, { "item": "sandwich_pbh", "prob": 30 }, @@ -876,11 +870,11 @@ { "item": "irradiated_blueberries", "prob": 1 }, { "item": "strawberries", "prob": 2 }, { "item": "irradiated_strawberries", "prob": 1 }, - { "item": "lettuce", "prob": 11 }, - { "item": "irradiated_lettuce", "prob": 5 }, - { "item": "cabbage", "prob": 10 }, - { "item": "irradiated_cabbage", "prob": 5 }, - { "item": "spinach", "prob": 6 }, + { "item": "lettuce", "prob": 11, "count": 5 }, + { "prob": 5, "group": "irradiated_lettuce_bag_plastic_5" }, + { "item": "cabbage", "prob": 10, "count": 8 }, + { "prob": 5, "group": "irradiated_cabbage_bag_plastic_8" }, + { "item": "spinach", "prob": 6, "count": 9 }, { "item": "tomato", "prob": 9 }, { "item": "irradiated_tomato", "prob": 4 }, { "item": "cucumber", "prob": 10 }, @@ -894,40 +888,40 @@ { "item": "zucchini", "prob": 7 }, { "item": "irradiated_zucchini", "prob": 3 }, { "item": "onion", "prob": 3 }, - { "item": "chili_pepper", "prob": 3 }, + { "item": "chili_pepper", "prob": 3, "count": 3 }, { "item": "irradiated_onion", "prob": 1 }, - { "item": "carrot", "prob": 3 }, - { "item": "irradiated_carrot", "prob": 1 }, - { "item": "frozen_dinner", "prob": 50 }, + { "item": "carrot", "prob": 3, "count": 6 }, + { "prob": 1, "group": "irradiated_carrot_bag_plastic_6" }, + { "prob": 50, "group": "frozen_dinner_box_small_2" }, { "item": "junk_burrito", "prob": 50 }, - { "item": "chili", "prob": 10 }, + { "prob": 10, "group": "chili_can_medium_2" }, { "item": "syrup", "prob": 10 }, { "item": "coffee_syrup", "prob": 10 }, - { "item": "yeast", "prob": 10 }, - { "item": "yogurt_starter_culture", "prob": 5 }, + { "prob": 10, "group": "yeast_bag_plastic_25" }, + { "prob": 5, "group": "yogurt_starter_culture_bag_plastic_4" }, { "item": "molasses", "prob": 5 }, { "item": "vodka", "prob": 20 }, { "item": "apple_cider", "prob": 50 }, { "item": "fruit_wine", "prob": 7 }, { "item": "brandy", "prob": 5 }, - { "item": "jihelucake", "prob": 1 }, + { "item": "jihelucake", "prob": 1, "count": 12 }, { "group": "beer", "prob": 163 }, - { "item": "cake2", "prob": 1 }, - { "item": "cake3", "prob": 1 }, - { "item": "pizza_meat", "prob": 8 }, - { "item": "pizza_veggy", "prob": 8 }, - { "item": "pizza_cheese", "prob": 8 }, + { "item": "cake2", "prob": 1, "count": 12 }, + { "item": "cake3", "prob": 1, "count": 12 }, + { "prob": 8, "group": "pizza_meat_box_small_4" }, + { "prob": 8, "group": "pizza_veggy_box_small_4" }, + { "prob": 8, "group": "pizza_cheese_box_small_4" }, { "item": "cheeseburger", "prob": 8 }, { "item": "hamburger", "prob": 8 }, { "item": "fish_fried", "prob": 8 }, { "item": "fish_sandwich", "prob": 8 }, { "item": "sloppyjoe", "prob": 8 }, - { "item": "hotdogs_frozen", "prob": 8 }, - { "item": "corndogs_frozen", "prob": 8 }, - { "item": "blt", "prob": 8 }, - { "item": "cheese", "prob": 10 }, + { "prob": 8, "group": "hotdogs_frozen_bag_plastic_10" }, + { "prob": 8, "group": "corndogs_frozen_bag_plastic_2" }, + { "prob": 8, "group": "blt_wrapper_2" }, + { "prob": 10, "group": "cheese_bag_plastic_8" }, { "item": "cottage_cheese", "prob": 2 }, - { "item": "cheese_hard", "prob": 5 }, + { "prob": 5, "group": "cheese_hard_wrapper_8" }, { "item": "orange", "prob": 65 }, { "item": "irradiated_orange", "prob": 32 }, { "item": "banana", "prob": 40 }, @@ -949,8 +943,8 @@ { "item": "irradiated_pineapple", "prob": 2 }, { "item": "peach", "prob": 10 }, { "item": "irradiated_peach", "prob": 5 }, - { "item": "cranberries", "prob": 7 }, - { "item": "irradiated_cranberries", "prob": 3 }, + { "item": "cranberries", "prob": 7, "count": 3 }, + { "prob": 3, "group": "irradiated_cranberries_bag_plastic_3" }, { "item": "watermelon", "prob": 5 }, { "item": "irradiated_watermelon", "prob": 2 }, { "item": "melon", "prob": 5 }, @@ -983,15 +977,15 @@ { "item": "potato", "prob": 10 }, { "item": "plantain", "prob": 3 }, { "item": "irradiated_plantain", "prob": 1 }, - { "item": "pickle", "prob": 40, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 40, "group": "pickle_jar_glass_sealed_2" }, { "item": "vinegar", "prob": 15 }, - { "item": "veggy_pickled", "prob": 8, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "sauerkraut", "prob": 5, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "bacon", "prob": 25 }, + { "prob": 8, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 5, "group": "sauerkraut_jar_glass_sealed_2" }, + { "prob": 25, "group": "bacon_bag_plastic_2" }, { "item": "lunchmeat", "prob": 45 }, - { "item": "bologna", "prob": 45 }, - { "item": "meat_pickled", "prob": 2, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "fish_pickled", "prob": 6, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 45, "group": "bologna_bag_plastic_10" }, + { "prob": 2, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 6, "group": "fish_pickled_jar_glass_sealed_2" }, { "item": "lutefisk", "prob": 1 }, { "item": "protein_shake", "prob": 10 }, { "item": "fries", "prob": 8 }, @@ -1017,7 +1011,7 @@ { "item": "loom_frame", "prob": 1 }, { "item": "shed_stick", "prob": 1 }, { "item": "inhaler", "prob": 14, "charges-min": 10, "charges-max": 100 }, - { "item": "eyedrops", "prob": 25 }, + { "item": "eyedrops", "prob": 25, "count": 10 }, { "item": "television", "prob": 10 }, { "item": "travelpack", "prob": 4 }, { "item": "backpack_tactical_large", "prob": 1 }, @@ -1027,17 +1021,17 @@ { "item": "basket_laundry", "prob": 30 }, { "group": "tobacco_products", "prob": 146 }, { "group": "cigar_box_opened", "prob": 20 }, - { "item": "weed", "prob": 15, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 15, "count": [ 1, 5 ] }, { "item": "joint", "prob": 5 }, { "item": "razor_blade", "prob": 5 }, - { "item": "weed", "prob": 20, "charges": [ 1, 5 ] }, - { "item": "seed_weed", "prob": 15 }, + { "item": "weed", "prob": 20, "count": [ 1, 5 ] }, + { "item": "seed_weed", "prob": 15, "count": 2 }, { "item": "seed_tobacco", "prob": 5 }, { "item": "rolling_paper", "prob": 5, "charges": [ 1, 30 ] }, { "item": "pipe_glass", "prob": 5 }, - { "item": "coke", "prob": 8, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "coke_bag_zipper_1_8" }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, { "item": "sneakers", "prob": 80 }, { "item": "mask_hockey", "prob": 5 }, { "item": "hockey_stick", "prob": 10 }, @@ -1063,7 +1057,7 @@ { "item": "motorbike_boots", "prob": 5 }, { "item": "bandana", "prob": 35 }, { "item": "glasses_eye", "prob": 90 }, - { "item": "contacts", "prob": 15 }, + { "item": "contacts", "prob": 15, "count": 6 }, { "item": "sunglasses", "prob": 90 }, { "item": "fitover_sunglasses", "prob": 60 }, { "item": "fancy_sunglasses", "prob": 5 }, @@ -1139,8 +1133,8 @@ { "item": "usb_drive", "prob": 5 }, { "item": "firecracker_pack", "prob": 5 }, { "item": "firecracker", "prob": 5 }, - { "item": "fried_seeds", "prob": 30 }, - { "item": "chips", "prob": 65 }, + { "prob": 30, "group": "fried_seeds_bag_plastic_4" }, + { "prob": 65, "group": "chips_bag_plastic_3" }, { "group": "softdrinks_canned", "prob": 380 }, { "item": "picklocks", "prob": 10 }, { "item": "wolfsuit", "prob": 4 }, @@ -1163,10 +1157,10 @@ { "item": "silver_watch", "prob": 7 }, { "item": "sf_watch", "prob": 2 }, { "item": "pocketwatch", "prob": 5 }, - { "item": "lsd", "prob": 1, "charges": [ 1, 5 ] }, - { "item": "gum", "prob": 30, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 4, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 2, "charges": [ 1, 10 ] }, + { "item": "lsd", "prob": 1, "count": [ 1, 5 ] }, + { "item": "gum", "prob": 30, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 4, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 2, "count": [ 1, 10 ] }, { "item": "clown_suit", "prob": 1 }, { "item": "clownshoes", "prob": 1 }, { "item": "bondage_suit", "prob": 5 }, @@ -1273,8 +1267,8 @@ { "item": "oxy_powder", "prob": 5 }, { "item": "boots_rubber", "prob": 20 }, { "item": "charcoal", "prob": 5 }, - { "item": "fungicide", "prob": 2 }, - { "item": "insecticide", "prob": 2 }, + { "prob": 2, "group": "fungicide_bag_plastic_400" }, + { "prob": 2, "group": "insecticide_bag_plastic_400" }, { "item": "soap", "prob": 80 }, { "item": "detergent", "prob": 80 }, { "item": "chem_hydrogen_peroxide", "prob": 20 }, @@ -1434,5 +1428,661 @@ "type": "item_group", "subtype": "distribution", "items": [ { "item": "splinter", "prob": 10 }, { "item": "nail", "prob": 10, "charges-min": 1, "charges-max": 3 } ] + }, + { + "type": "item_group", + "id": "iodine_bottle_plastic_pill_supplement_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "iodine", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "prussian_blue_bottle_plastic_pill_supplement_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "prussian_blue", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "yeast_bag_plastic_25", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "yeast", "container-item": "null", "count": 25 } ] + }, + { + "type": "item_group", + "id": "yogurt_starter_culture_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "yogurt_starter_culture", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "vitamins_bottle_plastic_pill_supplement_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "vitamins", "container-item": "null", "count": [ 1, 20 ] } ] + }, + { + "type": "item_group", + "id": "cig_box_cigarette_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_cigarette", + "entries": [ { "item": "cig", "container-item": "null", "count": [ 1, 20 ] } ] + }, + { + "type": "item_group", + "id": "melatonin_tablet_bottle_plastic_pill_supplement_1_30", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "melatonin_tablet", "container-item": "null", "count": [ 1, 30 ] } ] + }, + { + "type": "item_group", + "id": "coke_bag_zipper_1_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "coke", "container-item": "null", "count": [ 1, 8 ] } ] + }, + { + "type": "item_group", + "id": "meth_bag_zipper_1_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "meth", "container-item": "null", "count": [ 1, 6 ] } ] + }, + { + "type": "item_group", + "id": "licorice_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "licorice", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "dogfood_dry_bag_plastic_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dogfood_dry", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "catfood_dry_bag_plastic_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "catfood_dry", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "cereal_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "cereal2_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal2", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "cereal3_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal3", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "bacon_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "bacon", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "milk_powder_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "milk_powder", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "powder_eggs_bottle_plastic_small_16", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "powder_eggs", "container-item": "null", "count": 16 } ] + }, + { + "type": "item_group", + "id": "fchicken_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "fchicken", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "bologna_bag_plastic_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "bologna", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "toastem_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "toastem", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "toastem2_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "toastem2", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "toastem3_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "toastem3", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "toasterpastryfrozen_box_snack_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_snack", + "entries": [ { "item": "toasterpastryfrozen", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "brownie_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "brownie", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "lemonade_powder_bottle_plastic_small_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "lemonade_powder", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "pizza_veggy_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_veggy", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "pizza_meat_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_meat", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "pizza_cheese_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pizza_cheese", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "hotdogs_frozen_bag_plastic_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "hotdogs_frozen", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "corndogs_frozen_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "corndogs_frozen", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "can_beans_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "can_beans", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "pork_beans_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "pork_beans", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "can_chicken_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "can_chicken", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "can_corn_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "can_corn", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "can_spam_can_medium_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "can_spam", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "can_pineapple_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "can_pineapple", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "can_chowder_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "can_chowder", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "can_herring_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "can_herring", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "curry_powder_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "curry_powder", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "chilly-p_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "chilly-p", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "ravioli_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "ravioli", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "bread_bag_plastic_14", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "bread", "container-item": "null", "count": 14 } ] + }, + { + "type": "item_group", + "id": "bread_garlic_bag_plastic_14", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "bread_garlic", "container-item": "null", "count": 14 } ] + }, + { + "type": "item_group", + "id": "cornbread_bag_plastic_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cornbread", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "flatbread_bag_plastic_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "flatbread", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "crackers_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "crackers", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "grahmcrackers_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "grahmcrackers", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "oyster_crackers_plastic_bag_vac_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "plastic_bag_vac", + "entries": [ { "item": "oyster_crackers", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "marshmallow_bag_plastic_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "marshmallow", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "biscuit_box_small_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "biscuit", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "cheese_bag_plastic_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cheese", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "can_cheese_can_food_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food", + "entries": [ { "item": "can_cheese", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "veggy_pickled_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "veggy_pickled", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "sauerkraut_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "sauerkraut", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "meat_pickled_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "meat_pickled", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "fish_pickled_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "fish_pickled", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "dogfood_dry_bag_plastic_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dogfood_dry", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "catfood_dry_bag_plastic_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "catfood_dry", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "meat_canned_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "meat_canned", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "veggy_canned_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "veggy_canned", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "apple_canned_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "apple_canned", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "can_tomato_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "can_tomato", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "fish_pickled_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "fish_pickled", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "meat_pickled_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "meat_pickled", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "veggy_pickled_jar_3l_glass_sealed_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "veggy_pickled", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "butter_wrapper_1_32", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "butter", "container-item": "null", "count-min": 1, "count-max": 32 } ] + }, + { + "type": "item_group", + "id": "egg_bird_unfert_carton_egg_1_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "carton_egg", + "entries": [ { "item": "egg_bird_unfert", "count-min": 1, "count-max": 12 } ] + }, + { + "type": "item_group", + "id": "sandwich_t_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "sandwich_t", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "irradiated_lettuce_bag_plastic_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "irradiated_lettuce", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "irradiated_cabbage_bag_plastic_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "irradiated_cabbage", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "irradiated_carrot_bag_plastic_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "irradiated_carrot", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "frozen_dinner_box_small_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "frozen_dinner", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "chili_can_medium_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_medium", + "entries": [ { "item": "chili", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "blt_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "blt", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "irradiated_cranberries_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "irradiated_cranberries", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "pickle_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "pickle", "count": 2 } ] + }, + { + "type": "item_group", + "id": "heroin_bag_zipper_1_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "heroin", "container-item": "null", "count": [ 1, 4 ] } ] + }, + { + "type": "item_group", + "id": "fried_seeds_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "fried_seeds", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "chips_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "chips", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "fungicide_bag_plastic_400", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "fungicide", "container-item": "null", "count": 400 } ] + }, + { + "type": "item_group", + "id": "insecticide_bag_plastic_400", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "insecticide", "container-item": "null", "count": 400 } ] } ] diff --git a/data/json/itemgroups/corpses.json b/data/json/itemgroups/corpses.json index 06734553b5df4..9fa6cfa061959 100644 --- a/data/json/itemgroups/corpses.json +++ b/data/json/itemgroups/corpses.json @@ -20,7 +20,7 @@ { "group": "clothing_military_pilot", "prob": 65, "damage-min": 1, "damage-max": 4 }, { "group": "gear_soldier_sidearm", "prob": 30, "damage-min": 1, "damage-max": 4 }, { "item": "two_way_radio", "prob": 50, "charges": [ 0, 100 ], "damage-min": 1, "damage-max": 4 }, - { "item": "adderall", "prob": 40 }, + { "prob": 40, "group": "adderall_bottle_plastic_pill_prescription_10" }, { "group": "wallets_military", "prob": 5 }, { "item": "militarymap", "prob": 5 }, { "group": "mil_food", "prob": 15 }, @@ -289,5 +289,13 @@ "subtype": "distribution", "container-item": "corpse_oldwoman_jewelry", "entries": [ { "group": "default_zombie_death_drops" } ] + }, + { + "type": "item_group", + "id": "adderall_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "adderall", "container-item": "null", "count": 10 } ] } ] diff --git a/data/json/itemgroups/defense_mode.json b/data/json/itemgroups/defense_mode.json index 3af8878b6a20d..daf778929e40d 100644 --- a/data/json/itemgroups/defense_mode.json +++ b/data/json/itemgroups/defense_mode.json @@ -98,15 +98,15 @@ { "item": "water" }, { "item": "energy_drink" }, { "item": "whiskey" }, - { "item": "can_beans" }, + { "group": "can_beans_can_medium_2" }, { "group": "MRE" }, - { "item": "flour" }, + { "group": "flour_bag_paper_powder_10" }, { "item": "inhaler" }, - { "item": "codeine" }, - { "item": "oxycodone" }, - { "item": "adderall" }, - { "item": "cig" }, - { "item": "meth" }, + { "group": "codeine_bottle_plastic_pill_painkiller_10" }, + { "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "group": "adderall_bottle_plastic_pill_prescription_10" }, + { "group": "cig_box_cigarette_20" }, + { "group": "meth_bag_zipper_6" }, { "item": "royal_jelly" }, { "item": "mutagen" }, { "item": "purifier" } @@ -162,5 +162,45 @@ { "item": "UPS_OFF" }, { "item": "mininuke" } ] + }, + { + "type": "item_group", + "id": "flour_bag_paper_powder_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_paper_powder", + "entries": [ { "item": "flour", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "codeine_bottle_plastic_pill_painkiller_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "codeine", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "oxycodone_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "oxycodone", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "cig_box_cigarette_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_cigarette", + "entries": [ { "item": "cig", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "meth_bag_zipper_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "meth", "container-item": "null", "count": 6 } ] } ] diff --git a/data/json/itemgroups/faction_camps.json b/data/json/itemgroups/faction_camps.json index 369f04a966014..dbe5f82feeb67 100644 --- a/data/json/itemgroups/faction_camps.json +++ b/data/json/itemgroups/faction_camps.json @@ -51,12 +51,12 @@ { "item": "walnut", "count": [ 2, 6 ], "prob": 20 }, { "item": "butternut", "count": [ 2, 4 ], "prob": 20 }, { "item": "chestnut", "count": [ 2, 6 ], "prob": 20 }, - { "item": "beech_nuts", "count": [ 2, 6 ], "prob": 20 }, + { "item": "beech_nuts", "count": [ 8, 24 ], "prob": 20 }, { "item": "hazelnut", "count": [ 2, 6 ], "prob": 20 }, - { "item": "acorns", "count": [ 2, 6 ], "prob": 20 }, + { "item": "acorns", "count": [ 8, 24 ], "prob": 20 }, { "item": "apple", "count": [ 1, 3 ], "prob": 20 }, { "item": "pear", "count": [ 1, 3 ], "prob": 20 }, - { "item": "coffee_pod", "count": [ 2, 5 ], "prob": 15 }, + { "item": "coffee_pod", "count": [ 8, 20 ], "prob": 15 }, { "item": "hickory_nut", "count": [ 3, 6 ], "prob": 20 }, { "item": "pistachio", "count": [ 3, 6 ], "prob": 20 }, { "item": "almond", "count": [ 3, 6 ], "prob": 20 }, diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json index d7e73ede9b0d1..d172f4f17d3d1 100644 --- a/data/json/itemgroups/food_service.json +++ b/data/json/itemgroups/food_service.json @@ -4,12 +4,12 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "cookies", "prob": 17 }, - { "item": "cake2", "prob": 15 }, - { "item": "cake3", "prob": 10 }, - { "item": "biscuit", "prob": 10 }, - { "item": "jihelucake", "prob": 10 }, - { "item": "brownie", "prob": 20 } + { "prob": 17, "group": "cookies_box_snack_4" }, + { "item": "cake2", "prob": 15, "count": 12 }, + { "item": "cake3", "prob": 10, "count": 12 }, + { "prob": 10, "group": "biscuit_box_small_10" }, + { "item": "jihelucake", "prob": 10, "count": 12 }, + { "prob": 20, "group": "brownie_box_small_4" } ] }, { @@ -86,8 +86,8 @@ "subtype": "distribution", "entries": [ { "item": "tea", "prob": 70 }, - { "item": "tea_raw", "prob": 70 }, - { "item": "tea_green_raw", "prob": 35 }, + { "prob": 70, "group": "tea_raw_bag_plastic_33" }, + { "prob": 35, "group": "tea_green_raw_bag_plastic_33" }, { "item": "ceramic_cup", "prob": 70 }, { "item": "teapot", "prob": 70 }, { "item": "clay_teapot", "prob": 70 }, @@ -135,42 +135,18 @@ "subtype": "distribution", "items": [ { "item": "honey_bottled", "prob": 20 }, - { "item": "honey_glassed", "prob": 20 }, + { "prob": 20, "group": "honey_glassed_jar_glass_sealed_5" }, { "item": "con_milk", "prob": 10 }, - { "item": "bee_balm", "prob": 20, "charges-min": 1, "charges-max": 12, "container-item": "jar_3l_glass_sealed" }, + { "prob": 20, "group": "bee_balm_jar_3l_glass_sealed_1_12" }, { "item": "jar_3l_glass_sealed", "prob": 40, "contents-group": "teashop_bulk_teas_no_stackable" }, - { - "item": "raw_burdock", - "prob": 10, - "charges-min": 1, - "charges-max": 48, - "container-item": "jar_3l_glass_sealed" - }, - { "item": "tea_raw", "prob": 60, "charges-min": 10, "charges-max": 40, "container-item": "jar_glass_sealed" }, - { - "item": "tea_green_raw", - "prob": 30, - "charges-min": 10, - "charges-max": 40, - "container-item": "jar_glass_sealed" - }, - { - "item": "wild_herbs", - "prob": 50, - "charges-min": 20, - "charges-max": 200, - "container-item": "jar_glass_sealed" - }, - { - "item": "raw_dandelion", - "prob": 10, - "charges-min": 1, - "charges-max": 8, - "container-item": "jar_glass_sealed" - }, - { "item": "milk_powder", "prob": 30, "charges-min": 1, "charges-max": 8, "container-item": "jar_glass_sealed" }, - { "item": "cinnamon", "prob": 20, "charges-min": 1, "charges-max": 200, "container-item": "jar_glass_sealed" }, - { "item": "sugar", "prob": 40, "charges-min": 10, "charges-max": 142, "container-item": "jar_glass_sealed" } + { "prob": 10, "group": "raw_burdock_jar_3l_glass_sealed_1_48" }, + { "prob": 60, "group": "tea_raw_jar_glass_sealed_10_40" }, + { "prob": 30, "group": "tea_green_raw_jar_glass_sealed_10_40" }, + { "prob": 50, "group": "wild_herbs_jar_glass_sealed_20_200" }, + { "prob": 10, "group": "raw_dandelion_jar_glass_sealed_1_8" }, + { "prob": 30, "group": "milk_powder_jar_glass_sealed_1_8" }, + { "prob": 20, "group": "cinnamon_jar_glass_sealed_1_200" }, + { "prob": 40, "group": "sugar_jar_glass_sealed_10_142" } ] }, { @@ -221,19 +197,19 @@ { "group": "mustard_sealed_rng", "prob": 3 }, { "group": "barbecue_sauce_sealed_rng", "prob": 2 }, { "group": "honey_mustard_sealed_rng", "prob": 1 }, - { "item": "pickle", "prob": 5, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 5, "group": "pickle_jar_glass_sealed_2" }, { "item": "pickle", "prob": 5 }, { "item": "cheeseburger", "prob": 10 }, - { "item": "fried_mozzarella_sticks", "prob": 5 }, + { "prob": 5, "group": "fried_mozzarella_sticks_bag_plastic_4" }, { "item": "hamburger", "prob": 8 }, { "item": "sloppyjoe", "prob": 6 }, { "item": "fries", "prob": 10 }, { "item": "cheese_fries", "prob": 7 }, { "item": "onion_rings", "prob": 8 }, - { "item": "hotdogs_cooked", "charges-min": 1, "prob": 6 }, - { "item": "hotdogs_newyork", "charges-min": 1, "prob": 5 }, - { "item": "crab_cakes", "charges-min": 1, "prob": 8 }, - { "item": "stuffed_clams", "charges-min": 1, "prob": 8 } + { "prob": 6, "group": "hotdogs_cooked_wrapper_1_inf" }, + { "prob": 5, "group": "hotdogs_newyork_wrapper_1_inf" }, + { "prob": 8, "group": "crab_cakes_box_small_1_inf" }, + { "prob": 8, "group": "stuffed_clams_box_small_1_inf" } ] }, { @@ -254,8 +230,8 @@ { "item": "fries", "prob": 7 }, { "item": "cheese_fries", "prob": 5 }, { "item": "onion_rings", "prob": 7 }, - { "item": "pizza_veggy", "prob": 7 }, - { "item": "pizza_meat", "prob": 7 } + { "prob": 7, "group": "pizza_veggy_box_small_4" }, + { "prob": 7, "group": "pizza_meat_box_small_4" } ] }, { @@ -263,7 +239,7 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "cig", "prob": 50, "charges": [ 1, 20 ] }, + { "prob": 50, "group": "cig_box_cigarette_1_20" }, { "item": "matches", "prob": 45, "charges": [ 1, 20 ] }, { "item": "ref_matches", "prob": 45, "charges": [ 1, 32 ] }, { "item": "rolling_paper", "prob": 10, "charges": [ 1, 30 ] }, @@ -283,13 +259,13 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "weed", "prob": 40, "charges": [ 1, 5 ] }, - { "item": "coke", "prob": 40, "charges": [ 1, 8 ] }, - { "item": "aspirin", "prob": 40, "charges": [ 1, 20 ] }, - { "item": "cig", "prob": 20, "charges": [ 1, 20 ] }, + { "item": "weed", "prob": 40, "count": [ 1, 5 ] }, + { "prob": 40, "group": "coke_bag_zipper_1_8" }, + { "prob": 40, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, + { "prob": 20, "group": "cig_box_cigarette_1_20" }, { "item": "syringe", "prob": 30 }, - { "item": "meth", "prob": 20, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 7, "charges": [ 1, 4 ] }, + { "prob": 20, "group": "meth_bag_zipper_1_6" }, + { "prob": 7, "group": "heroin_bag_zipper_1_4" }, { "item": "mag_porn", "prob": 35 }, { "item": "hairpin", "prob": 5 }, { "item": "purse", "prob": 15 } @@ -329,8 +305,8 @@ [ "yeast", 10 ], [ "sugar", 9 ], [ "cornmeal", 8 ], - { "item": "flour", "charges": [ 1, 70 ], "prob": 5 }, - { "item": "flour", "charges": [ 1, 175 ], "prob": 20, "container-item": "bag_plastic" }, + { "prob": 5, "group": "flour_bag_paper_powder_1_70" }, + { "prob": 20, "group": "flour_bag_plastic_1_175" }, [ "cookbook", 3 ], [ "cookbook_italian", 2 ] ] @@ -370,7 +346,7 @@ "id": "pizza_table", "type": "item_group", "items": [ - { "item": "cig", "prob": 15, "charges": [ 1, 20 ] }, + { "prob": 15, "group": "cig_box_cigarette_1_20" }, { "item": "rolling_paper", "prob": 7, "charges": [ 1, 30 ] }, [ "wrapper", 35 ], [ "wrapper_foil", 2 ], @@ -404,10 +380,10 @@ "id": "pizza_bathroom", "type": "item_group", "items": [ - { "item": "weed", "prob": 40, "charges": [ 1, 5 ] }, - { "item": "coke", "prob": 20, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 1, "charges": [ 1, 6 ] }, - { "item": "aspirin", "prob": 15, "charges": [ 1, 20 ] }, + { "item": "weed", "prob": 40, "count": [ 1, 5 ] }, + { "prob": 20, "group": "coke_bag_zipper_1_8" }, + { "prob": 1, "group": "meth_bag_zipper_1_6" }, + { "prob": 15, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, [ "mag_porn", 30 ], [ "purse", 10 ], [ "hairpin", 3 ] @@ -441,18 +417,18 @@ { "item": "bottle_glass", "prob": 5 }, { "item": "ceramic_cup", "prob": 15 }, { "item": "ceramic_plate", "prob": 15 }, - { "item": "chips", "prob": 25 }, - { "item": "chips2", "prob": 25 }, - { "item": "chips3", "prob": 25 }, - { "item": "choco_coffee_beans", "prob": 50 }, - { "item": "coffee_raw", "prob": 50 }, + { "prob": 25, "group": "chips_bag_plastic_3" }, + { "prob": 25, "group": "chips2_bag_plastic_3" }, + { "prob": 25, "group": "chips3_bag_plastic_3" }, + { "prob": 50, "group": "choco_coffee_beans_bag_plastic_5" }, + { "prob": 50, "group": "coffee_raw_bag_plastic_20" }, { "item": "coffee_syrup", "prob": 15 }, - { "item": "licorice", "prob": 10 }, - { "item": "cookies", "prob": 35 }, - { "item": "tea_raw", "prob": 50 }, - { "item": "tea_green_raw", "prob": 25 }, + { "prob": 10, "group": "licorice_bag_plastic_4" }, + { "prob": 35, "group": "cookies_box_snack_4" }, + { "prob": 50, "group": "tea_raw_bag_plastic_33" }, + { "prob": 25, "group": "tea_green_raw_bag_plastic_33" }, { "group": "teabag_box", "prob": 30 }, - { "item": "toast", "prob": 10 } + { "prob": 10, "group": "toast_bag_plastic_2" } ] }, { @@ -463,14 +439,14 @@ { "item": "bag_plastic", "prob": 25 }, { "item": "box_small", "prob": 30 }, { "item": "honey_bottled", "prob": 10 }, - { "item": "honey_glassed", "prob": 10 }, + { "prob": 10, "group": "honey_glassed_jar_glass_sealed_5" }, { "item": "milk", "prob": 10 }, - { "item": "milk_powder", "prob": 65 }, - { "item": "salt", "prob": 15 }, - { "item": "sugar", "prob": 70 }, - { "item": "artificial_sweetener", "prob": 15 }, - { "item": "tea_raw", "prob": 15 }, - { "item": "tea_green_raw", "prob": 10 }, + { "prob": 65, "group": "milk_powder_bag_plastic_4" }, + { "prob": 15, "group": "salt_bag_plastic_100" }, + { "prob": 70, "group": "sugar_box_small_71" }, + { "prob": 15, "group": "artificial_sweetener_box_small_71" }, + { "prob": 15, "group": "tea_raw_bag_plastic_33" }, + { "prob": 10, "group": "tea_green_raw_bag_plastic_33" }, { "item": "wrapper", "prob": 75 }, { "item": "wrapper_foil", "prob": 5 }, { "group": "teabag_box", "prob": 10 } @@ -484,13 +460,13 @@ { "item": "atomic_coffee", "prob": 3 }, { "item": "bottle_glass", "prob": 5 }, { "item": "ceramic_cup", "prob": 30 }, - { "item": "choco_coffee_beans", "prob": 40 }, - { "item": "licorice", "prob": 10 }, + { "prob": 40, "group": "choco_coffee_beans_bag_plastic_5" }, + { "prob": 10, "group": "licorice_bag_plastic_4" }, { "item": "coffee", "prob": 55 }, - { "item": "cookies", "prob": 5 }, + { "prob": 5, "group": "cookies_box_snack_4" }, { "item": "cup_plastic", "prob": 70 }, { "item": "tea", "prob": 15 }, - { "item": "toast", "prob": 10 } + { "prob": 10, "group": "toast_bag_plastic_2" } ] }, { @@ -510,7 +486,7 @@ "entries": [ { "item": "atomic_coffeepot", "prob": 1 }, { "item": "bottle_glass", "prob": 15 }, - { "item": "coffee_raw", "prob": 25 }, + { "prob": 25, "group": "coffee_raw_bag_plastic_20" }, { "item": "coffee_syrup", "prob": 25 }, { "item": "cup_plastic", "prob": 35 }, { "item": "jug_plastic", "prob": 15 } @@ -521,14 +497,14 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "blt", "prob": 40 }, + { "prob": 40, "group": "blt_wrapper_2" }, { "item": "insta_salad", "prob": 60 }, { "item": "pudding", "prob": 40 }, { "item": "sandwich_pb", "prob": 35 }, { "item": "sandwich_pbh", "prob": 35 }, { "item": "sandwich_pbj", "prob": 40 }, { "item": "sandwich_pbm", "prob": 10 }, - { "item": "sandwich_t", "prob": 45 }, + { "prob": 45, "group": "sandwich_t_wrapper_2" }, { "item": "yoghurt", "prob": 40 } ] }, @@ -585,9 +561,9 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "weed", "prob": 10, "charges": [ 1, 5 ] }, - { "item": "coke", "prob": 10, "charges": [ 1, 8 ] }, - { "item": "aspirin", "prob": 45, "charges": [ 1, 20 ] }, + { "item": "weed", "prob": 10, "count": [ 1, 5 ] }, + { "prob": 10, "group": "coke_bag_zipper_1_8" }, + { "prob": 45, "group": "aspirin_bottle_plastic_pill_painkiller_1_20" }, { "item": "mag_news", "prob": 30 }, { "item": "purse", "prob": 10 }, { "item": "hairpin", "prob": 25 } @@ -607,14 +583,14 @@ { "item": "cheese_fries", "prob": 15 }, { "item": "onion_rings", "prob": 20 }, { "item": "cheeseburger", "prob": 15 }, - { "item": "fried_mozzarella_sticks", "prob": 15 }, + { "prob": 15, "group": "fried_mozzarella_sticks_bag_plastic_4" }, { "item": "hamburger", "prob": 15 }, { "item": "fish_sandwich", "prob": 10 }, { "group": "softdrinks_canned", "prob": 75 }, - { "item": "hotdogs_cooked", "charges-min": 1, "prob": 25 }, - { "item": "hotdogs_newyork", "charges-min": 1, "prob": 15 }, - { "item": "crab_cakes", "charges-min": 1, "prob": 20 }, - { "item": "stuffed_clams", "charges-min": 1, "prob": 15 } + { "prob": 25, "group": "hotdogs_cooked_wrapper_1_inf" }, + { "prob": 15, "group": "hotdogs_newyork_wrapper_1_inf" }, + { "prob": 20, "group": "crab_cakes_box_small_1_inf" }, + { "prob": 15, "group": "stuffed_clams_box_small_1_inf" } ] }, { @@ -623,19 +599,19 @@ "subtype": "distribution", "entries": [ { "item": "knife_butcher", "prob": 30 }, - { "item": "bread", "charges": 14, "prob": 50 }, - { "item": "seasoning_salt", "prob": 50 }, - { "item": "seasoning_italian", "prob": 50 }, - { "item": "can_chicken", "prob": 30 }, - { "item": "sugar", "prob": 40 }, - { "item": "artificial_sweetener", "prob": 10 }, + { "prob": 50, "group": "bread_bag_plastic_14" }, + { "prob": 50, "group": "seasoning_salt_bag_plastic_100" }, + { "prob": 50, "group": "seasoning_italian_bag_plastic_100" }, + { "prob": 30, "group": "can_chicken_can_medium_2" }, + { "prob": 40, "group": "sugar_box_small_71" }, + { "prob": 10, "group": "artificial_sweetener_box_small_71" }, { "item": "soysauce", "prob": 10 }, { "item": "hot_sauce", "prob": 10 }, - { "item": "flour", "charges": [ 1, 70 ], "prob": 8 }, - { "item": "flour", "charges": [ 1, 175 ], "prob": 32, "container-item": "bag_plastic" }, - { "item": "curry_powder", "prob": 40 }, - { "item": "cornmeal", "prob": 52 }, - { "item": "oyster_crackers", "charges-min": 1, "prob": 35 } + { "prob": 8, "group": "flour_bag_paper_powder_1_70" }, + { "prob": 32, "group": "flour_bag_plastic_1_175" }, + { "prob": 40, "group": "curry_powder_bag_plastic_100" }, + { "prob": 52, "group": "cornmeal_box_small_10" }, + { "prob": 35, "group": "oyster_crackers_plastic_bag_vac_1_inf" } ] }, { @@ -659,18 +635,18 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "hotdogs_frozen", "prob": 30 }, - { "item": "cheese", "prob": 60 }, + { "prob": 30, "group": "hotdogs_frozen_bag_plastic_10" }, + { "prob": 60, "group": "cheese_bag_plastic_8" }, { "item": "fries", "prob": 40 }, - { "item": "can_chicken", "prob": 40 }, - { "item": "can_spam", "prob": 40 }, - { "item": "lettuce", "prob": 50 }, - { "item": "irradiated_lettuce", "prob": 10 }, + { "prob": 40, "group": "can_chicken_can_medium_2" }, + { "prob": 40, "group": "can_spam_can_medium_6" }, + { "item": "lettuce", "prob": 50, "count": 5 }, + { "prob": 10, "group": "irradiated_lettuce_bag_plastic_5" }, { "item": "tomato", "prob": 50 }, { "item": "irradiated_tomato", "prob": 10 }, { "item": "onion", "prob": 50 }, { "item": "irradiated_onion", "prob": 10 }, - { "item": "chili_pepper", "prob": 50 } + { "item": "chili_pepper", "prob": 50, "count": 3 } ] }, { @@ -701,23 +677,23 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "bread", "charges": 14, "prob": 65 }, - { "item": "bread_garlic", "prob": 20 }, - { "item": "brown_bread", "charges": 10, "prob": 50, "container-item": "bag_plastic" }, - { "item": "cake2", "prob": 10 }, - { "item": "cake3", "prob": 10 }, - { "item": "cornbread", "charges": 6, "prob": 35 }, - { "item": "brioche", "prob": 50 }, - { "item": "hardtack", "prob": 30 }, - { "item": "jihelucake", "prob": 10 }, - { "item": "biscuit", "prob": 50 }, - { "item": "crackers", "prob": 40 }, + { "prob": 65, "group": "bread_bag_plastic_14" }, + { "prob": 20, "group": "bread_garlic_bag_plastic_14" }, + { "prob": 50, "group": "brown_bread_bag_plastic_10" }, + { "item": "cake2", "prob": 10, "count": 12 }, + { "item": "cake3", "prob": 10, "count": 12 }, + { "prob": 35, "group": "cornbread_bag_plastic_6" }, + { "prob": 50, "group": "brioche_box_small_6" }, + { "item": "hardtack", "prob": 30, "count": 2 }, + { "item": "jihelucake", "prob": 10, "count": 12 }, + { "prob": 50, "group": "biscuit_box_small_10" }, + { "prob": 40, "group": "crackers_box_small_8" }, { "item": "soybean_seed", "prob": 40 }, - { "item": "almond_shelled", "prob": 20 }, - { "item": "pecan_shelled", "prob": 20 }, - { "item": "cashews", "prob": 20 }, - { "item": "pistachio_shelled", "prob": 20 }, - { "item": "peanut_shelled", "prob": 20 } + { "prob": 20, "group": "almond_shelled_bag_plastic_4" }, + { "prob": 20, "group": "pecan_shelled_bag_plastic_4" }, + { "prob": 20, "group": "cashews_bag_plastic_4" }, + { "prob": 20, "group": "pistachio_shelled_bag_plastic_4" }, + { "prob": 20, "group": "peanut_shelled_bag_plastic_4" } ] }, { @@ -725,13 +701,13 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "blt", "prob": 50 }, + { "prob": 50, "group": "blt_wrapper_2" }, { "item": "sandwich_pbj", "prob": 50 }, { "item": "sandwich_pbh", "prob": 20 }, { "item": "sandwich_pbm", "prob": 10 }, { "item": "sandwich_pb", "prob": 35 }, { "item": "fish_sandwich", "prob": 20 }, - { "item": "sandwich_t", "prob": 50 }, + { "prob": 50, "group": "sandwich_t_wrapper_2" }, { "item": "junk_burrito", "prob": 30 }, { "item": "taco", "prob": 40 }, { "item": "insta_salad", "prob": 60 }, @@ -744,20 +720,20 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "oatmeal", "prob": 50 }, - { "item": "cereal", "prob": 25 }, - { "item": "cereal2", "prob": 55 }, - { "item": "cereal3", "prob": 55 }, - { "item": "cereal_fp1", "prob": 50 }, - { "item": "cereal_fp2", "prob": 50 }, - { "item": "cereal_fp3", "prob": 50 }, - { "item": "cereal_fp4", "prob": 25 }, - { "item": "cereal_fp5", "prob": 25 }, - { "item": "cereal_fp6", "prob": 25 }, - { "item": "cereal_fp7", "prob": 25 }, - { "item": "toastem", "prob": 40 }, - { "item": "toastem2", "prob": 32 }, - { "item": "toastem3", "prob": 25 } + { "prob": 50, "group": "oatmeal_box_small_4" }, + { "prob": 25, "group": "cereal_box_small_4" }, + { "prob": 55, "group": "cereal2_box_small_4" }, + { "prob": 55, "group": "cereal3_box_small_4" }, + { "prob": 50, "group": "cereal_fp1_box_small_6" }, + { "prob": 50, "group": "cereal_fp2_box_small_6" }, + { "prob": 50, "group": "cereal_fp3_box_small_6" }, + { "prob": 25, "group": "cereal_fp4_box_small_6" }, + { "prob": 25, "group": "cereal_fp5_box_small_6" }, + { "prob": 25, "group": "cereal_fp6_box_small_6" }, + { "prob": 25, "group": "cereal_fp7_box_small_6" }, + { "prob": 40, "group": "toastem_box_small_8" }, + { "prob": 32, "group": "toastem2_box_small_8" }, + { "prob": 25, "group": "toastem3_box_small_8" } ] }, { @@ -776,26 +752,26 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "flour", "charges": 70, "prob": 40 }, - { "item": "flour", "charges": 175, "prob": 25, "container-item": "bag_plastic" }, - { "item": "bread_flour", "prob": 35 }, - { "item": "cornmeal", "prob": 50 }, - { "item": "yeast", "prob": 40 }, - { "item": "yogurt_starter_culture", "prob": 10 }, - { "item": "koji", "prob": 2 }, - { "item": "powder_eggs", "prob": 55 }, + { "prob": 40, "group": "flour_bag_paper_powder_70" }, + { "prob": 25, "group": "flour_bag_plastic_175" }, + { "prob": 35, "group": "bread_flour_bag_paper_powder_20" }, + { "prob": 50, "group": "cornmeal_box_small_10" }, + { "prob": 40, "group": "yeast_bag_plastic_25" }, + { "prob": 10, "group": "yogurt_starter_culture_bag_plastic_4" }, + { "prob": 2, "group": "koji_bag_plastic_25" }, + { "prob": 55, "group": "powder_eggs_bottle_plastic_small_16" }, { "item": "milk_UHT", "prob": 15 }, { "item": "milk_evap", "prob": 25 }, { "item": "con_milk", "prob": 25 }, - { "item": "milk_powder", "prob": 45 }, - { "item": "salt", "prob": 50 }, + { "prob": 45, "group": "milk_powder_bag_plastic_4" }, + { "prob": 50, "group": "salt_bag_plastic_100" }, { "item": "soysauce", "prob": 25 }, { "item": "hot_sauce", "prob": 25 }, - { "item": "sugar", "prob": 60 }, - { "item": "artificial_sweetener", "prob": 15 }, - { "item": "dry_rice", "prob": 65 }, - { "item": "dry_wild_rice", "prob": 5 }, - { "item": "chem_citric_acid", "prob": 5 } + { "prob": 60, "group": "sugar_box_small_71" }, + { "prob": 15, "group": "artificial_sweetener_box_small_71" }, + { "prob": 65, "group": "dry_rice_bag_plastic_3" }, + { "prob": 5, "group": "dry_wild_rice_bag_plastic_3" }, + { "prob": 5, "group": "chem_citric_acid_bottle_glass_50" } ] }, { @@ -837,28 +813,28 @@ { "group": "barbecue_sauce_sealed_rng", "prob": 40 }, { "group": "honey_mustard_sealed_rng", "prob": 30 }, { "item": "horseradish", "prob": 10 }, - { "item": "sprinkles", "prob": 20 }, + { "prob": 20, "group": "sprinkles_bottle_plastic_small_66" }, { "item": "honey_bottled", "prob": 35 }, - { "item": "honey_glassed", "prob": 35 }, + { "prob": 35, "group": "honey_glassed_jar_glass_sealed_5" }, { "item": "peanutbutter", "prob": 60 }, - { "item": "pickle", "prob": 40, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 40, "group": "pickle_jar_glass_sealed_2" }, { "item": "coffee_syrup", "prob": 35 }, - { "item": "coffee_raw", "prob": 45 }, - { "item": "tea_raw", "prob": 45 }, - { "item": "tea_green_raw", "prob": 20 }, - { "item": "salt", "prob": 50 }, - { "item": "pepper", "prob": 50 }, + { "prob": 45, "group": "coffee_raw_bag_plastic_20" }, + { "prob": 45, "group": "tea_raw_bag_plastic_33" }, + { "prob": 20, "group": "tea_green_raw_bag_plastic_33" }, + { "prob": 50, "group": "salt_bag_plastic_100" }, + { "prob": 50, "group": "pepper_bag_plastic_100" }, { "item": "soysauce", "prob": 50 }, { "item": "hot_sauce", "prob": 50 }, - { "item": "cinnamon", "prob": 20 }, + { "prob": 20, "group": "cinnamon_bag_plastic_100" }, { "item": "syrup", "prob": 50 }, - { "item": "seasoning_salt", "prob": 45 }, - { "item": "seasoning_italian", "prob": 50 }, - { "item": "curry_powder", "prob": 40 }, - { "item": "can_cheese", "prob": 30 }, + { "prob": 45, "group": "seasoning_salt_bag_plastic_100" }, + { "prob": 50, "group": "seasoning_italian_bag_plastic_100" }, + { "prob": 40, "group": "curry_powder_bag_plastic_100" }, + { "prob": 30, "group": "can_cheese_can_food_8" }, { "item": "sauce_red", "prob": 40 }, { "item": "sauce_pesto", "prob": 20 }, - { "item": "oyster_crackers", "charges-min": 1, "prob": 30 }, + { "prob": 30, "group": "oyster_crackers_plastic_bag_vac_1_inf" }, { "group": "teabag_box", "prob": 45 } ] }, @@ -867,9 +843,9 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "frozen_dinner", "prob": 80 }, - { "item": "pizza_veggy", "prob": 50 }, - { "item": "pizza_meat", "prob": 50 }, + { "prob": 80, "group": "frozen_dinner_box_small_2" }, + { "prob": 50, "group": "pizza_veggy_box_small_4" }, + { "prob": 50, "group": "pizza_meat_box_small_4" }, { "item": "junk_burrito", "prob": 50 }, { "item": "icecream_artificial", "prob": 30 }, { "item": "icecream_candy", "prob": 20 }, @@ -881,11 +857,11 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "bologna", "prob": 50 }, + { "prob": 50, "group": "bologna_bag_plastic_10" }, { "item": "sausage", "prob": 50 }, - { "item": "bratwurst_sausage", "prob": 35 }, + { "item": "bratwurst_sausage", "prob": 35, "count": 10 }, { "item": "sweet_sausage", "prob": 10 }, - { "item": "hotdogs_frozen", "prob": 50 }, + { "prob": 50, "group": "hotdogs_frozen_bag_plastic_10" }, { "item": "lunchmeat", "prob": 60 }, { "item": "meat", "prob": 60 } ] @@ -895,13 +871,13 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "egg_bird_unfert", "prob": 65, "charges-min": 6, "charges-max": 12, "container-item": "carton_egg" }, + { "prob": 65, "group": "egg_bird_unfert_carton_egg_6_12" }, { "item": "milk", "prob": 80 }, { "item": "milk_raw", "prob": 5 }, { "item": "milk_raw", "prob": 5 }, - { "item": "butter", "prob": 35, "charges": 8, "container-item": "wrapper" }, + { "prob": 35, "group": "butter_wrapper_8" }, { "item": "buttermilk", "prob": 15 }, - { "item": "cheese", "prob": 60 }, + { "prob": 60, "group": "cheese_bag_plastic_8" }, { "item": "cottage_cheese", "prob": 30 }, { "item": "yoghurt", "prob": 40 }, { "item": "pudding", "prob": 30 }, @@ -955,7 +931,7 @@ [ "lobster_platter", 10 ], [ "fish_fried", 10 ], [ "fish_sandwich", 10 ], - { "item": "cornbread", "charges": 6, "prob": 10 } + { "prob": 10, "group": "cornbread_bag_plastic_6" } ] }, { @@ -965,7 +941,7 @@ [ "water_clean", 10 ], [ "water_mineral", 10 ], [ "milk", 20 ], - { "item": "butter", "prob": 35, "charges-min": 8, "charges-max": 64, "container-item": "wrapper" }, + { "prob": 35, "group": "butter_wrapper_8_64" }, { "item": "ghee", "prob": 5, @@ -998,7 +974,7 @@ [ "cheese", 10 ], [ "mozzarella_cheese", 10 ], [ "lemon", 15 ], - { "item": "pickle", "prob": 10, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 10, "group": "pickle_jar_glass_sealed_2" }, [ "lutefisk", 15 ], [ "fries", 15 ], [ "cheese_fries", 10 ], @@ -1021,7 +997,7 @@ [ "water_mineral", 10 ], [ "milk", 20 ], [ "egg_bird_unfert", 20 ], - { "item": "butter", "prob": 35, "charges-min": 8, "charges-max": 64, "container-item": "wrapper" }, + { "prob": 35, "group": "butter_wrapper_8_64" }, { "item": "ghee", "prob": 5, @@ -1053,7 +1029,7 @@ [ "lobster", 40 ], [ "lobster_cooked", 10 ], [ "lemon", 20 ], - { "item": "pickle", "prob": 10, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 10, "group": "pickle_jar_glass_sealed_2" }, [ "fries", 15 ], [ "crab_cakes", 20 ], [ "stuffed_clams", 20 ], @@ -1069,10 +1045,10 @@ "items": [ [ "vinegar", 20 ], [ "jam_fruit", 5 ], - { "item": "bread", "charges": 14, "prob": 17 }, + { "prob": 17, "group": "bread_bag_plastic_14" }, { "item": "confit_meat", "prob": 14 }, [ "meat", 20 ], - { "item": "cornbread", "charges": 6, "prob": 7 }, + { "prob": 7, "group": "cornbread_bag_plastic_6" }, [ "biscuit", 8 ], [ "seasoning_salt", 15 ], [ "seasoning_italian", 15 ], @@ -1084,8 +1060,8 @@ [ "pepper", 15 ], [ "salt", 20 ], [ "sugar", 5 ], - { "item": "flour", "charges": [ 1, 70 ], "prob": 4 }, - { "item": "flour", "charges": [ 1, 175 ], "prob": 13, "container-item": "bag_plastic" }, + { "prob": 4, "group": "flour_bag_paper_powder_1_70" }, + { "prob": 13, "group": "flour_bag_plastic_1_175" }, [ "soysauce", 25 ], [ "hot_sauce", 25 ], [ "cooking_oil", 50 ], @@ -1109,9 +1085,9 @@ "items": [ [ "vinegar", 20 ], [ "mayonnaise", 20 ], - { "item": "bread", "charges": 14, "prob": 17 }, + { "prob": 17, "group": "bread_bag_plastic_14" }, [ "fish", 20 ], - { "item": "cornbread", "charges": 6, "prob": 7 }, + { "prob": 7, "group": "cornbread_bag_plastic_6" }, [ "biscuit", 8 ], [ "seasoning_salt", 15 ], [ "seasoning_italian", 15 ], @@ -1124,8 +1100,8 @@ [ "pepper", 15 ], [ "salt", 20 ], [ "sugar", 5 ], - { "item": "flour", "charges": [ 1, 70 ], "prob": 4 }, - { "item": "flour", "charges": [ 1, 175 ], "prob": 13, "container-item": "bag_plastic" }, + { "prob": 4, "group": "flour_bag_paper_powder_1_70" }, + { "prob": 13, "group": "flour_bag_plastic_1_175" }, [ "soysauce", 25 ], [ "hot_sauce", 25 ], [ "cooking_oil", 40 ], @@ -1219,8 +1195,8 @@ { "item": "onion", "prob": 6, "container-item": "bowl_plastic" }, { "item": "broccoli", "prob": 6, "container-item": "bowl_plastic" }, { "item": "celery", "prob": 6, "container-item": "bag_plastic" }, - { "item": "cabbage", "prob": 12, "container-item": "bag_plastic" }, - { "item": "carrot", "prob": 8, "charges": 2, "container-item": "bowl_plastic" } + { "prob": 12, "group": "cabbage_bag_plastic_8" }, + { "prob": 8, "group": "carrot_bowl_plastic_2" } ] }, { @@ -1236,7 +1212,7 @@ { "item": "soup_tomato", "prob": 5, "charges": 2, "container-item": "pot" }, { "item": "soup_veggy", "prob": 10, "charges": 1, "container-item": "pot" }, { "item": "soup_veggy", "prob": 5, "charges": 2, "container-item": "pot" }, - { "item": "oyster_crackers", "prob": 25 } + { "prob": 25, "group": "oyster_crackers_plastic_bag_vac_8" } ] }, { @@ -1247,34 +1223,34 @@ { "item": "cheeseburger", "prob": 6 }, { "item": "hamburger", "prob": 8 }, { "item": "sloppyjoe", "prob": 6 }, - { "item": "blt", "prob": 6 }, + { "prob": 6, "group": "blt_wrapper_2" }, { "item": "fries", "prob": 10 }, - { "item": "fried_mozzarella_sticks", "prob": 6 }, + { "prob": 6, "group": "fried_mozzarella_sticks_bag_plastic_4" }, { "item": "onion_rings", "prob": 8 }, - { "item": "fchicken", "prob": 8 }, + { "prob": 8, "group": "fchicken_box_small_4" }, { "item": "sausage", "prob": 8 }, - { "item": "bratwurst_sausage", "prob": 6 }, + { "item": "bratwurst_sausage", "prob": 6, "count": 10 }, { "item": "sweet_sausage", "prob": 2 }, { "item": "hotdogs_cooked", "prob": 8 }, - { "item": "chilidogs", "prob": 6 }, - { "item": "corndogs_cooked", "prob": 8 }, - { "item": "scrambled_eggs", "prob": 8 }, + { "prob": 6, "group": "chilidogs_wrapper_2" }, + { "prob": 8, "group": "corndogs_cooked_wrapper_2" }, + { "item": "scrambled_eggs", "prob": 8, "count": 2 }, { "item": "tofu_rice", "prob": 4 }, - { "item": "deluxe_eggs", "prob": 5 }, - { "item": "pancakes", "prob": 12 }, - { "item": "fruit_pancakes", "prob": 6 }, - { "item": "choc_pancakes", "prob": 6 }, + { "item": "deluxe_eggs", "prob": 5, "count": 3 }, + { "item": "pancakes", "prob": 12, "count": 4 }, + { "item": "fruit_pancakes", "prob": 6, "count": 4 }, + { "item": "choc_pancakes", "prob": 6, "count": 4 }, { "item": "waffles", "prob": 10 }, { "item": "fruit_waffles", "prob": 6 }, { "item": "choc_waffles", "prob": 6 }, - { "item": "pie", "prob": 9 }, - { "item": "pie_meat", "prob": 8 }, + { "prob": 9, "group": "pie_box_small_8" }, + { "prob": 8, "group": "pie_meat_box_small_8" }, { "item": "pan", "prob": 30 }, - { "item": "hotdogs_newyork", "charges-min": 1, "prob": 5 }, - { "item": "crab_cakes", "charges-min": 1, "prob": 8 }, - { "item": "stuffed_clams", "charges-min": 1, "prob": 8 }, - { "item": "toast", "prob": 12 }, - { "item": "PBJ_Toast", "prob": 4 } + { "prob": 5, "group": "hotdogs_newyork_wrapper_1_inf" }, + { "prob": 8, "group": "crab_cakes_box_small_1_inf" }, + { "prob": 8, "group": "stuffed_clams_box_small_1_inf" }, + { "prob": 12, "group": "toast_bag_plastic_2" }, + { "prob": 4, "group": "PBJ_Toast_bag_plastic_2" } ] }, { @@ -1282,24 +1258,24 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "pickle", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "bacon", "prob": 20 }, + { "prob": 20, "group": "pickle_jar_glass_sealed_2" }, + { "prob": 20, "group": "bacon_bag_plastic_2" }, { "item": "fries", "prob": 20 }, { "item": "onion_rings", "prob": 20 }, { "item": "sausage", "prob": 20 }, - { "item": "bratwurst_sausage", "prob": 10 }, + { "item": "bratwurst_sausage", "prob": 10, "count": 10 }, { "item": "sweet_sausage", "prob": 5 }, - { "item": "hotdogs_frozen", "prob": 20 }, - { "item": "corndogs_frozen", "prob": 20 }, - { "item": "pancakes", "prob": 20 }, + { "prob": 20, "group": "hotdogs_frozen_bag_plastic_10" }, + { "prob": 20, "group": "corndogs_frozen_bag_plastic_2" }, + { "item": "pancakes", "prob": 20, "count": 4 }, { "item": "waffles", "prob": 20 }, { "item": "tomato", "prob": 20 }, - { "item": "lettuce", "prob": 20 }, + { "item": "lettuce", "prob": 20, "count": 5 }, { "item": "soup_veggy", "prob": 20 }, { "item": "soup_meat", "prob": 20 }, { "item": "soup_tomato", "prob": 20 }, - { "item": "crab_cakes", "charges-min": 1, "prob": 12 }, - { "item": "stuffed_clams", "charges-min": 1, "prob": 12 } + { "prob": 12, "group": "crab_cakes_box_small_1_inf" }, + { "prob": 12, "group": "stuffed_clams_box_small_1_inf" } ] }, { @@ -1346,12 +1322,12 @@ { "item": "stomach_boiled", "prob": 2 }, { "item": "meat", "prob": 8 }, { "item": "lunchmeat", "prob": 6 }, - { "item": "hotdogs_frozen", "prob": 6 }, - { "item": "lung", "prob": 2, "charges": 5 }, - { "item": "kidney", "prob": 2, "charges": 5 }, - { "item": "liver", "prob": 4, "charges": 5 }, - { "item": "brain", "prob": 2, "charges": 5 }, - { "item": "sweetbread", "prob": 2, "charges": 2 } + { "prob": 6, "group": "hotdogs_frozen_bag_plastic_10" }, + { "item": "lung", "prob": 2, "count": 5 }, + { "item": "kidney", "prob": 2, "count": 5 }, + { "item": "liver", "prob": 4, "count": 5 }, + { "item": "brain", "prob": 2, "count": 5 }, + { "item": "sweetbread", "prob": 2, "count": 2 } ] }, { @@ -1360,16 +1336,16 @@ "subtype": "distribution", "entries": [ { "item": "lunchmeat", "prob": 15 }, - { "item": "bologna", "prob": 10 }, + { "prob": 10, "group": "bologna_bag_plastic_10" }, { "item": "sausage", "prob": 4 }, { "item": "sweet_sausage", "prob": 2 }, - { "item": "bratwurst_sausage", "prob": 4 }, + { "item": "bratwurst_sausage", "prob": 4, "count": 10 }, { "item": "meat_salted", "prob": 2 }, { "item": "meat_canned", "prob": 2 }, { "item": "offal_canned", "prob": 2 }, { "item": "meat_smoked", "prob": 2 }, - { "item": "meat_pickled", "prob": 2, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "offal_pickled", "prob": 2, "charges": 2, "container-item": "jar_glass_sealed" } + { "prob": 2, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 2, "group": "offal_pickled_jar_glass_sealed_2" } ] }, { @@ -1463,7 +1439,7 @@ ], "prob": 60 }, - { "item": "nachos", "prob": 30, "container-item": "bowl_plastic" }, + { "prob": 30, "group": "nachos_bowl_plastic_3" }, { "item": "hot_sauce", "prob": 40 } ] }, @@ -1475,7 +1451,7 @@ [ "water_clean", 10 ], [ "water_mineral", 10 ], [ "milk", 20 ], - { "item": "butter", "prob": 35, "charges-min": 8, "charges-max": 64, "container-item": "wrapper" }, + { "prob": 35, "group": "butter_wrapper_8_64" }, { "item": "ghee", "prob": 5, @@ -1535,19 +1511,611 @@ "subtype": "collection", "entries": [ { "group": "pantry_liquids", "prob": 30 }, - { "item": "tortilla_corn", "prob": 50, "count": [ 1, 3 ] }, - { "item": "tortilla_flour", "prob": 50, "count": [ 1, 3 ] }, + { "prob": 50, "count": [ 1, 3 ], "group": "tortilla_corn_bag_plastic_12" }, + { "prob": 50, "count": [ 1, 3 ], "group": "tortilla_flour_bag_plastic_12" }, { "item": "sauce_red", "prob": 30 }, - { "item": "nachos", "prob": 60, "count": [ 1, 3 ] }, - { "item": "cheese_hard", "prob": 40 }, - { "item": "can_beans", "prob": 20, "count": [ 1, 3 ] }, - { "item": "dry_beans", "prob": 60, "count": [ 1, 3 ] }, + { "prob": 60, "count": [ 1, 3 ], "group": "nachos_bag_plastic_3" }, + { "prob": 40, "group": "cheese_hard_wrapper_8" }, + { "prob": 20, "count": [ 1, 3 ], "group": "can_beans_can_medium_2" }, + { "prob": 60, "count": [ 1, 3 ], "group": "dry_beans_bag_plastic_6" }, { "item": "dry_mushroom", "prob": 40, "count": [ 1, 3 ] }, - { "item": "flatbread", "prob": 20, "count": [ 3, 9 ] }, - { "item": "dry_rice", "prob": 60, "count": [ 1, 3 ] }, + { "prob": 20, "count": [ 3, 9 ], "group": "flatbread_bag_plastic_2" }, + { "prob": 60, "count": [ 1, 3 ], "group": "dry_rice_bag_plastic_3" }, { "group": "SUS_spice_collection", "prob": 70 }, { "group": "big_canned_food", "prob": 20, "count": [ 1, 2 ] }, { "group": "dry_goods", "prob": 30 } ] + }, + { + "type": "item_group", + "id": "cookies_box_snack_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_snack", + "entries": [ { "item": "cookies", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "tea_raw_bag_plastic_33", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "tea_raw", "container-item": "null", "count": 33 } ] + }, + { + "type": "item_group", + "id": "tea_green_raw_bag_plastic_33", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "tea_green_raw", "container-item": "null", "count": 33 } ] + }, + { + "type": "item_group", + "id": "honey_glassed_jar_glass_sealed_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "honey_glassed", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "bee_balm_jar_3l_glass_sealed_1_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "bee_balm", "count-min": 1, "count-max": 12 } ] + }, + { + "type": "item_group", + "id": "raw_burdock_jar_3l_glass_sealed_1_48", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_3l_glass_sealed", + "entries": [ { "item": "raw_burdock", "count-min": 1, "count-max": 48 } ] + }, + { + "type": "item_group", + "id": "tea_raw_jar_glass_sealed_10_40", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "tea_raw", "container-item": "null", "count-min": 10, "count-max": 40 } ] + }, + { + "type": "item_group", + "id": "tea_green_raw_jar_glass_sealed_10_40", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "tea_green_raw", "container-item": "null", "count-min": 10, "count-max": 40 } ] + }, + { + "type": "item_group", + "id": "wild_herbs_jar_glass_sealed_20_200", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "wild_herbs", "count-min": 20, "count-max": 200 } ] + }, + { + "type": "item_group", + "id": "raw_dandelion_jar_glass_sealed_1_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "raw_dandelion", "count-min": 1, "count-max": 8 } ] + }, + { + "type": "item_group", + "id": "milk_powder_jar_glass_sealed_1_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "milk_powder", "container-item": "null", "count-min": 1, "count-max": 8 } ] + }, + { + "type": "item_group", + "id": "cinnamon_jar_glass_sealed_1_200", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "cinnamon", "container-item": "null", "count-min": 1, "count-max": 200 } ] + }, + { + "type": "item_group", + "id": "sugar_jar_glass_sealed_10_142", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "sugar", "container-item": "null", "count-min": 10, "count-max": 142 } ] + }, + { + "type": "item_group", + "id": "fried_mozzarella_sticks_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "fried_mozzarella_sticks", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "hotdogs_cooked_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "hotdogs_cooked", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "hotdogs_newyork_wrapper_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "hotdogs_newyork", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "crab_cakes_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "crab_cakes", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "stuffed_clams_box_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "stuffed_clams", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "flour_bag_paper_powder_1_70", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_paper_powder", + "entries": [ { "item": "flour", "container-item": "null", "count": [ 1, 70 ] } ] + }, + { + "type": "item_group", + "id": "flour_bag_plastic_1_175", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "flour", "container-item": "null", "count": [ 1, 175 ] } ] + }, + { + "type": "item_group", + "id": "chips2_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "chips2", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "chips3_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "chips3", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "choco_coffee_beans_bag_plastic_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "choco_coffee_beans", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "coffee_raw_bag_plastic_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "coffee_raw", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "toast_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "toast", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "salt_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "salt", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "sugar_box_small_71", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "sugar", "container-item": "null", "count": 71 } ] + }, + { + "type": "item_group", + "id": "artificial_sweetener_box_small_71", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "artificial_sweetener", "container-item": "null", "count": 71 } ] + }, + { + "type": "item_group", + "id": "seasoning_salt_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "seasoning_salt", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "seasoning_italian_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "seasoning_italian", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "cornmeal_box_small_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cornmeal", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "oyster_crackers_plastic_bag_vac_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "plastic_bag_vac", + "entries": [ { "item": "oyster_crackers", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "brown_bread_bag_plastic_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "brown_bread", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "brioche_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "brioche", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "almond_shelled_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "almond_shelled", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "pecan_shelled_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "pecan_shelled", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "cashews_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cashews", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "pistachio_shelled_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "pistachio_shelled", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "peanut_shelled_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "peanut_shelled", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "oatmeal_box_small_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "oatmeal", "container-item": "null", "count": 4 } ] + }, + { + "type": "item_group", + "id": "cereal_fp1_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp1", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "cereal_fp2_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp2", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "cereal_fp3_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp3", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "cereal_fp4_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp4", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "cereal_fp5_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp5", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "cereal_fp6_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp6", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "cereal_fp7_box_small_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "cereal_fp7", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "flour_bag_paper_powder_70", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_paper_powder", + "entries": [ { "item": "flour", "container-item": "null", "count": 70 } ] + }, + { + "type": "item_group", + "id": "flour_bag_plastic_175", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "flour", "container-item": "null", "count": 175 } ] + }, + { + "type": "item_group", + "id": "bread_flour_bag_paper_powder_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_paper_powder", + "entries": [ { "item": "bread_flour", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "koji_bag_plastic_25", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "koji", "container-item": "null", "count": 25 } ] + }, + { + "type": "item_group", + "id": "dry_rice_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dry_rice", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "dry_wild_rice_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dry_wild_rice", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "chem_citric_acid_bottle_glass_50", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_glass", + "entries": [ { "item": "chem_citric_acid", "container-item": "null", "count": 50 } ] + }, + { + "type": "item_group", + "id": "sprinkles_bottle_plastic_small_66", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "sprinkles", "container-item": "null", "count": 66 } ] + }, + { + "type": "item_group", + "id": "pepper_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "pepper", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "cinnamon_bag_plastic_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cinnamon", "container-item": "null", "count": 100 } ] + }, + { + "type": "item_group", + "id": "egg_bird_unfert_carton_egg_6_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "carton_egg", + "entries": [ { "item": "egg_bird_unfert", "count-min": 6, "count-max": 12 } ] + }, + { + "type": "item_group", + "id": "butter_wrapper_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "butter", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "butter_wrapper_8_64", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "butter", "container-item": "null", "count-min": 8, "count-max": 64 } ] + }, + { + "type": "item_group", + "id": "cabbage_bag_plastic_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "cabbage", "count": 8 } ] + }, + { + "type": "item_group", + "id": "carrot_bowl_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bowl_plastic", + "entries": [ { "item": "carrot", "count": 2 } ] + }, + { + "type": "item_group", + "id": "chilidogs_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "chilidogs", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "corndogs_cooked_wrapper_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "corndogs_cooked", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "pie_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pie", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "pie_meat_box_small_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_small", + "entries": [ { "item": "pie_meat", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "PBJ_Toast_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "PBJ_Toast", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "offal_pickled_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "offal_pickled", "container-item": "null", "count": 2 } ] + }, + { + "type": "item_group", + "id": "nachos_bowl_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bowl_plastic", + "entries": [ { "item": "nachos", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "tortilla_corn_bag_plastic_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "tortilla_corn", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "tortilla_flour_bag_plastic_12", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "tortilla_flour", "container-item": "null", "count": 12 } ] + }, + { + "type": "item_group", + "id": "nachos_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "nachos", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "dry_beans_bag_plastic_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dry_beans", "container-item": "null", "count": 6 } ] + }, + { + "type": "item_group", + "id": "flatbread_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "flatbread", "container-item": "null", "count": 2 } ] } ] diff --git a/data/json/itemgroups/military.json b/data/json/itemgroups/military.json index c8d3f50b943e2..3d9b25f8b1835 100644 --- a/data/json/itemgroups/military.json +++ b/data/json/itemgroups/military.json @@ -467,8 +467,8 @@ "subtype": "collection", "entries": [ { "group": "any_MRE", "count": [ 1, 3 ], "prob": 70 }, - { "item": "chocolate", "prob": 20, "charges": [ 1, 3 ] }, - { "item": "neccowafers", "prob": 20 }, + { "prob": 20, "group": "chocolate_wrapper_1_3" }, + { "prob": 20, "group": "neccowafers_bag_plastic_3" }, { "item": "water_clean", "container-item": "canteen", "prob": 80, "charges": [ 0, 6 ] } ] }, @@ -498,9 +498,9 @@ "subtype": "collection", "entries": [ { "distribution": [ { "group": "full_ifak" }, { "group": "used_ifak" } ], "prob": 90 }, - { "item": "quikclot", "prob": 60, "charges": [ 1, 6 ] }, + { "prob": 60, "group": "quikclot_bag_plastic_1_6" }, { "collection": [ { "item": "morphine", "charges": [ 1, 4 ] }, { "item": "syringe" } ], "prob": 30 }, - { "item": "prophylactic_antivenom", "prob": 10 } + { "item": "prophylactic_antivenom", "prob": 10, "count": 5 } ] }, { @@ -592,8 +592,8 @@ { "item": "bandages", "prob": 30, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 20 }, { "group": "cotton_ball_bag_used", "prob": 20 }, - { "item": "iodine", "prob": 5 }, - { "item": "prussian_blue", "prob": 5 }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_10" }, { "item": "adrenaline_injector", "prob": 4 }, { "group": "tobacco_products", "prob": 146 }, { "item": "knife_combat", "prob": 14 }, @@ -722,9 +722,9 @@ { "item": "tac_fullhelmet", "prob": 5 }, { "item": "flight_helmet", "prob": 5 }, { "item": "mil_flight_suit", "prob": 5 }, - { "item": "gum", "prob": 90 }, - { "item": "caff_gum", "prob": 10 }, - { "item": "nic_gum", "prob": 1 }, + { "item": "gum", "prob": 90, "count": 10 }, + { "item": "caff_gum", "prob": 10, "count": 10 }, + { "item": "nic_gum", "prob": 1, "count": 10 }, { "item": "improve_sights", "prob": 10 }, { "item": "waterproof_gunmod", "prob": 4 }, { "item": "cleansuit", "prob": 5 }, @@ -736,7 +736,7 @@ { "item": "militarymap", "prob": 4 }, { "item": "halligan", "prob": 10 }, { "item": "fire_ax", "prob": 5 }, - { "item": "antiparasitic", "prob": 2 }, + { "prob": 2, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, { "item": "match_trigger", "prob": 2 }, { "item": "grapnel", "prob": 1 }, { "item": "bucket", "prob": 4 }, @@ -788,12 +788,12 @@ { "item": "boots_combat", "prob": 50 }, { "item": "bandages", "prob": 10, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 10 }, - { "item": "cig", "prob": 60, "charges-min": 1, "charges-max": 20 }, + { "prob": 60, "group": "cig_box_cigarette_1_20" }, { "item": "knife_combat", "prob": 30 }, { "item": "pockknife", "prob": 30 }, { "item": "knife_folding", "prob": 20 }, { "item": "glasses_safety", "prob": 45 }, - { "item": "eyedrops", "prob": 10, "charges-min": 1, "charges-max": 10 }, + { "item": "eyedrops", "prob": 10, "count-min": 1, "count-max": 10 }, { "item": "screwdriver", "prob": 5 }, { "item": "glasses_eye", "prob": 30 }, { "item": "tool_belt", "prob": 20 }, @@ -934,21 +934,21 @@ "subtype": "distribution", "entries": [ { "group": "mil_food_nodrugs", "prob": 1410 }, - { "item": "codeine", "prob": 15, "charges": [ 1, 10 ] }, - { "item": "antibiotics", "prob": 25, "charges": [ 1, 15 ] }, + { "prob": 15, "group": "codeine_bottle_plastic_pill_painkiller_1_10" }, + { "prob": 25, "group": "antibiotics_bottle_plastic_pill_prescription_1_15" }, { "item": "purifier", "prob": 12 }, { "item": "heatpack", "prob": 60 }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 20, "charges": [ 1, 15 ] }, - { "item": "fungicide", "prob": 5 }, - { "item": "insecticide", "prob": 5 }, + { "prob": 20, "group": "pur_tablets_bottle_plastic_small_1_15" }, + { "prob": 5, "group": "fungicide_bag_plastic_400" }, + { "prob": 5, "group": "insecticide_bag_plastic_400" }, { "item": "rx12_injector", "prob": 8, "charges": [ 0, 2 ] }, { "item": "rx11_stimpack", "prob": 8, "charges": [ 0, 5 ] }, { "item": "oxygen_tank", "prob": 10, "charges": [ 0, 24 ] }, { "item": "smoxygen_tank", "prob": 20, "charges": [ 0, 12 ] }, - { "item": "bfipowder", "prob": 15, "charges": [ 1, 4 ] }, - { "item": "quikclot", "prob": 10, "charges": [ 1, 6 ] }, - { "item": "weak_antibiotic", "prob": 40, "charges": [ 1, 5 ] }, - { "item": "prophylactic_antivenom", "prob": 5 } + { "prob": 15, "group": "bfipowder_bottle_plastic_small_1_4" }, + { "prob": 10, "group": "quikclot_bag_plastic_1_6" }, + { "prob": 40, "group": "weak_antibiotic_bottle_plastic_pill_prescription_1_5" }, + { "item": "prophylactic_antivenom", "prob": 5, "count": 5 } ] }, { @@ -957,16 +957,16 @@ "subtype": "distribution", "entries": [ { "group": "MRE", "prob": 1035 }, - { "item": "chocolate", "prob": 20 }, - { "item": "neccowafers", "prob": 30 }, - { "item": "can_beans", "prob": 40 }, - { "item": "pork_beans", "prob": 40 }, + { "prob": 20, "group": "chocolate_wrapper_3" }, + { "prob": 30, "group": "neccowafers_bag_plastic_3" }, + { "prob": 40, "group": "can_beans_can_medium_2" }, + { "prob": 40, "group": "pork_beans_can_medium_2" }, { "distribution": [ { "group": "full_ifak" }, { "group": "used_ifak" } ], "prob": 35 }, { "item": "saline", "prob": 10 }, { "item": "instant_coffee", "prob": 25 }, { "item": "con_milk", "prob": 10 }, { "item": "milk_UHT", "prob": 25 }, - { "item": "cereal", "prob": 20 }, + { "prob": 20, "group": "cereal_box_small_4" }, { "item": "sports_drink", "prob": 40 }, { "item": "water_clean", "prob": 90 } ] @@ -1144,5 +1144,77 @@ [ "solar_panel", 3 ], [ "recharge_station", 8 ] ] + }, + { + "type": "item_group", + "id": "chocolate_wrapper_1_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "chocolate", "container-item": "null", "count": [ 1, 3 ] } ] + }, + { + "type": "item_group", + "id": "neccowafers_bag_plastic_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "neccowafers", "container-item": "null", "count": 3 } ] + }, + { + "type": "item_group", + "id": "iodine_bottle_plastic_pill_supplement_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "iodine", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "prussian_blue_bottle_plastic_pill_supplement_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "prussian_blue", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "antiparasitic_bottle_plastic_pill_prescription_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antiparasitic", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "codeine_bottle_plastic_pill_painkiller_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "codeine", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "antibiotics_bottle_plastic_pill_prescription_1_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antibiotics", "container-item": "null", "count": [ 1, 15 ] } ] + }, + { + "type": "item_group", + "id": "weak_antibiotic_bottle_plastic_pill_prescription_1_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "weak_antibiotic", "container-item": "null", "count": [ 1, 5 ] } ] + }, + { + "type": "item_group", + "id": "chocolate_wrapper_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper", + "entries": [ { "item": "chocolate", "container-item": "null", "count": 3 } ] } ] diff --git a/data/json/itemgroups/oa_shared_item_groups.json b/data/json/itemgroups/oa_shared_item_groups.json index 705e4831bd8ae..3b52c84a83f42 100644 --- a/data/json/itemgroups/oa_shared_item_groups.json +++ b/data/json/itemgroups/oa_shared_item_groups.json @@ -13,12 +13,12 @@ { "item": "lighter", "prob": 50, "charges-min": 0, "charges-max": 10 }, { "item": "matches", "prob": 50, "charges-min": 0, "charges-max": 20 }, { "item": "ref_matches", "prob": 50, "charges-min": 0, "charges-max": 32 }, - { "item": "cig", "prob": 20, "charges-min": 1, "charges-max": 5 }, + { "prob": 20, "group": "cig_box_cigarette_1_5" }, [ "plastic_shopping_bag", 50 ], [ "wrapper", 50 ], [ "wrapper_foil", 5 ], - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, [ "string_6", 10 ], [ "chain", 20 ], { "item": "glass_shard", "prob": 30, "count": [ 1, 8 ] }, @@ -60,9 +60,17 @@ { "item": "paper", "prob": 20, "count": [ 5, 15 ] }, { "item": "cotton_patchwork", "prob": 35, "custom-flags": [ "FILTHY" ] }, [ "mask_dust", 10 ], - { "item": "gum", "prob": 6, "charges": [ 1, 10 ] }, - { "item": "caff_gum", "prob": 6, "charges": [ 1, 10 ] }, - { "item": "nic_gum", "prob": 4, "charges": [ 1, 10 ] } + { "item": "gum", "prob": 6, "count": [ 1, 10 ] }, + { "item": "caff_gum", "prob": 6, "count": [ 1, 10 ] }, + { "item": "nic_gum", "prob": 4, "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "cig_box_cigarette_1_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_cigarette", + "entries": [ { "item": "cig", "container-item": "null", "count-min": 1, "count-max": 5 } ] } ] diff --git a/data/json/itemgroups/roof.json b/data/json/itemgroups/roof.json index 68b9eeab0a32c..50ce95fe8a9f2 100644 --- a/data/json/itemgroups/roof.json +++ b/data/json/itemgroups/roof.json @@ -9,7 +9,7 @@ { "item": "ak47", "prob": 20, "charges": [ 0, 30 ] }, { "item": "akmag30", "prob": 20, "charges": [ 0, 30 ] }, { "item": "762_m43", "prob": 20, "charges": [ 1, 30 ] }, - { "item": "cig", "prob": 10, "charges": [ 1, 20 ] }, + { "prob": 10, "group": "cig_box_cigarette_1_20" }, { "item": "joint_roach", "prob": 20 }, { "item": "cig_butt", "prob": 20 }, { "item": "joint", "prob": 10 }, @@ -40,8 +40,8 @@ "magazine": 50, "items": [ [ "plastic_shopping_bag", 15 ], - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, [ "string_6", 2 ], [ "chain", 20 ], { "item": "glass_shard", "prob": 20, "count": [ 1, 8 ] }, diff --git a/data/json/itemgroups/science_and_tech.json b/data/json/itemgroups/science_and_tech.json index 2a9ce61051574..fa653a1efbfb7 100644 --- a/data/json/itemgroups/science_and_tech.json +++ b/data/json/itemgroups/science_and_tech.json @@ -15,11 +15,11 @@ [ "mutagen", 8 ], [ "mutagen_chelator", 7 ], [ "purifier", 5 ], - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, { "item": "inhaler", "prob": 14, "charges-min": 10, "charges-max": 100 }, [ "eyedrops", 20 ], - { "item": "adderall", "prob": 10, "charges": [ 1, 10 ] }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_1_10" }, { "group": "wallets_science", "prob": 2 }, { "item": "chem_ethanol", "prob": 10, "charges-min": 250 }, [ "badge_doctor", 2 ], @@ -98,13 +98,13 @@ { "item": "oxy_powder", "prob": 8, "charges": [ 100, 200 ] }, [ "fungicide", 10 ], [ "insecticide", 10 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 1, 15 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_1_15" }, [ "optical_cloak", 1 ], [ "holo_cloak", 1 ], - { "item": "antiparasitic", "prob": 2, "charges": [ 1, 10 ] }, + { "prob": 2, "group": "antiparasitic_bottle_plastic_pill_prescription_1_10" }, [ "survnote", 1 ], { "group": "tools_toolbox", "prob": 1 }, - { "item": "diazepam", "prob": 1, "charges": [ 1, 10 ] }, + { "prob": 1, "group": "diazepam_bottle_plastic_pill_prescription_1_10" }, [ "magnifying_glass", 1 ], [ "material_quicklime", 10 ], [ "tin", 5 ], @@ -125,7 +125,7 @@ { "item": "butane_tank", "prob": 15, "charges-min": 15000 }, { "item": "vac_oven_small", "prob": 5 }, { "item": "butane_can", "prob": 2, "charges-min": 300 }, - { "item": "chem_citric_acid", "prob": 16 } + { "prob": 16, "group": "chem_citric_acid_bottle_glass_50" } ] }, { @@ -153,8 +153,8 @@ "items": [ { "group": "supplies_reagents_lab", "prob": 60 }, { "item": "ether", "prob": 5, "charges-min": 100 }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, [ "adv_chemistry", 4 ], [ "decoy_elfa", 6 ], [ "file", 10 ], @@ -195,7 +195,7 @@ [ "apron_plastic", 20 ], [ "apron_cotton", 2 ], [ "apron_leather", 2 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 5, "charges": [ 1, 15 ] }, + { "prob": 5, "group": "pur_tablets_bottle_plastic_small_1_15" }, { "item": "lye_powder", "prob": 10, "charges": [ 100, 200 ] }, { "item": "oxy_powder", "prob": 12, "charges": [ 100, 200 ] }, { "item": "magnesium", "prob": 12, "charges": [ 50, 100 ] }, @@ -207,7 +207,7 @@ [ "thermometer", 3 ], [ "hygrometer", 3 ], [ "barometer", 3 ], - { "item": "chem_sulphur", "prob": 10, "charges-min": 100 }, + { "prob": 10, "group": "chem_sulphur_bottle_plastic_small_100_inf" }, [ "chem_aluminium_powder", 10 ], [ "chem_hexamine", 10 ], [ "chem_saltpetre", 15 ], @@ -219,7 +219,7 @@ { "item": "chem_chromium_oxide", "prob": 10, "charges-min": 100 }, { "item": "chem_zinc_powder", "prob": 10, "charges-min": 100 }, { "item": "chem_manganese_dioxide", "prob": 5, "charges-min": 100 }, - { "item": "chem_citric_acid", "prob": 16, "charges-min": 100 }, + { "prob": 16, "group": "chem_citric_acid_bottle_glass_100_inf" }, { "item": "denat_alcohol", "prob": 6, "charges-min": 250 }, { "item": "methed_alcohol", "prob": 4, "charges-min": 250 }, { "item": "red_phosphorous", "prob": 10 }, @@ -417,7 +417,7 @@ [ "software_electronics_reference", 2 ], [ "recipe_lab_cvd", 8 ], [ "teleporter", 10 ], - { "item": "antiparasitic", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "antiparasitic_bottle_plastic_pill_prescription_1_10" }, [ "usb_drive", 5 ] ] }, @@ -454,8 +454,8 @@ "items": [ [ "blood", 20 ], { "item": "saline", "prob": 20, "container-item": "bag_iv" }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, [ "autoclave", 5 ], { "item": "bandages", "prob": 50, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 20 }, @@ -478,7 +478,7 @@ { "item": "oxygen_tank", "prob": 50, "charges": [ 0, 24 ] }, { "item": "smoxygen_tank", "prob": 25, "charges": [ 0, 12 ] }, [ "bfipowder", 15 ], - { "item": "quikclot", "prob": 10, "charges": [ 1, 6 ] }, + { "prob": 10, "group": "quikclot_bag_plastic_1_6" }, [ "anesthetic", 20 ], { "item": "rocuronium", "prob": 10, "count-min": 2, "count-max": 8 }, { "item": "anesthetic_kit", "prob": 10, "charges-min": 0 } @@ -501,8 +501,8 @@ "id": "dissection", "items": [ { "group": "supplies_reagents_lab", "prob": 20 }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, [ "textbook_firstaid", 2 ], [ "emergency_book", 1 ], [ "recipe_creepy", 2 ], @@ -540,5 +540,45 @@ [ "beaker", 10 ], [ "test_tube", 10 ] ] + }, + { + "type": "item_group", + "id": "adderall_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "adderall", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "antiparasitic_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antiparasitic", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "diazepam_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "diazepam", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "chem_sulphur_bottle_plastic_small_100_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "chem_sulphur", "container-item": "null", "count-min": 100 } ] + }, + { + "type": "item_group", + "id": "chem_citric_acid_bottle_glass_100_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_glass", + "entries": [ { "item": "chem_citric_acid", "container-item": "null", "count-min": 100 } ] } ] diff --git a/data/json/itemgroups/stashes.json b/data/json/itemgroups/stashes.json index 6e8b8a440a3af..05bd5fc3b5c34 100644 --- a/data/json/itemgroups/stashes.json +++ b/data/json/itemgroups/stashes.json @@ -23,15 +23,15 @@ [ "salt", 10 ], [ "seasoning_salt", 5 ], [ "vinegar", 10 ], - { "item": "veggy_pickled", "prob": 30, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "sauerkraut", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 30, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 20, "group": "sauerkraut_jar_glass_sealed_2" }, [ "con_milk", 10 ], [ "milk_evap", 10 ], [ "instant_coffee", 25 ], - { "item": "fish_pickled", "prob": 26, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 26, "group": "fish_pickled_jar_glass_sealed_2" }, [ "lutefisk", 1 ], [ "pemmican", 10 ], - { "item": "meat_pickled", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" } + { "prob": 20, "group": "meat_pickled_jar_glass_sealed_2" } ] }, { @@ -55,30 +55,30 @@ "type": "item_group", "id": "stash_drugs", "items": [ - { "item": "pills_sleep", "prob": 15, "charges": [ 1, 10 ] }, - { "item": "melatonin_tablet", "prob": 5, "charges": [ 1, 30 ] }, - { "item": "oxycodone", "prob": 4, "charges": [ 1, 10 ] }, - { "item": "morphine", "prob": 4, "charges": [ 1, 4 ] }, - { "item": "xanax", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "adderall", "prob": 10, "charges": [ 1, 10 ] }, + { "prob": 15, "group": "pills_sleep_bottle_plastic_pill_prescription_1_10" }, + { "prob": 5, "group": "melatonin_tablet_bottle_plastic_pill_supplement_1_30" }, + { "prob": 4, "group": "oxycodone_bottle_plastic_pill_prescription_1_10" }, + { "item": "morphine", "prob": 4, "count": [ 1, 4 ] }, + { "prob": 10, "group": "xanax_bottle_plastic_pill_prescription_1_10" }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_1_10" }, [ "pipe_tobacco", 2 ], - { "item": "tobacco", "prob": 2, "charges": [ 1, 20 ] }, + { "prob": 2, "group": "tobacco_bag_plastic_1_20" }, [ "adrenaline_injector", 2 ], - { "item": "weed", "prob": 50, "charges": [ 1, 5 ] }, + { "item": "weed", "prob": 50, "count": [ 1, 5 ] }, [ "joint", 10 ], [ "seed_weed", 35 ], [ "seed_tobacco", 15 ], [ "rolling_paper", 9 ], [ "pipe_glass", 17 ], - { "item": "coke", "prob": 8, "charges": [ 1, 8 ] }, - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, - { "item": "crack", "prob": 4, "charges": [ 1, 4 ] }, + { "prob": 8, "group": "coke_bag_zipper_1_8" }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, + { "prob": 4, "group": "crack_bag_zipper_1_4" }, [ "crackpipe", 7 ], - { "item": "antifungal", "prob": 1, "charges": [ 1, 5 ] }, - { "item": "antiparasitic", "prob": 2, "charges": [ 1, 10 ] }, - { "item": "diazepam", "prob": 1, "charges": [ 1, 10 ] }, - { "item": "lsd", "prob": 6, "charges": [ 1, 5 ] } + { "prob": 1, "group": "antifungal_bottle_plastic_pill_prescription_1_5" }, + { "prob": 2, "group": "antiparasitic_bottle_plastic_pill_prescription_1_10" }, + { "prob": 1, "group": "diazepam_bottle_plastic_pill_prescription_1_10" }, + { "item": "lsd", "prob": 6, "count": [ 1, 5 ] } ] }, { @@ -172,7 +172,7 @@ { "group": "used_ifak", "prob": 50 }, { "group": "full_1st_aid", "prob": 50 }, { "group": "used_1st_aid", "prob": 50 }, - { "item": "homeopathic_pills", "prob": 50 }, + { "prob": 50, "group": "homeopathic_pills_bottle_plastic_pill_supplement_20" }, { "group": "full_ipok", "prob": 50 } ] }, @@ -382,8 +382,72 @@ { "group": "salty_snacks", "prob": 75 }, { "group": "softdrinks_canned", "prob": 55 }, { "group": "softdrinks_bottled", "prob": 45 }, - { "item": "cookies", "prob": 30, "charges": [ 1, 4 ] }, + { "prob": 30, "group": "cookies_box_snack_1_4" }, { "group": "toastems", "prob": 15 } ] + }, + { + "type": "item_group", + "id": "pills_sleep_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "pills_sleep", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "oxycodone_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "oxycodone", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "xanax_bottle_plastic_pill_prescription_1_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "xanax", "container-item": "null", "count": [ 1, 10 ] } ] + }, + { + "type": "item_group", + "id": "tobacco_bag_plastic_1_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "tobacco", "container-item": "null", "count": [ 1, 20 ] } ] + }, + { + "type": "item_group", + "id": "crack_bag_zipper_1_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "crack", "container-item": "null", "count": [ 1, 4 ] } ] + }, + { + "type": "item_group", + "id": "antifungal_bottle_plastic_pill_prescription_1_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antifungal", "container-item": "null", "count": [ 1, 5 ] } ] + }, + { + "type": "item_group", + "id": "homeopathic_pills_bottle_plastic_pill_supplement_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "homeopathic_pills", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "cookies_box_snack_1_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "box_snack", + "entries": [ { "item": "cookies", "container-item": "null", "count": [ 1, 4 ] } ] } ] diff --git a/data/json/itemgroups/supplies.json b/data/json/itemgroups/supplies.json index bcafee528011d..df476224cd9b8 100644 --- a/data/json/itemgroups/supplies.json +++ b/data/json/itemgroups/supplies.json @@ -366,7 +366,7 @@ { "item": "bleach", "prob": 10, "charges-min": 10 }, { "item": "ammonia_liquid", "prob": 20, "charges-min": 6 }, { "item": "ammonia_hydroxide", "prob": 10, "charges-min": 10 }, - { "item": "iodine", "prob": 10, "charges": [ 1, 10 ] }, + { "prob": 10, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, [ "oxy_powder", 10 ], [ "ash", 5 ], [ "lye", 5 ], @@ -374,7 +374,7 @@ { "item": "lye_powder", "prob": 10, "charges": [ 100, 200 ] }, { "item": "magnesium", "prob": 10, "charges": [ 50, 100 ] }, { "item": "charcoal", "prob": 10, "charges": [ 200, 400 ] }, - { "item": "chem_sulphur", "prob": 10, "charges-min": 100 }, + { "prob": 10, "group": "chem_sulphur_bottle_plastic_small_100_inf" }, [ "chunk_sulfur", 5 ], [ "chem_aluminium_powder", 10 ], [ "chem_aluminium_sulphate", 10 ], @@ -412,9 +412,9 @@ { "item": "chem_DMSO", "prob": 10, "charges-min": 100 }, { "item": "chem_phenol", "prob": 10, "charges-min": 100 }, { "item": "chem_glycerol", "prob": 10, "charges-min": 10 }, - { "item": "chem_peptone_broth", "prob": 10, "charges-min": 1 }, - { "item": "chem_agar", "prob": 10, "charges-min": 1 }, - { "item": "chem_acrylamide", "prob": 10, "charges-min": 1 }, + { "prob": 10, "group": "chem_peptone_broth_bottle_plastic_small_1_inf" }, + { "prob": 10, "group": "chem_agar_bottle_plastic_small_1_inf" }, + { "prob": 10, "group": "chem_acrylamide_bottle_glass_1_inf" }, { "item": "oxygen_tank", "prob": 6, "charges": 24 }, [ "nitrogen_tank", 7 ], [ "hydrogen_tank", 8 ], @@ -423,7 +423,7 @@ [ "sugar", 10 ], { "item": "chem_ethanol", "prob": 10, "charges-min": 250 }, [ "oxygen_cylinder", 8 ], - { "item": "chem_citric_acid", "prob": 16, "charges-min": 100 }, + { "prob": 16, "group": "chem_citric_acid_bottle_glass_100_inf" }, { "item": "chem_ethanol", "prob": 10, "charges-min": 250 }, { "item": "chem_turpentine", "prob": 10, "charges-min": 20 } ] @@ -447,14 +447,14 @@ "items": [ [ "meat", 10 ], [ "offal", 10 ], - { "item": "lung", "prob": 10, "count": [ 1, 3 ] }, - { "item": "kidney", "prob": 10, "count": [ 1, 3 ] }, - { "item": "liver", "prob": 10, "count": [ 1, 3 ] }, + { "item": "lung", "prob": 10, "count": [ 4, 12 ] }, + { "item": "kidney", "prob": 10, "count": [ 4, 12 ] }, + { "item": "liver", "prob": 10, "count": [ 4, 12 ] }, { "item": "mouse_sample", "prob": 40, "count": [ 1, 3 ] }, { "item": "rat_sample", "prob": 40, "count": [ 1, 3 ] }, { "item": "fish_sample", "prob": 40, "count": [ 1, 3 ] }, { "item": "meat_tainted", "prob": 30, "count": [ 1, 3 ] }, - { "item": "brain", "prob": 10, "count": [ 1, 3 ] }, + { "item": "brain", "prob": 10, "count": [ 4, 12 ] }, { "item": "rabbit_sample", "prob": 10, "count": [ 1, 3 ] }, { "item": "gastropod_sample", "prob": 10, "count": [ 1, 3 ] }, { "item": "batrachian_sample", "prob": 10, "count": [ 1, 3 ] }, @@ -472,7 +472,7 @@ { "item": "plant_sample", "prob": 10, "count": [ 3, 6 ] }, { "item": "slime_sample", "prob": 10, "count": [ 3, 6 ] }, { "item": "bird_sample", "prob": 10, "count": [ 3, 6 ] }, - { "item": "sweetbread", "prob": 10, "count": [ 1, 3 ] } + { "item": "sweetbread", "prob": 10, "count": [ 4, 12 ] } ] }, { @@ -688,7 +688,7 @@ [ "fan", 5 ], [ "cola", 10 ], [ "can_drink", 5 ], - { "item": "cig", "prob": 5, "charges": [ 1, 20 ] }, + { "prob": 5, "group": "cig_box_cigarette_1_20" }, [ "purse", 2 ], [ "pipe_tobacco", 1 ], { "group": "writing_utensils", "prob": 35 } @@ -805,5 +805,29 @@ { "item": "arm_splint", "count": [ 1, 3 ] }, { "item": "leg_splint", "count": [ 1, 3 ] } ] + }, + { + "type": "item_group", + "id": "chem_peptone_broth_bottle_plastic_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "chem_peptone_broth", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "chem_agar_bottle_plastic_small_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "chem_agar", "container-item": "null", "count-min": 1 } ] + }, + { + "type": "item_group", + "id": "chem_acrylamide_bottle_glass_1_inf", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_glass", + "entries": [ { "item": "chem_acrylamide", "container-item": "null", "count-min": 1 } ] } ] diff --git a/data/json/itemgroups/tools.json b/data/json/itemgroups/tools.json index 429a4359e99b6..95d9cd6976b20 100644 --- a/data/json/itemgroups/tools.json +++ b/data/json/itemgroups/tools.json @@ -208,7 +208,7 @@ { "item": "mess_kit", "prob": 20 }, [ "multitool", 10 ], [ "pockknife", 30 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 1, 15 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_1_15" }, { "item": "ref_lighter", "prob": 20, "charges": [ 0, 50 ] }, [ "rope_30", 20 ], [ "flint_steel", 10 ], @@ -393,7 +393,7 @@ { "item": "whistle_multitool" }, { "item": "glowstick", "charges": 1400 }, { "item": "handflare", "count": 4, "charges": 300 }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "charges": 15 }, + { "group": "pur_tablets_bottle_plastic_small_15" }, { "item": "pocket_survival" } ] }, @@ -408,7 +408,7 @@ { "item": "whistle_multitool", "prob": 70 }, { "item": "glowstick", "charges": 1400, "prob": 60 }, { "item": "handflare", "count": [ 0, 4 ], "charges": 300 }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "charges": [ 0, 15 ] }, + { "group": "pur_tablets_bottle_plastic_small_0_15" }, { "item": "pocket_survival", "prob": 40 } ] }, @@ -451,7 +451,7 @@ "container-item": "1st_aid_box", "items": [ { "item": "medical_tape", "charges": 20 }, - { "item": "aspirin", "charges": 10 }, + { "group": "aspirin_bottle_plastic_pill_painkiller_10" }, { "item": "disinfectant" }, { "item": "saline" }, { "item": "adhesive_bandages", "count": 6 }, @@ -480,7 +480,7 @@ "container-item": "1st_aid_box", "items": [ { "item": "medical_tape", "charges": [ 0, 20 ] }, - { "item": "aspirin", "charges": [ 0, 10 ] }, + { "group": "aspirin_bottle_plastic_pill_painkiller_0_10" }, { "item": "disinfectant", "charges": [ 0, 5 ] }, { "item": "saline", "prob": 60 }, { "item": "adhesive_bandages", "count": [ 0, 6 ] }, @@ -512,11 +512,11 @@ "items": [ { "item": "medical_tape", "charges": 20 }, { "item": "tourniquet_upper" }, - { "item": "quikclot", "charges": 5 }, + { "group": "quikclot_bag_plastic_5" }, { "item": "bandages", "count": 9 }, { "item": "medical_gauze", "count": 3 }, { "item": "adhesive_bandages", "count": 3 }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "charges": [ 0, 3 ] }, + { "group": "pur_tablets_bottle_plastic_small_0_3" }, { "item": "gloves_medical" }, { "item": "scissors_medical" } ] @@ -529,11 +529,11 @@ "items": [ { "item": "medical_tape", "charges": [ 0, 20 ] }, { "item": "tourniquet_upper", "prob": 20 }, - { "item": "quikclot", "charges": [ 0, 5 ] }, + { "group": "quikclot_bag_plastic_0_5" }, { "item": "bandages", "count": [ 0, 9 ] }, { "item": "medical_gauze", "count": [ 0, 3 ] }, { "item": "adhesive_bandages", "count": [ 0, 3 ] }, - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "charges": [ 0, 3 ] }, + { "group": "pur_tablets_bottle_plastic_small_0_3" }, { "item": "gloves_medical", "prob": 50 }, { "item": "scissors_medical", "prob": 30 } ] @@ -597,7 +597,7 @@ [ "multitool", 5 ], [ "pockknife", 50 ], [ "knife_folding", 30 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "prob": 10, "charges": [ 75, 100 ] }, + { "prob": 10, "group": "pur_tablets_bottle_plastic_small_75_100" }, { "item": "ref_lighter", "prob": 20, "charges": [ 0, 50 ] }, { "collection": [ { "item": "ref_lighter_butane" }, { "item": "butane_can", "charges": [ 350, 400 ] } ], @@ -891,5 +891,69 @@ "subtype": "distribution", "//": "Post-cataclysm makeshift fishing implements", "items": [ [ "fishing_rod_basic", 100 ], [ "fish_trap_basket", 100 ], [ "fishing_hook_bone", 100 ] ] + }, + { + "type": "item_group", + "id": "pur_tablets_bottle_plastic_small_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "pur_tablets", "count": 15 } ] + }, + { + "type": "item_group", + "id": "pur_tablets_bottle_plastic_small_0_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "pur_tablets", "count": [ 0, 15 ] } ] + }, + { + "type": "item_group", + "id": "aspirin_bottle_plastic_pill_painkiller_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "aspirin", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "aspirin_bottle_plastic_pill_painkiller_0_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_painkiller", + "entries": [ { "item": "aspirin", "container-item": "null", "count": [ 0, 10 ] } ] + }, + { + "type": "item_group", + "id": "quikclot_bag_plastic_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "quikclot", "container-item": "null", "count": 5 } ] + }, + { + "type": "item_group", + "id": "pur_tablets_bottle_plastic_small_0_3", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "pur_tablets", "count": [ 0, 3 ] } ] + }, + { + "type": "item_group", + "id": "quikclot_bag_plastic_0_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "quikclot", "container-item": "null", "count": [ 0, 5 ] } ] + }, + { + "type": "item_group", + "id": "pur_tablets_bottle_plastic_small_75_100", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "pur_tablets", "count": [ 75, 100 ] } ] } ] diff --git a/data/json/itemgroups/trash_and_debris.json b/data/json/itemgroups/trash_and_debris.json index ac155a93ed6c5..cb4b3e8f3264e 100644 --- a/data/json/itemgroups/trash_and_debris.json +++ b/data/json/itemgroups/trash_and_debris.json @@ -26,8 +26,8 @@ [ "glass_shard", 60 ], [ "2x4", 1 ], [ "bum_wine", 5 ], - { "item": "meth", "prob": 1, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 1, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, [ "wrapper", 40 ], [ "wrapper_foil", 2 ], { "item": "nail", "count": 5, "charges": [ 1, 100 ] }, @@ -172,11 +172,11 @@ "magazine": 50, "items": [ [ "plastic_shopping_bag", 35 ], - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, [ "bum_wine", 5 ], - { "item": "meth", "prob": 2, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 1, "charges": [ 1, 4 ] }, + { "prob": 2, "group": "meth_bag_zipper_1_6" }, + { "prob": 1, "group": "heroin_bag_zipper_1_4" }, [ "wrapper", 50 ], [ "wrapper_foil", 5 ], [ "cup_foil", 1 ], diff --git a/data/json/items/biosignatures.json b/data/json/items/biosignatures.json index 619c7a577a2b8..aad65a9b4d01b 100644 --- a/data/json/items/biosignatures.json +++ b/data/json/items/biosignatures.json @@ -17,9 +17,7 @@ "price_postapoc": 0, "material": [ "feces" ], "contamination": [ { "disease": "highly_contaminated_food", "probability": 100 } ], - "volume": "250 ml", - "charges": 4, - "stack_size": 4, + "volume": "62 ml", "fun": -25 }, { @@ -28,7 +26,7 @@ "name": { "str": "cow pie" }, "copy-from": "feces_bird", "weight": "750 g", - "volume": "1 L", + "volume": "250 ml", "description": "A fresh cow pie; this could probably be used to make some great fertilizer." }, { @@ -44,7 +42,7 @@ "name": { "str": "manure" }, "copy-from": "feces_bird", "weight": "250 g", - "volume": "500 ml", + "volume": "125 ml", "description": "Common manure, could probably be used to make some great fertilizer." }, { @@ -86,8 +84,6 @@ "price_postapoc": 0, "material": [ "chitin" ], "flags": [ "NO_SALVAGE" ], - "volume": "250 ml", - "charges": 4, - "stack_size": 4 + "volume": "62 ml" } ] diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index f13b1813246e0..2a7edf6fe5d09 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -29,12 +29,10 @@ "container": "bottle_plastic_pill_supplement", "comestible_type": "FOOD", "symbol": "%", - "charges": 10, - "stack_size": 10, "calories": 10, "description": "A pill for those looking to have children. It is of no use to you.", "price": 10, - "volume": "100 ml" + "volume": "10 ml" }, { "type": "COMESTIBLE", @@ -50,11 +48,10 @@ "comestible_type": "MED", "description": "A handful of pure sulfur. Primarily used to make battery acid, sulfur is sometimes used as fuel for explosives. Can be burned to produce acidic smoke that is deadly to bacteria and humans alike, or oxidized to make paper-bleaching agents. It is also a fungicide, and could be rubbed on your skin to treat fungal infection.", "material": [ "powder" ], - "volume": "16 ml", + "volume": "1 ml", "weight": "320 mg", "//": "Density: 2g/cm3. NOTE: Weights for chemical powders are 1/100 mol. Weights are given for ONE UNIT. Volume is for all units.", - "container": "bottle_plastic_small", - "charges": 100 + "container": "bottle_plastic_small" }, { "type": "AMMO", @@ -373,8 +370,7 @@ "//2": "0.8 g/cm3", "price_postapoc": 1000, "material": [ "powder" ], - "volume": "2025 ml", - "charges": 60, + "volume": "33 ml", "category": "chems", "fun": -15 }, @@ -397,10 +393,8 @@ "price": 1100, "price_postapoc": 1000, "material": [ "powder" ], - "volume": "125ml", - "charges": 400, + "volume": "1 ml", "//2": "Previously 10 doses to a gram, so about 400 to the pound.", - "stack_size": 200, "fun": -15 }, { @@ -419,9 +413,7 @@ "price": 1100, "price_postapoc": 1000, "material": [ "powder" ], - "volume": "125ml", - "charges": 400, - "stack_size": 200 + "volume": "1 ml" }, { "type": "COMESTIBLE", @@ -1154,8 +1146,7 @@ "description": "Intended for the clarification and disinfection of unsafe drinking water, this halazone-based purification tablet removes dangerous contaminants using powerful chemicals. The label says to use one tablet per unit of water (250ml).", "price": 900, "price_postapoc": 2000, - "volume": "250 ml", - "stack_size": 100, + "volume": "2 ml", "flags": [ "NO_INGEST" ] }, { @@ -1609,11 +1600,10 @@ "color": "yellow", "container": "bottle_plastic_small", "flags": [ "EDIBLE_FROZEN" ], - "charges": 50, "description": "A pre-mixed salty solution of protein and sugar. It's meant for bacteria to eat, but if you were desperate, you could eat it too; it's not much different from cup noodle stock.", "comestible_type": "INVALID", "material": [ "powder" ], - "volume": "100 ml", + "volume": "2 ml", "//": "Bulk density is around 0.5 g/mL", "weight": "1 g" }, @@ -1630,11 +1620,10 @@ "color": "yellow", "container": "bottle_plastic_small", "flags": [ "EDIBLE_FROZEN" ], - "charges": 50, "description": "Clear flakes of processed seaweed that can be dissolved in boiling water to create a very sturdy, temperature-resistant gel. Not only is it good for making gels to separate molecules by size, but it's a great cheat ingredient to make sure your jellies set properly.", "comestible_type": "INVALID", "material": [ "powder" ], - "volume": "90 ml", + "volume": "1 ml", "//": "Bulk density is around 0.55 g/mL", "weight": "1 g" }, @@ -1652,11 +1641,10 @@ "color": "white", "container": "bottle_glass", "flags": [ "EDIBLE_FROZEN" ], - "charges": 50, "description": "A handful of highly carcinogenic white powder that can be readily polymerized into a whole bunch of useful water-soluble gels.", "comestible_type": "INVALID", "material": [ "powder" ], - "volume": "100 ml", + "volume": "2 ml", "//": "Bulk density is around 0.5 g/mL (because it's a powder, the actual density of 1.12 g/mL is not useful)", "weight": "1 g" }, @@ -1843,11 +1831,10 @@ "color": "white", "container": "bottle_glass", "flags": [ "EDIBLE_FROZEN" ], - "charges": 50, "description": "A manufactured form of citric acid that is commonly used as an additive in food, cleaning agents, and nutritional supplements.", "comestible_type": "INVALID", "material": [ "powder" ], - "volume": "100 ml", + "volume": "2 ml", "//": "Bulk density is around 0.5 g/mL (because it's a powder, the actual density of 1.12 g/mL is not useful)", "weight": "1 g" }, diff --git a/data/json/items/classes/comestible.json b/data/json/items/classes/comestible.json index ee7e3eed75a35..351d00dff1325 100644 --- a/data/json/items/classes/comestible.json +++ b/data/json/items/classes/comestible.json @@ -7,12 +7,11 @@ "//": "Spices are inedible in their base form but useful in crafting", "flags": [ "NUTRIENT_OVERRIDE" ], "weight": "3500 mg", - "volume": "500 ml", + "volume": "5 ml", "price": 250, "container": "bag_plastic", "material": [ "powder" ], "symbol": "%", - "charges": 100, "freezing_point": -274 } ] diff --git a/data/json/items/comestibles/alcohol.json b/data/json/items/comestibles/alcohol.json index 52c13dd536624..cbb24a413c5ab 100644 --- a/data/json/items/comestibles/alcohol.json +++ b/data/json/items/comestibles/alcohol.json @@ -1690,9 +1690,7 @@ "price_postapoc": 300, "material": [ "junk", "honey" ], "primary_material": "alcohol", - "volume": "250 ml", - "charges": 2, - "stack_size": 20, + "volume": "12 ml", "fun": -1, "vitamins": [ [ "vitC", 2 ], [ "iron", 4 ] ] }, diff --git a/data/json/items/comestibles/baked.json b/data/json/items/comestibles/baked.json index a0d00516dce4e..1c4e7c4ad372a 100644 --- a/data/json/items/comestibles/baked.json +++ b/data/json/items/comestibles/baked.json @@ -14,8 +14,7 @@ "price": 50, "price_postapoc": 5, "material": [ "fruit" ], - "volume": "35 ml", - "stack_size": 24, + "volume": "1 ml", "fun": 3, "vitamins": [ [ "vitC", 3 ], [ "calcium", 2 ] ] }, @@ -33,8 +32,7 @@ "price": 50, "price_postapoc": 5, "material": [ "nut" ], - "volume": "35 ml", - "stack_size": 24, + "volume": "1 ml", "fun": 3, "vitamins": [ [ "vitC", 2 ], [ "calcium", 3 ] ] }, @@ -52,8 +50,7 @@ "price": 350, "price_postapoc": 175, "material": [ "bread", "nut" ], - "volume": "400 ml", - "stack_size": 4, + "volume": "100 ml", "fun": 4, "quench": -1 } diff --git a/data/json/items/comestibles/bread.json b/data/json/items/comestibles/bread.json index f83639184e857..1c265d7cca04c 100644 --- a/data/json/items/comestibles/bread.json +++ b/data/json/items/comestibles/bread.json @@ -13,8 +13,7 @@ "description": "These balls of dough have been cut into shape, covered with sugar, and cooked to a crisp. A staple of fairgrounds everywhere.", "price": 100, "price_postapoc": 50, - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "flags": [ "EATEN_HOT" ], "looks_like": "bread", "fun": 4 @@ -105,8 +104,7 @@ "price_postapoc": 100, "material": [ "wheat" ], "looks_like": "bread", - "volume": "150 ml", - "charges": 2, + "volume": "75 ml", "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], "fun": 2 }, @@ -125,8 +123,7 @@ "price": 23, "price_postapoc": 100, "material": [ "wheat" ], - "volume": "84 ml", - "charges": 2, + "volume": "42 ml", "flags": [ "EATEN_HOT", "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 5 ], [ "iron", 12 ] ] }, @@ -145,8 +142,7 @@ "price": 23, "price_postapoc": 100, "material": [ "veggy" ], - "volume": "84 ml", - "charges": 2, + "volume": "42 ml", "flags": [ "EATEN_HOT", "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 5 ], [ "iron", 12 ] ] }, @@ -165,8 +161,7 @@ "price": 23, "price_postapoc": 100, "material": [ "wheat" ], - "volume": "250 ml", - "charges": 6, + "volume": "41 ml", "flags": [ "EATEN_HOT", "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 5 ], [ "iron", 12 ] ] }, @@ -177,8 +172,7 @@ "description": "A humble piece of bread, one of the single most important staple foods of human civilization since the dawn of agriculture.", "material": [ "wheat" ], "weight": "58 g", - "volume": "400 ml", - "charges": 2, + "volume": "200 ml", "price": 47, "price_postapoc": 100, "symbol": "%", @@ -199,8 +193,7 @@ "material": [ "veggy" ], "looks_like": "bread", "weight": "56 g", - "volume": "400 ml", - "charges": 2, + "volume": "200 ml", "price": 47, "price_postapoc": 100, "symbol": "%", @@ -230,8 +223,7 @@ "price": 90, "price_postapoc": 100, "material": [ "wheat" ], - "volume": "250 ml", - "charges": 14, + "volume": "17 ml", "flags": [ "EATEN_HOT" ], "fun": 3, "vitamins": [ [ "calcium", 2 ], [ "iron", 14 ] ] @@ -370,8 +362,7 @@ "price_postapoc": 100, "material": [ "veggy" ], "primary_material": "veggy", - "volume": "84 ml", - "charges": 2, + "volume": "42 ml", "flags": [ "EATEN_HOT" ], "fun": 2, "vitamins": [ [ "calcium", 8 ], [ "iron", 6 ] ] @@ -391,8 +382,7 @@ "price_postapoc": 300, "material": [ "wheat", "junk" ], "primary_material": "wheat", - "volume": "250 ml", - "charges": 6, + "volume": "41 ml", "flags": [ "EATEN_HOT" ], "fun": 2, "vitamins": [ [ "calcium", 4 ], [ "iron", 7 ] ] @@ -413,8 +403,7 @@ "price_postapoc": 50, "material": [ "veggy" ], "primary_material": "veggy", - "volume": "250 ml", - "charges": 12, + "volume": "20 ml", "flags": [ "EATEN_HOT", "EDIBLE_FROZEN" ], "fun": 1, "vitamins": [ [ "calcium", 1 ], [ "iron", 1 ] ] @@ -435,8 +424,7 @@ "price_postapoc": 50, "material": [ "wheat" ], "primary_material": "wheat", - "volume": "250 ml", - "charges": 12, + "volume": "20 ml", "flags": [ "EATEN_HOT", "EDIBLE_FROZEN" ], "fun": 1, "vitamins": [ [ "calcium", 1 ], [ "iron", 1 ] ] @@ -456,11 +444,9 @@ "price": 125, "price_postapoc": 150, "material": [ "wheat" ], - "volume": "250 ml", - "charges": 2, + "volume": "12 ml", "flags": [ "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 2 ], [ "iron", 15 ] ], - "stack_size": 20, "fun": -4 }, { @@ -477,11 +463,9 @@ "price": 125, "price_postapoc": 150, "material": [ "wheat" ], - "volume": "250 ml", - "charges": 2, + "volume": "12 ml", "flags": [ "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 2 ], [ "iron", 15 ] ], - "stack_size": 20, "fun": -1 }, { @@ -499,8 +483,7 @@ "price": 57, "price_postapoc": 250, "material": [ "wheat" ], - "volume": "250 ml", - "charges": 10, + "volume": "25 ml", "flags": [ "EATEN_HOT", "EDIBLE_FROZEN" ], "fun": 3, "vitamins": [ [ "calcium", 11 ], [ "iron", 9 ] ] @@ -521,9 +504,7 @@ "price_postapoc": 50, "material": [ "junk", "wheat" ], "primary_material": "wheat", - "volume": "250 ml", - "charges": 2, - "stack_size": 20, + "volume": "12 ml", "flags": [ "EATEN_HOT" ], "fun": -1, "vitamins": [ [ "calcium", 12 ] ], @@ -544,8 +525,7 @@ "price": "272 cent", "price_postapoc": "2 USD", "material": [ "wheat" ], - "volume": "96 ml", - "charges": 2, + "volume": "48 ml", "flags": [ "EATEN_HOT", "EATEN_COLD" ], "fun": 3, "vitamins": [ [ "calcium", 4 ], [ "iron", 4 ] ] @@ -565,8 +545,7 @@ "price": "272 cent", "price_postapoc": "2 USD", "material": [ "veggy" ], - "volume": "96 ml", - "charges": 2, + "volume": "48 ml", "flags": [ "EATEN_HOT", "EATEN_COLD" ], "fun": 3, "vitamins": [ [ "calcium", 4 ], [ "iron", 4 ] ] @@ -586,8 +565,7 @@ "price": "272 cent", "price_postapoc": "4 USD", "material": [ "wheat" ], - "volume": "3 ml", - "charges": 2, + "volume": "1 ml", "flags": [ "EATEN_HOT", "EATEN_COLD" ], "fun": 4, "vitamins": [ [ "calcium", 2 ], [ "iron", 6 ] ] diff --git a/data/json/items/comestibles/carnivore.json b/data/json/items/comestibles/carnivore.json index b9d3081371693..6950f697ea4f1 100644 --- a/data/json/items/comestibles/carnivore.json +++ b/data/json/items/comestibles/carnivore.json @@ -492,8 +492,7 @@ "symbol": "¨", "name": { "str_sp": "butchery refuse" }, "category": "other", - "charges": 15, - "volume": "2500 ml", + "volume": "166 ml", "weight": "250 g", "color": "black", "looks_like": "feces_manure", @@ -734,9 +733,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "pickled offal" }, "description": "A mass of entrails and organ meat, preserved in brine. Packed with essential vitamins, and although it looks like a lab specimen, it actually tastes pretty palatable.", - "volume": "500 ml", + "volume": "250 ml", "price_postapoc": 300, - "stack_size": 2, "parasites": 0, "container": "jar_glass_sealed", "spoils_in": "1 day 12 hours", @@ -750,9 +748,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "canned offal" }, "description": "Cooked organ meat and entrails, preserved by canning. Unappetizing, but filled with essential vitamins.", - "volume": "500 ml", + "volume": "250 ml", "price_postapoc": 300, - "stack_size": 2, "parasites": 0, "container": "can_medium", "fun": -2, @@ -906,9 +903,8 @@ "name": { "str": "piece of raw lung", "str_pl": "pieces of raw lung" }, "description": "A portion of lung from an animal. It's spongy and pink, and spoils very quickly. It can be a delicacy if properly prepared - but if improperly prepared, it's a chewy lump of flavorless connective tissue.", "weight": "56 g", - "volume": "250 ml", + "volume": "62 ml", "color": "pink", - "charges": 4, "spoils_in": "1 day", "price_postapoc": 25, "quench": 2, @@ -1334,7 +1330,6 @@ "material": [ "flesh" ], "volume": "250 ml", "parasites": 32, - "stack_size": 1, "fun": -20 }, { @@ -1353,9 +1348,7 @@ "price_postapoc": 800, "//": "*May* have been commercially traded.", "material": [ "flesh" ], - "volume": "250 ml", - "charges": 2, - "stack_size": 4, + "volume": "62 ml", "vitamins": [ ], "fun": -18 }, @@ -1546,9 +1539,7 @@ "price_postapoc": 50, "//": "Not for use in edible/foodsafe recipes. Inefficiency is handled by tainted tallow recipe requiring 200% as much materials input as regular tallow recipe.", "material": [ "flesh" ], - "volume": "250 ml", - "charges": 2, - "stack_size": 4, + "volume": "62 ml", "fun": -18 }, { @@ -1612,7 +1603,6 @@ "price_postapoc": 20, "material": [ "flesh" ], "flags": [ "TRADER_AVOID" ], - "stack_size": 1, "fun": -12 }, { @@ -1661,7 +1651,6 @@ "price_postapoc": 100, "material": [ "fur", "flesh" ], "flags": [ "NO_SALVAGE", "TRADER_AVOID" ], - "stack_size": 1, "fun": -24 }, { diff --git a/data/json/items/comestibles/cereal.json b/data/json/items/comestibles/cereal.json index 38e3955442733..20ab9c4b33fe0 100644 --- a/data/json/items/comestibles/cereal.json +++ b/data/json/items/comestibles/cereal.json @@ -30,7 +30,6 @@ "healthy": -1, "description": "A generic box of Foodplace brand sugary cereal, you shouldn't see this.", "price_postapoc": 400, - "charges": 6, "material": [ "foodplace_foodstuff" ], "looks_like": "cereal", "vitamins": [ [ "vitC", 2 ], [ "calcium", 2 ], [ "iron", 16 ] ], @@ -39,7 +38,8 @@ "addiction_type": "caffeine", "fatigue_mod": 25, "stim": 10, - "copy-from": "cereal_tpl" + "copy-from": "cereal_tpl", + "volume": "41 ml" }, { "type": "COMESTIBLE", @@ -47,8 +47,8 @@ "name": { "str_sp": "Snicker-Snacks cereal" }, "description": "Foodplace brand Snicker-Snack cereal. Each tiny \"Snicker-Snack\" is shaped like human food!", "material": [ "foodplace_foodstuff" ], - "charges": 6, - "copy-from": "cereal_tpl" + "copy-from": "cereal_tpl", + "volume": "41 ml" }, { "type": "COMESTIBLE", @@ -56,11 +56,11 @@ "name": { "str_sp": "Carpenter Crunch cereal" }, "description": "This is Foodplace brand \"Carpenter Crunch\" cereal with the iconic \"Breakfast Beaver\" mascot on the box. It tastes kind of like nails.", "material": [ "foodplace_foodstuff" ], - "charges": 6, "vitamins": [ [ "vitC", 2 ], [ "calcium", 2 ], [ "iron", 50 ] ], "fun": -1, "spoils_in": "540 days", - "copy-from": "cereal_tpl" + "copy-from": "cereal_tpl", + "volume": "41 ml" }, { "type": "COMESTIBLE", @@ -68,8 +68,8 @@ "name": { "str_sp": "Brantastic cereal" }, "description": "Foodplace brand \"Brantastic\" cereal. An essential part of a complete Bran breakfast.", "material": [ "foodplace_foodstuff" ], - "charges": 6, - "copy-from": "cereal_tpl" + "copy-from": "cereal_tpl", + "volume": "41 ml" }, { "type": "COMESTIBLE", @@ -102,8 +102,8 @@ "name": { "str_sp": "Foodios cereal" }, "description": "Foodplace brand \"Foodios\" cereal. Foodios™ are Foodalicious™!", "material": [ "foodplace_foodstuff" ], - "charges": 6, - "copy-from": "cereal_tpl" + "copy-from": "cereal_tpl", + "volume": "41 ml" }, { "type": "COMESTIBLE", @@ -120,9 +120,8 @@ "description": "Sugary breakfast cereal with marshmallows. It takes you back to your childhood.", "price": 400, "price_postapoc": 100, - "charges": 4, "material": [ "junk" ], - "volume": "250 ml", + "volume": "62 ml", "vitamins": [ [ "vitC", 17 ], [ "calcium", 13 ], [ "iron", 48 ] ], "fun": 10 }, @@ -131,11 +130,10 @@ "id": "cereal2", "name": { "str_sp": "wheat cereal" }, "weight": "52 g", - "volume": "250 ml", + "volume": "62 ml", "calories": 180, "description": "Whole-grain wheat cereal. It's surprisingly good, and allegedly good for your heart.", "price_postapoc": 600, - "charges": 4, "flags": [ "EDIBLE_FROZEN" ], "vitamins": [ [ "vitC", 2 ], [ "calcium", 2 ], [ "iron", 9 ] ], "copy-from": "cereal_tpl" @@ -155,9 +153,8 @@ "description": "Plain cornflake cereal. They're not that good, but it beats nothing.", "price": 300, "price_postapoc": 75, - "charges": 4, "material": [ "junk" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], "vitamins": [ [ "iron", 42 ] ], "fun": 6 diff --git a/data/json/items/comestibles/dairy.json b/data/json/items/comestibles/dairy.json index dcbe34e1b1deb..fda7500ff7aad 100644 --- a/data/json/items/comestibles/dairy.json +++ b/data/json/items/comestibles/dairy.json @@ -129,8 +129,7 @@ "price": 300, "price_postapoc": 750, "material": [ "milk" ], - "volume": "500 ml", - "charges": 32, + "volume": "15 ml", "flags": [ "NO_AUTO_CONSUME" ], "fun": -1 }, @@ -147,8 +146,8 @@ "description": "A white stick of raw milkfat and milk solids, made directly from cow's milk.", "price": 200, "price_postapoc": 500, - "charges": 33, - "vitamins": [ [ "calcium", 3 ] ] + "vitamins": [ [ "calcium", 3 ] ], + "volume": "15 ml" }, { "type": "COMESTIBLE", @@ -243,8 +242,7 @@ "price_postapoc": 400, "material": [ "milk" ], "primary_material": "cheese", - "volume": "250 ml", - "charges": 8, + "volume": "31 ml", "fun": 7, "vitamins": [ [ "calcium", 16 ] ] }, @@ -327,8 +325,7 @@ "price_postapoc": 400, "material": [ "milk" ], "primary_material": "cheese", - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "fun": 5, "vitamins": [ [ "calcium", 13 ], [ "iron", 3 ] ] }, @@ -348,9 +345,8 @@ "price_postapoc": 400, "material": [ "powder", "milk" ], "primary_material": "powder", - "volume": "100 ml", + "volume": "25 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "vitamins": [ [ "calcium", 16 ] ], "fun": -1, "freezing_point": -459 @@ -371,8 +367,7 @@ "price": 500, "price_postapoc": 400, "material": [ "milk" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "vitamins": [ [ "calcium", 16 ] ], "fun": 4 }, @@ -392,9 +387,8 @@ "price_postapoc": 300, "material": [ "milk" ], "primary_material": "cheese", - "volume": "250 ml", + "volume": "125 ml", "flags": [ "EATEN_HOT" ], - "charges": 2, "fun": 6, "vitamins": [ [ "calcium", 19 ], [ "iron", 5 ] ] }, @@ -414,10 +408,9 @@ "price_postapoc": 200, "material": [ "powder", "milk" ], "primary_material": "powder", - "volume": "250 ml", + "volume": "62 ml", "cooks_like": "milk", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "vitamins": [ [ "vitC", 1 ], [ "calcium", 7 ] ], "fun": -5, "freezing_point": -459 @@ -540,9 +533,8 @@ "price_postapoc": 250, "material": [ "milk" ], "primary_material": "cheese", - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "fun": 2, "vitamins": [ [ "calcium", 19 ], [ "iron", 5 ] ] } diff --git a/data/json/items/comestibles/drink_other.json b/data/json/items/comestibles/drink_other.json index c0ddc879f85c0..9ef7817857b53 100644 --- a/data/json/items/comestibles/drink_other.json +++ b/data/json/items/comestibles/drink_other.json @@ -360,9 +360,8 @@ "price_postapoc": 100, "material": [ "tomato", "veggy" ], "primary_material": "tomato", - "volume": "1000 ml", + "volume": "250 ml", "flags": [ "FREEZERBURN" ], - "charges": 4, "fun": 2 }, { diff --git a/data/json/items/comestibles/egg.json b/data/json/items/comestibles/egg.json index fec3e01205df0..9252e21336b54 100644 --- a/data/json/items/comestibles/egg.json +++ b/data/json/items/comestibles/egg.json @@ -15,7 +15,6 @@ "price_postapoc": 50, "material": [ "egg" ], "volume": "50 ml", - "stack_size": 1, "fun": -8, "flags": [ "FREEZERBURN", "RAW" ], "rot_spawn": "GROUP_EGG_BIRD_WILD", @@ -158,8 +157,7 @@ "price": 250, "price_postapoc": 50, "material": [ "egg" ], - "volume": "250 ml", - "stack_size": 4, + "volume": "62 ml", "fun": -12, "flags": [ "RAW" ] }, @@ -172,7 +170,6 @@ "color": "white", "symbol": "o", "material": [ "egg" ], - "stack_size": 1, "volume": "250 ml", "weight": "275 g", "calories": 240, @@ -492,8 +489,7 @@ "price": 50, "price_postapoc": 100, "material": [ "egg" ], - "volume": "100 ml", - "stack_size": 4, + "volume": "25 ml", "fun": 1, "vitamins": [ [ "vitC", 1 ] ], "flags": [ "RAW" ] @@ -789,9 +785,8 @@ "price_postapoc": 750, "material": [ "powder", "egg" ], "primary_material": "powder", - "volume": "250 ml", + "volume": "15 ml", "flags": [ "EDIBLE_FROZEN", "NO_AUTO_CONSUME" ], - "charges": 16, "fun": -4, "freezing_point": -274 }, @@ -829,7 +824,6 @@ "price_postapoc": 100, "material": [ "egg" ], "volume": "125 ml", - "charges": 2, "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 3, "rot_spawn": "GROUP_NULL", @@ -1027,7 +1021,7 @@ "name": { "str_sp": "post apocalyptic 'caviar'" }, "description": "Fish eggs that have been cured in a salty brine. Can be vacuum sealed to preserve freshness. Technically caviar only came from a specific type of Sturgeon roe but the FDA allows all cured fish to be referred to as caviar.", "weight": "48 g", - "volume": "250ml", + "volume": "62 ml", "calories": 68, "price": 500, "price_postapoc": 250, diff --git a/data/json/items/comestibles/fruit_dishes.json b/data/json/items/comestibles/fruit_dishes.json index d9b85fadfad04..07975c839aa6a 100644 --- a/data/json/items/comestibles/fruit_dishes.json +++ b/data/json/items/comestibles/fruit_dishes.json @@ -69,9 +69,8 @@ "price_postapoc": 250, "material": [ "fruit" ], "primary_material": "dried_vegetable", - "volume": "250 ml", + "volume": "50 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 5, "vitamins": [ [ "vitC", 21 ], [ "calcium", 2 ], [ "iron", 4 ] ], "fun": 3 }, @@ -131,9 +130,8 @@ "price": 86, "price_postapoc": 150, "material": [ "fruit" ], - "volume": "500 ml", + "volume": "250 ml", "fun": 7, - "charges": 2, "vitamins": [ [ "vitC", 21 ], [ "calcium", 2 ], [ "iron", 5 ] ] }, { @@ -152,9 +150,8 @@ "price_postapoc": 10, "material": [ "powder", "fruit" ], "primary_material": "powder", - "volume": "250 ml", + "volume": "25 ml", "flags": [ "EDIBLE_FROZEN", "SOFT" ], - "charges": 10, "vitamins": [ [ "vitC", 7 ] ], "fun": 1 }, @@ -427,8 +424,7 @@ "description": "Fruit slices soaked in a sugar syrup to preserve freshness and appearance.", "price": 450, "material": [ "fruit" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "fun": 3, "vitamins": [ [ "iron", 2 ] ] }, @@ -483,8 +479,7 @@ "price_postapoc": 50, "sealed": true, "material": [ "fruit" ], - "volume": "250 ml", - "stack_size": 2, + "volume": "125 ml", "fun": 1, "vitamins": [ [ "vitC", 3 ], [ "calcium", 2 ], [ "iron", 10 ] ] }, @@ -503,8 +498,7 @@ "price": 220, "price_postapoc": 50, "material": [ "fruit" ], - "volume": "250 ml", - "stack_size": 24, + "volume": "10 ml", "fun": 3, "vitamins": [ [ "vitC", 3 ], [ "calcium", 2 ] ] }, @@ -547,8 +541,7 @@ "price": 50, "price_postapoc": 100, "material": [ "fruit", "veggy" ], - "volume": "320 ml", - "charges": 4, + "volume": "80 ml", "flags": [ "USE_EAT_VERB", "NUTRIENT_OVERRIDE" ], "vitamins": [ [ "vitC", 2 ], [ "iron", 15 ] ] }, diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json index 8d895af4c0921..c9ccad1a0d48a 100644 --- a/data/json/items/comestibles/junkfood.json +++ b/data/json/items/comestibles/junkfood.json @@ -15,8 +15,7 @@ "price": 400, "price_postapoc": 1000, "material": [ "wheat", "junk" ], - "volume": "1 L", - "charges": 8, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "vitamins": [ [ "iron", 10 ] ], "fun": 20 @@ -61,8 +60,7 @@ "price": 400, "price_postapoc": 125, "material": [ "wheat", "junk" ], - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": -10, "vitamins": [ [ "iron", 10 ] ] @@ -109,8 +107,7 @@ "price": 100, "price_postapoc": 400, "material": [ "junk" ], - "volume": "1 L", - "charges": 8, + "volume": "125 ml", "flags": [ "EDIBLE_FROZEN" ], "fun": 6 }, @@ -147,9 +144,8 @@ "price": 185, "price_postapoc": 300, "material": [ "wheat", "junk" ], - "volume": "250 ml", + "volume": "83 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "vitamins": [ [ "iron", 16 ] ], "fun": 4 }, @@ -169,9 +165,8 @@ "price": 200, "price_postapoc": 350, "material": [ "wheat", "junk" ], - "volume": "300 ml", + "volume": "100 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 6 }, { @@ -189,8 +184,7 @@ "price": 130, "price_postapoc": 200, "material": [ "junk" ], - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "flags": [ "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 8 ], [ "iron", 8 ] ], "fun": 10 @@ -208,10 +202,9 @@ "calories": 168, "description": "A handful of squishy, fluffy, puffy, delicious marshmallows.", "price": 250, - "charges": 5, "price_postapoc": 100, "material": [ "junk" ], - "volume": "250 ml", + "volume": "50 ml", "flags": [ "EDIBLE_FROZEN" ], "fun": 10 }, @@ -252,9 +245,8 @@ "price": 180, "price_postapoc": 150, "material": [ "junk" ], - "volume": "90 ml", + "volume": "30 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 4 }, { @@ -273,9 +265,8 @@ "price": 180, "price_postapoc": 400, "material": [ "junk" ], - "volume": "90 ml", + "volume": "30 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "vitamins": [ [ "iron", 9 ] ], "fun": 3 }, @@ -295,9 +286,8 @@ "price": 180, "price_postapoc": 200, "material": [ "junk" ], - "volume": "90 ml", + "volume": "30 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 3 }, { @@ -316,9 +306,8 @@ "price": 180, "price_postapoc": 200, "material": [ "junk", "flesh" ], - "volume": "100 ml", + "volume": "33 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 5 }, { @@ -337,9 +326,8 @@ "price": 180, "price_postapoc": 200, "material": [ "junk", "veggy" ], - "volume": "90 ml", + "volume": "30 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 4 }, { @@ -364,7 +352,7 @@ "name": { "str": "licorice" }, "container": "bag_plastic", "symbol": "%", - "volume": "40 ml", + "volume": "10 ml", "weight": "78 g", "spoils_in": "230 days", "color": "red", @@ -374,7 +362,6 @@ "price": 340, "quench": -1, "calories": 135, - "charges": 4, "stim": 1, "fun": 7, "flags": [ "EDIBLE_FROZEN" ] @@ -395,9 +382,8 @@ "price": 120, "price_postapoc": 300, "material": [ "junk" ], - "volume": "250 ml", + "volume": "50 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 5, "fun": 6 }, { @@ -428,9 +414,8 @@ "price": 600, "price_postapoc": 50, "material": [ "junk" ], - "volume": "100 ml", + "volume": "50 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 2, "fun": 10 }, { @@ -449,9 +434,8 @@ "price": 110, "price_postapoc": 300, "material": [ "wheat", "junk" ], - "volume": "750 ml", + "volume": "93 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 8, "vitamins": [ [ "calcium", 4 ], [ "iron", 6 ] ], "fun": 2 }, @@ -478,10 +462,8 @@ "price": 195, "price_postapoc": 150, "material": [ "wheat", "junk" ], - "volume": "250 ml", - "charges": 4, + "volume": "12 ml", "flags": [ "EDIBLE_FROZEN" ], - "stack_size": 20, "vitamins": [ [ "calcium", 2 ], [ "iron", 6 ] ], "fun": 7 }, @@ -548,8 +530,7 @@ "price": 120, "price_postapoc": 200, "material": [ "wheat", "junk" ], - "volume": "2 L", - "charges": 12, + "volume": "166 ml", "vitamins": [ [ "calcium", 3 ], [ "iron", 6 ] ], "fun": 15 }, @@ -593,9 +574,7 @@ "price": 300, "price_postapoc": 300, "material": [ "veggy", "junk" ], - "volume": "250 ml", - "charges": 5, - "stack_size": 30, + "volume": "8 ml", "fun": 2, "flags": [ "EDIBLE_FROZEN", "NO_AUTO_CONSUME" ] }, @@ -646,9 +625,8 @@ "price": 130, "price_postapoc": 150, "material": [ "junk" ], - "volume": "250 ml", + "volume": "83 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 4 }, { @@ -668,8 +646,7 @@ "price": 100, "price_postapoc": 100, "material": [ "junk" ], - "volume": "40 ml", - "charges": 3, + "volume": "13 ml", "flags": [ "EDIBLE_FROZEN" ], "fun": 4 }, @@ -690,9 +667,8 @@ "price": 130, "price_postapoc": 100, "material": [ "junk" ], - "volume": "90 ml", + "volume": "30 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "fun": 4 }, { @@ -711,8 +687,7 @@ "price": 150, "price_postapoc": 500, "material": [ "junk" ], - "volume": "150 ml", - "charges": 5, + "volume": "30 ml", "vitamins": [ [ "calcium", 9 ] ], "fun": 2 }, @@ -751,9 +726,8 @@ "price": 180, "price_postapoc": 200, "material": [ "junk" ], - "volume": "250 ml", + "volume": "83 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "vitamins": [ [ "vitC", 7 ], [ "calcium", 1 ], [ "iron", 2 ] ], "fun": 6 }, @@ -773,8 +747,7 @@ "price": 170, "price_postapoc": 150, "material": [ "junk" ], - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "flags": [ "EDIBLE_FROZEN" ], "vitamins": [ [ "calcium", 5 ], [ "iron", 3 ] ], "fun": 8 @@ -874,7 +847,7 @@ "price_postapoc": 600, "container": "bag_plastic", "material": [ "junk", "veggy" ], - "volume": "750 ml", + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 16, "vitamins": [ [ "calcium", 8 ], [ "iron", 17 ] ] @@ -895,7 +868,7 @@ "price_postapoc": 500, "material": [ "veggy", "milk", "junk" ], "primary_material": "processed_food", - "volume": "500 ml", + "volume": "166 ml", "flags": [ "EATEN_HOT" ], "fun": 20, "vitamins": [ [ "calcium", 13 ], [ "iron", 17 ] ] @@ -916,9 +889,8 @@ "price": 220, "price_postapoc": 200, "material": [ "flesh", "junk" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "vitamins": [ [ "calcium", 8 ], [ "iron", 4 ] ], "fun": 4 }, @@ -962,8 +934,7 @@ "price_postapoc": 300, "material": [ "flesh", "junk" ], "primary_material": "processed_food", - "volume": "1 L", - "charges": 2, + "volume": "500 ml", "fun": -3 }, { @@ -983,8 +954,7 @@ "price_postapoc": 300, "material": [ "flesh", "junk" ], "primary_material": "processed_food", - "volume": "1 L", - "charges": 2, + "volume": "500 ml", "flags": [ "EATEN_HOT" ], "fun": 2 }, @@ -1004,8 +974,7 @@ "price": 550, "price_postapoc": 200, "material": [ "flesh", "junk" ], - "volume": "1 L", - "charges": 4, + "volume": "250 ml", "fun": 12, "vitamins": [ [ "iron", 4 ] ] }, @@ -1025,8 +994,7 @@ "price": 900, "price_postapoc": 150, "material": [ "flesh", "junk", "wheat" ], - "volume": "400 ml", - "charges": 2, + "volume": "200 ml", "flags": [ "EATEN_HOT" ], "fun": 15, "vitamins": [ [ "vitC", 46 ], [ "calcium", 14 ], [ "iron", 21 ] ] @@ -1047,8 +1015,7 @@ "price": 900, "price_postapoc": 150, "material": [ "flesh", "junk", "veggy" ], - "volume": "400 ml", - "charges": 2, + "volume": "200 ml", "flags": [ "EATEN_HOT" ], "fun": 15, "vitamins": [ [ "vitC", 46 ], [ "calcium", 14 ], [ "iron", 21 ] ] @@ -1068,8 +1035,7 @@ "price": 900, "price_postapoc": 150, "material": [ "flesh", "junk" ], - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": -18, "vitamins": [ [ "calcium", 6 ], [ "iron", 8 ] ] @@ -1091,10 +1057,10 @@ "name": { "str": "homemade corn dog" }, "copy-from": "corndogs_frozen", "spoils_in": "1 day", - "charges": 1, "description": "A homemade sausage, dipped in batter and deep fried.", "fun": 18, - "calories": 250 + "calories": 250, + "volume": "250 ml" }, { "type": "COMESTIBLE", @@ -1147,8 +1113,7 @@ "price_postapoc": 300, "material": [ "milk", "junk" ], "primary_material": "cheese", - "volume": "250 ml", - "charges": 8, + "volume": "31 ml", "flags": [ "EATEN_HOT" ], "fun": 6, "vitamins": [ [ "calcium", 15 ] ] @@ -1212,8 +1177,7 @@ "price": 800, "price_postapoc": 450, "material": [ "flesh", "junk" ], - "volume": "750 ml", - "charges": 10, + "volume": "75 ml", "flags": [ "EATEN_HOT" ], "fun": -6, "vitamins": [ [ "iron", 3 ] ] @@ -1224,8 +1188,8 @@ "name": { "str": "campfire hot dog" }, "copy-from": "hotdogs_frozen", "description": "A simple hot dog, cooked over an open fire. Would be better on a bun, but it's quite an improvement over eating it uncooked.", - "stack_size": 4, - "fun": 5 + "fun": 5, + "volume": "187 ml" }, { "type": "COMESTIBLE", @@ -1315,9 +1279,8 @@ "price_postapoc": 300, "material": [ "junk", "milk" ], "primary_material": "processed_food", - "volume": "200 ml", + "volume": "50 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "vitamins": [ [ "calcium", 4 ] ], "fun": 6 }, @@ -1338,8 +1301,7 @@ "//": "Based on a New England candy called Boston Baked Beans", "price": 150, "price_postapoc": 600, - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "material": [ "junk", "nut" ], "flags": [ "EDIBLE_FROZEN" ], "fun": 6, diff --git a/data/json/items/comestibles/meat_dishes.json b/data/json/items/comestibles/meat_dishes.json index 133cbf5e8a7b8..632499697d547 100644 --- a/data/json/items/comestibles/meat_dishes.json +++ b/data/json/items/comestibles/meat_dishes.json @@ -126,10 +126,9 @@ "calories": 385, "description": "A type of German sausage made of pre-cooked meat and blood. Better eat it hot and fresh.", "price": 1800, - "volume": "1500 ml", + "volume": "150 ml", "//": "volume and weight for a roughly 25cm length, 2.5cm diameter link, estimated", "material": [ "flesh" ], - "charges": 10, "flags": [ "EATEN_HOT" ], "fun": 2 }, @@ -152,10 +151,9 @@ "calories": 297, "description": "A type of German sausage made of finely-chopped meat, meant to be pan-fried or roasted. Better eat it hot and fresh.", "price": 1800, - "volume": "1500 ml", + "volume": "150 ml", "//": "volume and weight for a roughly 25cm length, 2.5cm diameter link, estimated", "material": [ "flesh" ], - "charges": 10, "flags": [ "EATEN_HOT" ], "fun": 5 }, @@ -191,11 +189,10 @@ "calories": 398, "description": "A thick slab of salty cured bacon. Shelf stable, precooked and ready-to-eat, it tastes better when reheated.", "price": 1900, - "volume": "100 ml", + "volume": "50 ml", "//": "I am not sure how much a 'charge' is meant to be, but a slice is around 10mL displacement volume, with a weight of 8g and about 40kcal. Based this on that.", "price_postapoc": 500, "material": [ "flesh" ], - "charges": 2, "flags": [ "EATEN_HOT", "SMOKED" ], "vitamins": [ [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 6 ] ], "fun": 5 @@ -234,10 +231,9 @@ "calories": 270, "description": "Also known as pork rinds or chicharrones, these are bits of edible fat and skin that have been fried until they are crispy and delicious.", "price": 170, - "volume": "100 ml", + "volume": "25 ml", "price_postapoc": 500, "material": [ "flesh" ], - "charges": 4, "flags": [ "EATEN_HOT" ], "vitamins": [ [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 3 ] ], "fun": 4 @@ -290,8 +286,7 @@ "price_postapoc": 1000, "material": [ "flesh", "veggy" ], "primary_material": "flesh", - "volume": "750 ml", - "charges": 3, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 18, "vitamins": [ [ "vitC", 17 ], [ "calcium", 8 ], [ "iron", 32 ] ] @@ -312,8 +307,7 @@ "price_postapoc": 1500, "material": [ "flesh", "veggy" ], "primary_material": "flesh", - "volume": "750 ml", - "charges": 3, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 18, "vitamins": [ [ "vitC", 17 ], [ "calcium", 8 ], [ "iron", 32 ] ] @@ -339,8 +333,7 @@ "price": 900, "price_postapoc": 350, "material": [ "flesh" ], - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": 10, "vitamins": [ [ "calcium", 20 ], [ "iron", 10 ] ] @@ -541,10 +534,9 @@ "weight": "150 g", "calories": 115, "description": "Quahog clams stuffed with bread crumbs and fried.", - "volume": "175 ml", + "volume": "35 ml", "looks_like": "fish_fried", "fun": 13, - "charges": 5, "vitamins": [ [ "calcium", 2 ], [ "iron", 5 ] ] }, { @@ -588,8 +580,7 @@ "price": 1000, "price_postapoc": 250, "material": [ "flesh" ], - "volume": "750 ml", - "charges": 10, + "volume": "75 ml", "vitamins": [ [ "vitC", 0 ], [ "calcium", 6 ], [ "iron", 5 ] ] }, { @@ -631,8 +622,7 @@ "price": 400, "price_postapoc": 300, "material": [ "flesh" ], - "volume": "500 ml", - "charges": 6, + "volume": "83 ml", "flags": [ "EATEN_HOT" ], "fun": -8, "vitamins": [ [ "iron", 3 ] ] @@ -813,9 +803,8 @@ "price": 250, "price_postapoc": 200, "material": [ "flesh", "wheat" ], - "volume": "500 ml", + "volume": "250 ml", "flags": [ "EATEN_HOT" ], - "charges": 2, "vitamins": [ [ "calcium", 5 ], [ "iron", 27 ] ] }, { @@ -846,10 +835,9 @@ "price": 290, "price_postapoc": 500, "material": [ "flesh", "veggy", "bean", "tomato" ], - "volume": "500 ml", + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 5, - "charges": 2, "vitamins": [ [ "vitC", 7 ], [ "calcium", 7 ], [ "iron", 27 ] ] }, { @@ -868,8 +856,7 @@ "price": 200, "price_postapoc": 300, "material": [ "flesh", "bean" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 5, "vitamins": [ [ "vitC", 0 ], [ "calcium", 14 ], [ "iron", 32 ] ] @@ -927,8 +914,7 @@ "price": 400, "price_postapoc": 600, "material": [ "flesh" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "fun": 1, "vitamins": [ [ "calcium", 3 ], [ "iron", 18 ] ] }, @@ -947,9 +933,8 @@ "price": 310, "price_postapoc": 700, "material": [ "flesh" ], - "volume": "500 ml", + "volume": "250 ml", "fun": 3, - "charges": 2, "vitamins": [ [ "calcium", 34 ], [ "iron", 34 ] ] }, { @@ -992,8 +977,7 @@ "price": 400, "price_postapoc": 400, "material": [ "flesh", "milk" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 6, "vitamins": [ [ "vitC", 14 ], [ "calcium", 7 ], [ "iron", 16 ] ] @@ -1013,8 +997,7 @@ "price": 700, "price_postapoc": 400, "material": [ "bean", "flesh" ], - "volume": "1 L", - "charges": 2, + "volume": "500 ml", "//": "One beans + one protein = 2 servings", "flags": [ "EATEN_HOT" ], "fun": 4, @@ -1035,8 +1018,7 @@ "price": 700, "price_postapoc": 400, "material": [ "veggy", "flesh" ], - "volume": "1 L", - "charges": 2, + "volume": "500 ml", "//": "One rice + one protein/veg = 2 servings", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 5, @@ -1057,8 +1039,7 @@ "price": 750, "price_postapoc": 400, "material": [ "veggy", "bean", "flesh" ], - "volume": "375 ml", - "charges": 2, + "volume": "187 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, "vitamins": [ [ "vitC", 5 ], [ "calcium", 4 ], [ "iron", 10 ] ] @@ -1084,8 +1065,7 @@ "price": 1350, "price_postapoc": 2000, "material": [ "wheat", "flesh" ], - "volume": "2 L", - "charges": 8, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 3, "vitamins": [ [ "calcium", 2 ], [ "iron", 14 ] ] @@ -1110,8 +1090,7 @@ "price": 1090, "price_postapoc": 1000, "material": [ "wheat", "flesh" ], - "volume": "1 L", - "charges": 4, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 10, "vitamins": [ [ "vitC", 0 ], [ "calcium", 44 ], [ "iron", 36 ] ] @@ -1150,8 +1129,7 @@ "price": 700, "price_postapoc": 450, "material": [ "egg", "flesh" ], - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, "vitamins": [ [ "vitC", 2 ], [ "calcium", 4 ], [ "iron", 39 ] ] @@ -1217,8 +1195,7 @@ "price": 1000, "price_postapoc": 1200, "material": [ "wheat", "flesh" ], - "volume": "1750 ml", - "charges": 8, + "volume": "218 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, "vitamins": [ [ "vitC", 5 ], [ "calcium", 3 ], [ "iron", 9 ] ] @@ -1244,8 +1221,7 @@ "price_postapoc": 300, "material": [ "flesh", "wheat", "milk" ], "primary_material": "processed_food", - "volume": "2 L", - "charges": 8, + "volume": "250 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 15, "vitamins": [ [ "vitC", 6 ], [ "calcium", 22 ], [ "iron", 17 ] ] @@ -1604,8 +1580,7 @@ "price": 350, "price_postapoc": 300, "material": [ "veggy", "flesh" ], - "volume": "750 ml", - "charges": 3, + "volume": "250 ml", "fun": 14, "vitamins": [ [ "vitC", 23 ], [ "calcium", 3 ], [ "iron", 3 ] ] }, @@ -1624,8 +1599,7 @@ "price": 370, "price_postapoc": 300, "material": [ "veggy", "flesh" ], - "volume": "1 L", - "charges": 2, + "volume": "500 ml", "fun": 13, "vitamins": [ [ "vitC", 36 ], [ "calcium", 4 ], [ "iron", 37 ] ] }, @@ -1677,8 +1651,7 @@ "price": 350, "price_postapoc": 400, "material": [ "flesh", "wheat" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 6, "vitamins": [ [ "vitC", 3 ], [ "calcium", 2 ], [ "iron", 15 ] ] @@ -1699,8 +1672,7 @@ "price": 700, "price_postapoc": 500, "material": [ "flesh", "veggy" ], - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "flags": [ "EATEN_HOT" ], "fun": 7, "vitamins": [ [ "vitC", 3 ], [ "calcium", 19 ], [ "iron", 12 ] ] @@ -1761,8 +1733,7 @@ "price": 750, "price_postapoc": 400, "material": [ "veggy", "bean", "flesh" ], - "volume": "220 ml", - "charges": 2, + "volume": "110 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, "vitamins": [ [ "vitC", 8 ], [ "calcium", 5 ], [ "iron", 11 ] ] @@ -1782,10 +1753,9 @@ "price": 750, "price_postapoc": 400, "material": [ "veggy", "flesh", "milk" ], - "volume": "120 ml", + "volume": "20 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, - "charges": 6, "vitamins": [ [ "vitC", 3 ], [ "calcium", 18 ], [ "iron", 6 ] ] }, { @@ -1802,10 +1772,9 @@ "price": 750, "price_postapoc": 400, "material": [ "bread", "flesh" ], - "volume": "1800 ml", + "volume": "300 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], - "fun": 4, - "charges": 6 + "fun": 4 }, { "type": "COMESTIBLE", @@ -1821,10 +1790,9 @@ "price": 750, "price_postapoc": 400, "material": [ "bread", "flesh" ], - "volume": "480 ml", + "volume": "120 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], - "fun": 4, - "charges": 4 + "fun": 4 }, { "type": "COMESTIBLE", @@ -1840,10 +1808,9 @@ "price": 750, "price_postapoc": 400, "material": [ "bread", "flesh" ], - "volume": "1800 ml", + "volume": "450 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], - "fun": 4, - "charges": 4 + "fun": 4 }, { "type": "COMESTIBLE", @@ -1859,10 +1826,9 @@ "price": 750, "price_postapoc": 400, "material": [ "bread", "flesh" ], - "volume": "1800 ml", + "volume": "300 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], - "fun": 4, - "charges": 6 + "fun": 4 }, { "type": "COMESTIBLE", @@ -1878,9 +1844,8 @@ "price": 750, "price_postapoc": 400, "material": [ "veggy", "flesh" ], - "volume": "960 ml", + "volume": "240 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], - "fun": 4, - "charges": 4 + "fun": 4 } ] diff --git a/data/json/items/comestibles/med.json b/data/json/items/comestibles/med.json index 41f09dcc57f98..5a25addde0279 100644 --- a/data/json/items/comestibles/med.json +++ b/data/json/items/comestibles/med.json @@ -6,11 +6,9 @@ "name": { "str": "melatonin tablet" }, "description": "An over-the-counter melatonin supplement, commonly prescribed to treat sleep deprivation and to mitigate its effects. One tablet a day combined with a good night's sleep will help you recover faster.", "weight": "1 g", - "volume": "250 ml", + "volume": "8 ml", "price": 400, "price_postapoc": 1000, - "charges": 10, - "stack_size": 30, "symbol": "!", "color": "yellow", "container": "bottle_plastic_pill_supplement", @@ -28,11 +26,9 @@ "name": { "str_sp": "prescription stimulant" }, "description": "Medical-grade amphetamine salts mixed with Dextroamphetamine salts, commonly prescribed to treat hyperactive attention deficits. It suppresses the appetite, and is quite addictive.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 14500, "price_postapoc": 1500, - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "light_red", "container": "bottle_plastic_pill_prescription", @@ -72,11 +68,9 @@ "name": { "str_sp": "antibiotics" }, "description": "Antibacterial medication designed to prevent or stop the spread of infection. It's the safest way to cure any infections you might have. One dose lasts twelve hours.", "weight": "611 mg", - "volume": "250 ml", + "volume": "1 ml", "price": 9000, "price_postapoc": 40000, - "charges": 15, - "stack_size": 200, "symbol": "!", "color": "white", "container": "bottle_plastic_pill_prescription", @@ -90,11 +84,9 @@ "name": { "str": "antifungal drug" }, "description": "A powerful chemical tablet designed to eliminate fungal infections in living creatures. One dose lasts four hours.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 1000, "price_postapoc": 20000, - "charges": 5, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -109,11 +101,9 @@ "name": { "str_sp": "antiparasitic drug" }, "description": "A broad-spectrum chemical tablet designed to eliminate parasitic infestations in living creatures. Though designed for use on pets and livestock, it will likely work on humans as well.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 3200, "price_postapoc": 20000, - "charges": 5, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -129,11 +119,9 @@ "name": { "str": "aspirin" }, "description": "Acetylsalicylic acid, a mild anti-inflammatory. Take to relieve pain and swelling.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 500, "price_postapoc": 5000, - "charges": 20, - "stack_size": 200, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -153,11 +141,9 @@ "name": { "str_sp": "antiseptic powder" }, "description": "A powdered form of chemical antiseptic, this bismuth formic iodide cleans wounds quickly and painlessly.", "weight": "6 g", - "volume": "250 ml", + "volume": "6 ml", "price": 900, "price_postapoc": 2000, - "charges": 4, - "stack_size": 40, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -174,11 +160,9 @@ "addiction_type": "caffeine", "category": "drugs", "weight": "3 g", - "volume": "250 ml", + "volume": "2 ml", "price": 140, "price_postapoc": 5000, - "charges": 10, - "stack_size": 100, "symbol": "*", "color": "white", "stim": 10, @@ -193,11 +177,9 @@ "name": { "str": "caffeine pill" }, "description": "A No-doz brand caffeine pill, maximum strength. Useful in pulling an all-nighter, one pill is equivalent to a strong cup of coffee.", "weight": "100 mg", - "volume": "250 ml", + "volume": "1 ml", "price": 1000, "price_postapoc": 1500, - "charges": 10, - "stack_size": 200, "material": [ "powder" ], "symbol": "!", "color": "cyan", @@ -216,11 +198,9 @@ "name": { "str": "chewing tobacco" }, "description": "Mint-flavored chewing tobacco. While absolutely terrible for your health, it was once a favorite amongst baseball players, cowboys, and other macho types.", "weight": "4 g", - "volume": "250 ml", + "volume": "4 ml", "price": 2000, "price_postapoc": 1500, - "charges": 20, - "stack_size": 60, "symbol": "*", "color": "green", "container": "wrapper", @@ -258,11 +238,9 @@ "name": { "str": "cigarette" }, "description": "A mixture of dried tobacco leaf, pesticides, and chemical additives, rolled into a filtered paper tube. Stimulates mental acuity and reduces appetite. Highly addictive and hazardous to health, but lung cancer is kind of the least of your concerns at this point.", "weight": "1 g", - "volume": "250 ml", + "volume": "4 ml", "price": 800, "price_postapoc": 1750, - "charges": 20, - "stack_size": 60, "symbol": "!", "color": "dark_gray", "container": "box_cigarette", @@ -281,10 +259,9 @@ "name": { "str": "cigar" }, "description": "Rolled, cured tobacco leaf, addictive and hazardous to health.\nA gentleman's vice, cigars set the civil man apart from the savage.", "weight": "9 g", - "volume": "250 ml", + "volume": "50 ml", "price": 1000, "price_postapoc": 2500, - "charges": 5, "symbol": "!", "color": "brown", "stim": 1, @@ -323,11 +300,9 @@ "name": { "str_sp": "codeine" }, "description": "A mild opiate used in the suppression of pain, cough, and other ailments. While relatively weak for a narcotic, it is still addictive, with a potential for overdose.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 1200, "price_postapoc": 3000, - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "cyan", "container": "bottle_plastic_pill_painkiller", @@ -349,11 +324,9 @@ "name": { "str_sp": "cocaine" }, "description": "Crystalline extract of the coca leaf, or at least, a white powder with some of that in it. A topical analgesic, it is more commonly used for its stimulatory properties. Highly addictive.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 10000, "price_postapoc": 5000, - "charges": 8, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -401,11 +374,9 @@ "name": { "str": "pair of contact lenses", "str_pl": "pairs of contact lenses" }, "description": "A pair of extended-wear contacts with soft lenses designed to be discarded after a week of use. They are a great replacement for wearing glasses and sit comfortably on the surface of the eye.", "weight": "1 g", - "volume": "250 ml", + "volume": "6 ml", "price": 2600, "price_postapoc": 9000, - "charges": 6, - "stack_size": 36, "material": [ "plastic" ], "symbol": "[", "color": "cyan", @@ -419,11 +390,9 @@ "name": { "str_sp": "crack" }, "description": "Deprotonated cocaine crystals, incredibly addictive and deleterious to brain chemistry.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 72000, "price_postapoc": 5000, - "charges": 4, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -499,11 +468,9 @@ "name": { "str_sp": "prescription sedative" }, "description": "A strong benzodiazepine drug used to treat muscle spasms, anxiety, seizures, and panic attacks.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 15000, "price_postapoc": 20000, - "charges": 10, - "stack_size": 100, "symbol": "!", "color": "white", "container": "bottle_plastic_pill_prescription", @@ -524,7 +491,6 @@ "looks_like": "honey_gold", "weight": "1 g", "volume": "1 ml", - "stack_size": 5, "price": 3000, "symbol": "!", "color": "green", @@ -560,7 +526,6 @@ "looks_like": "honey_gold", "weight": "1 g", "volume": "1 ml", - "stack_size": 5, "price": 2000, "symbol": "!", "color": "green", @@ -632,11 +597,9 @@ "name": { "str": "electronic cigarette" }, "description": "This battery-operated device vaporizes a liquid that contains flavorings and nicotine. A less harmful alternative to traditional cigarettes, but it's still addictive. It can't be reused once it's empty.", "weight": "1 g", - "volume": "250 ml", + "volume": "6 ml", "price": 3000, "price_postapoc": 500, - "charges": 40, - "stack_size": 40, "symbol": "!", "color": "dark_gray", "stim": 1, @@ -652,11 +615,10 @@ "comestible_type": "MED", "name": { "str": "saline eye drop" }, "description": "Sterile saline eye drops. Can be used to treat dry eyes, or to wash out contaminants.", - "volume": "10ml", + "volume": "1 ml", "weight": "3 g", "price": 300, "price_postapoc": 300, - "charges": 10, "symbol": "!", "color": "light_blue", "use_action": [ "EYEDROPS" ], @@ -685,11 +647,10 @@ "name": { "str": "hand-rolled cigarette" }, "description": "A roll-your-own cigarette. Stimulates mental acuity and reduces appetite. Despite being hand crafted, it's still highly addictive and hazardous to health.", "weight": "1 g", - "volume": "250 ml", + "volume": "4 ml", "price": 90, "//": "Tougher to market a hand rolled, could be anything in there.", "price_postapoc": 1000, - "stack_size": 60, "symbol": "!", "color": "dark_gray", "stim": 1, @@ -707,11 +668,9 @@ "name": { "str_sp": "heroin" }, "description": "An extremely strong opioid narcotic derived from morphine. Incredibly addictive, the risk of overdose is extreme, and the drug is contraindicated for nearly all medical purposes.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 14000, "price_postapoc": 20000, - "charges": 4, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "light_gray", @@ -740,11 +699,9 @@ "name": { "str": "potassium iodide tablet" }, "description": "A potassium iodide tablet. If taken prior to exposure, they help to mitigate injury caused by radiation absorption.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 1000, "price_postapoc": 20000, - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "white", "container": "bottle_plastic_pill_supplement", @@ -762,10 +719,9 @@ "name": { "str": "joint" }, "description": "Marijuana, cannabis, pot. Whatever you want to call it, it's rolled up in a piece of paper and ready for smokin'.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 500, "price_postapoc": 5000, - "stack_size": 100, "symbol": "!", "color": "green", "quench": -5, @@ -783,11 +739,9 @@ "name": { "str": "pink tab" }, "description": "A tiny pink tabs resembling a postage stamp, dosed with some sort of drug. Really only useful for entertainment. Will cause hallucinations.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 10000, "price_postapoc": 2500, - "charges": 5, - "stack_size": 100, "symbol": "!", "color": "pink", "stim": 20, @@ -806,11 +760,9 @@ "name": { "str_sp": "low-grade methamphetamine" }, "description": "A profoundly addictive and powerful stimulant. While extremely effective at enhancing alertness, it is hazardous to health and the risk of an adverse reaction is great.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 15000, "price_postapoc": 5000, - "charges": 6, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "light_cyan", @@ -832,11 +784,9 @@ "description": "A profoundly addictive and powerful stimulant. While extremely effective at enhancing alertness, it is hazardous to health and the risk of an adverse reaction is great. This one could have only been made by a great chemist.", "looks_like": "meth", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 25000, "price_postapoc": 10000, - "charges": 6, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "light_cyan", @@ -857,11 +807,9 @@ "name": { "str": "morphine" }, "description": "A very strong, naturally-occurring narcotic used to treat intense pain in hospital settings. You'll need a syringe to inject it, and it's very addictive, so be careful.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 4000, "price_postapoc": 25000, - "charges": 4, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "light_gray", @@ -933,11 +881,9 @@ "name": { "str": "nicotine gum" }, "description": "Mint flavored sugar-free nicotine chewing gum. For smokers who desire to quit.", "weight": "3 g", - "volume": "250 ml", + "volume": "2 ml", "price": 1000, "price_postapoc": 2500, - "charges": 10, - "stack_size": 100, "symbol": "*", "color": "yellow", "stim": 2, @@ -974,12 +920,10 @@ "name": { "str": "oxycodone" }, "description": "A strong semi-synthetic narcotic used in the treatment of intense pain. Highly addictive.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 55000, "price_postapoc": 40000, "//": "Fairly controlled substance as they go.", - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "light_green", "container": "bottle_plastic_pill_prescription", @@ -1002,11 +946,9 @@ "name": { "str_sp": "sleeping pill" }, "description": "A habit-forming tranquilizer with a variety of psychoactive side effects. Used in the treatment of insomnia.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 3000, "price_postapoc": 10000, - "charges": 10, - "stack_size": 200, "material": [ "powder" ], "symbol": "!", "color": "light_red", @@ -1029,11 +971,9 @@ "name": { "str": "poppy painkiller" }, "description": "A potent opioid palliative produced by the refining of the mutated poppy. Notably devoid of euphoric or sedative effects, but as an opiate it can still be addictive.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 3000, "price_postapoc": 15000, - "charges": 10, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "pink", @@ -1054,11 +994,9 @@ "name": { "str": "poppy sleep" }, "description": "A potent sleep aid extracted from mutated poppy seeds. Effective, but as an opiate it can be addictive.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 2000, "price_postapoc": 2500, - "charges": 10, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "magenta", @@ -1099,11 +1037,9 @@ "name": { "str_sp": "injectable prophylactic antivenom" }, "description": "An experimental, cutting-edge antivenom in the form of a small amber vial, designed to be injected a few hours before venom exposure. It was developed in top secret by the military in response to increasing biological/chemical warfare.", "weight": "40 g", - "volume": "250 ml", + "volume": "25 ml", "price": 10000, "price_postapoc": 50000, - "charges": 5, - "stack_size": 10, "symbol": "!", "color": "brown", "healthy": -1, @@ -1122,12 +1058,10 @@ "name": { "str_sp": "antidepressant" }, "description": "A common and popular antidepressant. It will elevate mood, and can profoundly alter the effects of other drugs. It is only rarely habit-forming, though adverse reactions are not uncommon.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 9000, "price_postapoc": 10000, "//": "Don't have a cite for this one.", - "charges": 15, - "stack_size": 200, "symbol": "!", "color": "light_green", "container": "bottle_plastic_pill_prescription", @@ -1144,11 +1078,9 @@ "name": { "str": "Prussian blue tablet" }, "description": "A tablet containing oxidized ferrous ferrocyanide salts. Capable of purging nuclear contaminants from the body if taken after radiation exposure.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 3000, "price_postapoc": 20000, - "charges": 10, - "stack_size": 200, "material": [ "powder" ], "flags": [ "NPC_SAFE", "IRREPLACEABLE_CONSUMABLE", "WATER_DISSOLVE", "EDIBLE_FROZEN" ], "symbol": "!", @@ -1167,11 +1099,9 @@ "name": { "str_sp": "hemostatic powder" }, "description": "A powdered antihemorrhagic compound that reacts with blood to immediately form a gel-like substance that stops bleeding.", "weight": "5 g", - "volume": "250 ml", + "volume": "4 ml", "price": 550, "price_postapoc": 3000, - "charges": 6, - "stack_size": 60, "material": [ "powder" ], "symbol": "!", "color": "light_gray", @@ -1204,11 +1134,9 @@ "name": { "str_sp": "antipsychotic" }, "description": "Anti-psychotic medication. Used to stabilize brain chemistry, it can arrest hallucinations and other symptoms of psychosis. Carries a sedative effect.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 5000, "price_postapoc": 10000, - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "light_red", "container": "bottle_plastic_pill_prescription", @@ -1242,11 +1170,9 @@ "name": { "str": "rolling tobacco" }, "description": "Loose, fine-cut tobacco leaves. Popular in Europe and among hipsters. Highly addictive and hazardous to health.\nCan either be rolled into a cigarette with some rolling papers or smoked through a pipe.", "weight": "1 g", - "volume": "250 ml", + "volume": "4 ml", "price": 1100, "price_postapoc": 1500, - "charges": 20, - "stack_size": 60, "symbol": "!", "color": "brown", "container": "bag_plastic", @@ -1274,11 +1200,9 @@ "name": { "str": "tramadol" }, "description": "A painkiller used to manage moderate pain. The effects last for several hours, but are relatively subdued for an opioid.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 24500, "price_postapoc": 20000, - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "yellow", "container": "bottle_plastic_pill_prescription", @@ -1299,11 +1223,9 @@ "name": { "str": "multivitamin" }, "description": "Essential dietary nutrients conveniently packaged in pill form. An option of last resort when a balanced diet is not possible. Excess use can cause hypervitaminosis.", "weight": "1 g", - "volume": "100 ml", + "volume": "5 ml", "price": "18 USD", "price_postapoc": 1000, - "charges": 20, - "stack_size": 20, "symbol": "!", "color": "magenta", "container": "bottle_plastic_pill_supplement", @@ -1321,11 +1243,9 @@ "name": { "str": "calcium tablet" }, "description": "A white calcium tablet. Widely used by elderly people with osteoporosis as a method to supplement calcium before the apocalypse.", "weight": "1 g", - "volume": "100 ml", + "volume": "5 ml", "price": 400, "price_postapoc": 1000, - "charges": 20, - "stack_size": 20, "flags": [ "IRREPLACEABLE_CONSUMABLE", "EDIBLE_FROZEN" ], "symbol": "!", "color": "magenta", @@ -1339,13 +1259,11 @@ "name": { "str": "bone meal tablet" }, "description": "A homemade calcium supplement made out of bone meal. Tastes horrible and is hard to swallow but it does its job.", "weight": "2 g", - "volume": "500 ml", + "volume": "12 ml", "price": 10, "fun": -8, "price_postapoc": 500, - "charges": 40, "healthy": -2, - "stack_size": 40, "symbol": "!", "color": "white", "looks_like": "calcium_tablet", @@ -1359,13 +1277,11 @@ "name": { "str": "flavored bone meal tablet" }, "description": "A homemade calcium supplement made out of bone meal. Due to some sweeteners mixed in to counteract the powdery texture and the taste of ash, it's almost as palatable as the pre-Cataclysm tablets.", "weight": "2 g", - "volume": "500 ml", + "volume": "11 ml", "price": 300, "fun": -2, "price_postapoc": 750, - "charges": 42, "healthy": -2, - "stack_size": 42, "symbol": "!", "color": "yellow", "looks_like": "calcium_tablet", @@ -1382,8 +1298,7 @@ "fun": 4, "container": "null", "flags": [ "IRREPLACEABLE_CONSUMABLE", "EDIBLE_FROZEN" ], - "charges": 10, - "stack_size": 10 + "volume": "10 ml" }, { "id": "homeopathic_pills", @@ -1392,12 +1307,10 @@ "name": { "str": "homeopathic pill" }, "description": "A homeopathic pill, prepared through the repeated dilution of an active ingredient with water. The label purports that these pills are able to maintain general wellness.", "weight": "1 g", - "volume": "100 ml", + "volume": "5 ml", "price": 1000, "price_postapoc": 1, "fun": 1, - "charges": 20, - "stack_size": 20, "symbol": "!", "color": "white", "container": "bottle_plastic_pill_supplement", @@ -1437,11 +1350,9 @@ "name": { "str": "injectable iron" }, "description": "A small vial of dark yellow liquid containing soluble iron for injection.", "weight": "40 g", - "volume": "250 ml", + "volume": "25 ml", "price": 2000, "price_postapoc": 750, - "charges": 2, - "stack_size": 10, "symbol": "!", "color": "magenta", "flags": [ "NO_INGEST", "IRREPLACEABLE_CONSUMABLE" ], @@ -1459,11 +1370,9 @@ "name": { "str_sp": "marijuana" }, "description": "The dried flower buds and leaves harvested from a psychoactive variety of hemp plant. Used to reduce nausea, stimulate appetite and elevate mood. It can be habit-forming, and adverse reactions are possible.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 2500, "price_postapoc": 2500, - "charges": 5, - "stack_size": 100, "symbol": "!", "color": "green", "quench": -5, @@ -1491,12 +1400,10 @@ "name": { "str_sp": "fast-acting sedative" }, "description": "An anti-anxiety agent with a powerful sedative effect. May cause dissociation and loss of memory. It is dangerously addictive, and withdrawal from regular use should be gradual.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 6000, "//": "Yeah, kinda guessing at these ones, but generic is cheaper.", "price_postapoc": 5000, - "charges": 10, - "stack_size": 200, "symbol": "!", "color": "cyan", "container": "bottle_plastic_pill_prescription", @@ -1515,11 +1422,9 @@ "name": { "str_sp": "narrow-spectrum antibiotics" }, "description": "A narrow-spectrum antibiotic used to suppress infections and prevent them from spreading. It isn't broad enough to purge most infections outright, but it boosts the body's resistance against them. One dose lasts twelve hours.", "weight": "611 mg", - "volume": "250 ml", + "volume": "1 ml", "price": 1500, - "charges": 5, "price_postapoc": 20000, - "stack_size": 200, "material": [ "plastic" ], "symbol": "!", "color": "white", @@ -1558,12 +1463,10 @@ "description": "A common stomach soother in flavored tablet form. Makes you less likely to vomit.", "weight": "2 g", "looks_like": "melatonin_tablet", - "volume": "250 ml", + "volume": "10 ml", "price": 500, "price_postapoc": 250, - "charges": 20, "fun": 1, - "stack_size": 25, "symbol": "!", "color": "white", "container": "bottle_plastic_small", @@ -1582,10 +1485,9 @@ "name": { "str": "Panaceus", "str_pl": "Panaceii" }, "description": "An apple-red gel capsule the size of your thumbnail, filled with a thick, oily liquid that shifts from black to purple at unpredictable intervals, flecked with tiny gray dots. Given the place you got it from, it's either very potent, or highly experimental. Holding it, all the little aches and pains seem to fade, just for a moment…", "weight": "15 g", - "volume": "5 ml", + "volume": "1 ml", "price": 1000000, "price_postapoc": 8000, - "stack_size": 5, "material": [ "plastic" ], "symbol": "!", "color": "red", @@ -1630,11 +1532,9 @@ "name": { "str_sp": "broad-spectrum antibiotics" }, "description": "A broad-spectrum antibacterial medication designed to prevent or stop the spread of infection. It contains nearly toxic levels of antibiotics, but can treat any bacterial infections you may encounter. One dose lasts twelve hours.", "weight": "611 mg", - "volume": "250 ml", + "volume": "1 ml", "price": 15000, "price_postapoc": 60000, - "charges": 5, - "stack_size": 200, "symbol": "!", "color": "white", "container": "bottle_plastic_pill_prescription", diff --git a/data/json/items/comestibles/mushroom.json b/data/json/items/comestibles/mushroom.json index 48e8496406a6c..b0955713754d1 100644 --- a/data/json/items/comestibles/mushroom.json +++ b/data/json/items/comestibles/mushroom.json @@ -58,9 +58,9 @@ "description": "A delicious serving of fried morsels of morel mushroom.", "price": 1500, "price_postapoc": 50, - "charges": 2, "fun": 12, - "flags": [ "EATEN_HOT", "FREEZERBURN" ] + "flags": [ "EATEN_HOT", "FREEZERBURN" ], + "volume": "125 ml" }, { "type": "COMESTIBLE", diff --git a/data/json/items/comestibles/nuts.json b/data/json/items/comestibles/nuts.json index 9058e258a1ab3..cf4e5a07ea2ab 100644 --- a/data/json/items/comestibles/nuts.json +++ b/data/json/items/comestibles/nuts.json @@ -15,9 +15,8 @@ "price": 68, "price_postapoc": 300, "material": [ "nut" ], - "volume": "125 ml", + "volume": "31 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], - "charges": 4, "vitamins": [ [ "iron", 5 ] ], "fun": 2 }, @@ -55,9 +54,8 @@ "price": 100, "price_postapoc": 600, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], - "charges": 4, "smoking_result": "pistachio_roasted", "vitamins": [ [ "vitC", 1 ], [ "calcium", 3 ], [ "iron", 7 ] ], "fun": 1, @@ -89,11 +87,10 @@ "price": 100, "price_postapoc": 600, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], "smoking_result": "almond_roasted", "vitamins": [ [ "calcium", 6 ], [ "iron", 6 ] ], - "charges": 4, "fun": 1, "milling": { "into": "paste_nut", "conversion_rate": 0.1 } }, @@ -143,9 +140,8 @@ "price": 110, "price_postapoc": 600, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], - "charges": 4, "vitamins": [ [ "calcium", 1 ], [ "iron", 12 ] ], "fun": 3, "milling": { "into": "paste_nut", "conversion_rate": 0.1 } @@ -166,9 +162,8 @@ "price": 100, "price_postapoc": 600, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], - "charges": 4, "smoking_result": "pecan_roasted", "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ] ], "fun": 1, @@ -200,9 +195,8 @@ "price": 100, "price_postapoc": 600, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW" ], - "charges": 4, "vitamins": [ [ "calcium", 1 ], [ "iron", 3 ] ], "fun": 3, "milling": { "into": "paste_nut", "conversion_rate": 0.1 } @@ -222,10 +216,9 @@ "price": 0, "price_postapoc": 400, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW" ], "vitamins": [ [ "vitC", 5 ], [ "iron", 9 ] ], - "charges": 4, "milling": { "into": "paste_nut", "conversion_rate": 0.1 } }, { @@ -244,8 +237,7 @@ "price_postapoc": 600, "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], "material": [ "nut" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "smoking_result": "walnut_roasted", "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ] ], "fun": -1, @@ -267,8 +259,7 @@ "price_postapoc": 600, "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], "material": [ "nut" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "smoking_result": "butternut_roasted", "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ] ], "fun": -1 @@ -309,8 +300,7 @@ "price_postapoc": 100, "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], "material": [ "nut" ], - "charges": 4, - "volume": "250 ml", + "volume": "62 ml", "smoking_result": "chestnut_roasted", "vitamins": [ [ "vitC", 13 ], [ "iron", 1 ] ], "fun": -10, @@ -343,8 +333,7 @@ "price_postapoc": 500, "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], "material": [ "nut" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "smoking_result": "hazelnut_roasted", "vitamins": [ [ "vitC", 2 ], [ "calcium", 3 ], [ "iron", 7 ] ], "fun": -1, @@ -365,9 +354,8 @@ "price": 10, "price_postapoc": 600, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "EATEN_HOT" ], - "charges": 4, "vitamins": [ [ "calcium", 8 ], [ "iron", 4 ] ], "fun": 4 }, @@ -386,9 +374,8 @@ "price": 10, "price_postapoc": 500, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "EATEN_HOT" ], - "charges": 4, "vitamins": [ [ "calcium", 8 ], [ "iron", 4 ] ], "fun": 4 }, @@ -418,8 +405,7 @@ "price_postapoc": 200, "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW", "SMOKABLE" ], "material": [ "nut" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "smoking_result": "hickory_nut_roasted", "vitamins": [ [ "calcium", 2 ], [ "iron", 8 ] ], "fun": -10, @@ -533,9 +519,8 @@ "price": 0, "price_postapoc": 200, "material": [ "nut" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW" ], - "charges": 4, "vitamins": [ [ "calcium", 1 ], [ "iron", 2 ] ], "fun": -20 }, @@ -545,7 +530,7 @@ "name": { "str_sp": "cooked acorns" }, "copy-from": "acorns", "weight": "22 g", - "volume": "185 ml", + "volume": "46 ml", "spoils_in": "30 days", "description": "A serving of acorns that have been hulled, chopped, and boiled in water before being thoroughly toasted until dry. Filling and nutritious.", "price": 90, @@ -561,7 +546,7 @@ "name": { "str_sp": "roasted acorns" }, "copy-from": "acorns", "weight": "22 g", - "volume": "185 ml", + "volume": "46 ml", "spoils_in": "30 days", "description": "A handful of roasted nuts from an oak tree.", "price": 90, diff --git a/data/json/items/comestibles/offal_dishes.json b/data/json/items/comestibles/offal_dishes.json index 44023f358f4ab..17d805cb0ac6c 100644 --- a/data/json/items/comestibles/offal_dishes.json +++ b/data/json/items/comestibles/offal_dishes.json @@ -11,8 +11,7 @@ "material": [ "flesh", "fruit" ], "color": "brown", "weight": "75 g", - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "spoils_in": "12 hours", "calories": 352, "fun": 15, @@ -52,8 +51,7 @@ "primary_material": "flesh", "color": "brown", "weight": "58 g", - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "spoils_in": "3 days", "calories": 401, "fun": 6, @@ -76,9 +74,8 @@ "price_postapoc": 450, "material": [ "wheat", "flesh" ], "primary_material": "processed_food", - "volume": "750ml", + "volume": "250 ml", "weight": "249 g", - "charges": 3, "flags": [ "EATEN_HOT" ], "vitamins": [ [ "vitC", 15 ], [ "calcium", 1 ], [ "iron", 40 ] ] }, @@ -136,9 +133,8 @@ "primary_material": "processed_food", "color": "magenta", "spoils_in": "360 days", - "volume": "1750 ml", + "volume": "125 ml", "weight": "112 g", - "charges": 14, "calories": 344, "vitamins": [ [ "vitC", 0 ], [ "calcium", 1 ], [ "iron", 5 ] ] }, @@ -157,11 +153,10 @@ "primary_material": "flesh", "color": "brown", "spoils_in": "1 days", - "volume": "250 ml", + "volume": "83 ml", "weight": "250 g", "flags": [ "EATEN_HOT" ], "calories": 285, - "charges": 3, "vitamins": [ [ "vitC", 6 ], [ "iron", 13 ], [ "calcium", 1 ] ] }, { @@ -179,9 +174,8 @@ "primary_material": "flesh", "color": "yellow", "spoils_in": "1 days", - "volume": "250 ml", + "volume": "83 ml", "weight": "180 g", - "charges": 3, "flags": [ "EATEN_HOT" ], "calories": 301, "vitamins": [ [ "vitC", 1 ], [ "iron", 6 ], [ "calcium", 1 ] ] @@ -218,9 +212,8 @@ "primary_material": "flesh", "color": "yellow", "spoils_in": "1 days", - "volume": "250 ml", + "volume": "41 ml", "weight": "180 g", - "charges": 6, "calories": 100, "flags": [ "EATEN_HOT" ] }, @@ -239,9 +232,8 @@ "primary_material": "flesh", "color": "yellow", "spoils_in": "2 days", - "volume": "250 ml", + "volume": "41 ml", "weight": "180 g", - "charges": 6, "calories": 400, "flags": [ "EATEN_HOT" ] }, @@ -260,9 +252,8 @@ "primary_material": "flesh", "color": "yellow", "spoils_in": "2 days", - "volume": "250 ml", + "volume": "41 ml", "weight": "180 g", - "charges": 6, "calories": 400, "flags": [ "EATEN_HOT" ] }, @@ -274,7 +265,7 @@ "description": "Sausage casings made from animal intestines. Ready to be used for forming meat products.", "color": "red", "material": [ "flesh" ], - "charges": 60 + "volume": "8 ml" }, { "id": "sausage_casings_artificial", @@ -284,7 +275,7 @@ "description": "Sausage casings made from plastic bags. Ready to be used for forming meat products.", "color": "red", "material": [ "plastic" ], - "charges": 60 + "volume": "8 ml" }, { "type": "COMESTIBLE", diff --git a/data/json/items/comestibles/other.json b/data/json/items/comestibles/other.json index a71a1ce406d08..e8ec7e9335a1f 100644 --- a/data/json/items/comestibles/other.json +++ b/data/json/items/comestibles/other.json @@ -24,7 +24,7 @@ "comestible_type": "FOOD", "symbol": "6", "description": "A vegetable from the gourd family, bottle gourds were brought to the Americas by the first Native American settlers crossing the Bering strait. This one has been dried for processing into a watertight container.", - "volume": "2500 ml", + "volume": "1250 ml", "flags": [ "INEDIBLE" ] }, { @@ -35,11 +35,9 @@ "description": "Bright pink sugar-free chewing gum.", "category": "food", "weight": "3 g", - "volume": "250 ml", + "volume": "2 ml", "price": 100, "price_postapoc": 100, - "charges": 10, - "stack_size": 100, "symbol": "*", "color": "pink", "fun": 2, @@ -125,13 +123,12 @@ "material": [ "honey" ], "quench": 4, "calories": 67, - "charges": 16, "fun": 2, "comestible_type": "FOOD", "flags": [ "NUTRIENT_OVERRIDE" ], "vitamins": [ [ "mutant_toxin", 6 ] ], "//": "It takes about 30 portions of honeydew to feed an adult (~2000 kkal). 2000 kkal is about 10 raw chunks of mutant meat, which is 250% toxins. Honeydew probably isn't as toxic as meat, so 30 portions of it would give you 180% of toxins.", - "volume": "250 ml" + "volume": "15 ml" }, { "type": "COMESTIBLE", @@ -151,8 +148,7 @@ "price": 0, "price_postapoc": 0, "material": [ "fruit" ], - "volume": "250 ml", - "stack_size": 4, + "volume": "62 ml", "flags": [ "MYCUS_OK" ], "fun": 30 }, @@ -174,8 +170,7 @@ "price": 0, "price_postapoc": 0, "material": [ "fruit" ], - "volume": "100 ml", - "stack_size": 10, + "volume": "10 ml", "fun": 30 }, { @@ -193,8 +188,7 @@ "price": 0, "price_postapoc": 0, "material": [ "fruit" ], - "volume": "250 ml", - "stack_size": 4, + "volume": "62 ml", "flags": [ "MYCUS_OK" ], "vitamins": [ [ "vitC", 25 ], [ "calcium", 25 ], [ "iron", 25 ] ], "fun": 30 @@ -214,9 +208,8 @@ "price": 150, "price_postapoc": 50, "material": [ "powder" ], - "volume": "250 ml", + "volume": "10 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 25, "fun": -10 }, { @@ -234,9 +227,8 @@ "price": 150, "price_postapoc": 50, "material": [ "powder" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "fun": -10 }, { @@ -255,9 +247,8 @@ "price": 150, "price_postapoc": 50, "material": [ "powder" ], - "volume": "250 ml", + "volume": "10 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 25, "fun": -10 }, { @@ -272,9 +263,8 @@ "price": 25, "price_postapoc": 10, "material": [ "powder" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "fun": -10 }, { @@ -292,9 +282,8 @@ "price": 150, "price_postapoc": 50, "material": "powder", - "volume": "250 ml", + "volume": "10 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 25, "fun": -10 }, { @@ -335,9 +324,8 @@ "price": 0, "price_postapoc": 0, "material": [ "powder" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "fun": -10 }, { @@ -354,9 +342,8 @@ "price": 25, "price_postapoc": 10, "material": [ "powder" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], - "charges": 4, "fun": -10 }, { @@ -405,8 +392,7 @@ "price": 150, "price_postapoc": 150, "material": [ "bean" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "vitamins": [ [ "calcium", 9 ], [ "iron", 24 ] ] }, @@ -421,12 +407,11 @@ "symbol": "%", "quench": -4, "calories": 203, - "charges": 6, "description": "Dehydrated great northern beans. Tasty and nutritious when cooked, virtually inedible when dry.", "price": 300, "price_postapoc": 150, "material": [ "bean" ], - "volume": "250 ml", + "volume": "41 ml", "cooks_like": "beans_cooked", "vitamins": [ [ "calcium", 56 ], [ "iron", 22 ] ], "petfood": [ "CATTLEFOOD" ], @@ -604,9 +589,8 @@ "price_postapoc": 50, "fun": 10, "material": [ "veggy", "blood" ], - "volume": "250 ml", - "flags": [ "EATEN_HOT" ], - "charges": 3 + "volume": "83 ml", + "flags": [ "EATEN_HOT" ] }, { "type": "COMESTIBLE", @@ -622,10 +606,9 @@ "price": 500, "price_postapoc": 1000, "material": [ "foodplace_foodstuff" ], - "volume": "500 ml", + "volume": "125 ml", "flags": [ "EDIBLE_FROZEN", "IRREPLACEABLE_CONSUMABLE" ], "addiction_potential": 1, - "charges": 4, "fun": 2 }, { @@ -659,7 +642,7 @@ "description": "Wet, cooked lentils. Humble and nutrient-rich, but pretty bland.", "price": 0, "price_postapoc": 100, - "volume": "250 ml", + "volume": "125 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ] }, { @@ -679,10 +662,9 @@ "price": 900, "price_postapoc": 500, "material": [ "powder" ], - "volume": "250 ml", + "volume": "12 ml", "flags": [ "EDIBLE_FROZEN", "RAW", "IRREPLACEABLE_CONSUMABLE", "NUTRIENT_OVERRIDE" ], "calories": 2, - "charges": 20, "fun": -5, "freezing_point": -274 }, @@ -694,8 +676,7 @@ "container": "bag_plastic", "description": "Coffee grounds created through washing, cleaning, and roasting the pods from a Kentucky coffeetree. They can be used to create coffee.", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], - "charges": 5, - "stack_size": 20 + "volume": "12 ml" }, { "id": "honey_glassed", @@ -708,13 +689,12 @@ "price_postapoc": 750, "material": [ "honey" ], "weight": "51 g", - "volume": "250 ml", + "volume": "50 ml", "comestible_type": "FOOD", "container": "jar_glass_sealed", "sealed": false, "quench": 1, "calories": 201, - "charges": 5, "fun": 2 }, { @@ -734,8 +714,7 @@ "price": 350, "price_postapoc": 100, "material": [ "tomato" ], - "volume": "250 ml", - "stack_size": 2, + "volume": "125 ml", "vitamins": [ [ "vitC", 26 ], [ "calcium", 9 ], [ "iron", 18 ] ], "flags": [ "RAW" ] }, diff --git a/data/json/items/comestibles/protein.json b/data/json/items/comestibles/protein.json index 14395032135f2..b9111cdd5f1f5 100644 --- a/data/json/items/comestibles/protein.json +++ b/data/json/items/comestibles/protein.json @@ -41,10 +41,9 @@ "description": "Raw, refined protein. While quite nutritious, it is impossible to enjoy in its pure form, try adding water.", "//": "1 g of protein powder is 0.959 ml, 1 serving is 28g and 27ml", "weight": "28 g", - "volume": "243 ml", + "volume": "27 ml", "price": 1100, "price_postapoc": 100, - "charges": 9, "flags": [ "EDIBLE_FROZEN" ], "material": [ "powder" ], "symbol": "%", diff --git a/data/json/items/comestibles/raw_fruit.json b/data/json/items/comestibles/raw_fruit.json index 7c0a9918ea5f1..77057781d29b4 100644 --- a/data/json/items/comestibles/raw_fruit.json +++ b/data/json/items/comestibles/raw_fruit.json @@ -139,9 +139,8 @@ "price": 51, "price_postapoc": 100, "material": [ "fruit" ], - "volume": "250 ml", + "volume": "83 ml", "fun": -5, - "charges": 3, "flags": [ "SMOKABLE", "RAW", "EDIBLE_FROZEN" ], "smoking_result": "dry_fruit", "vitamins": [ [ "vitC", 14 ], [ "iron", 1 ] ] diff --git a/data/json/items/comestibles/raw_grain.json b/data/json/items/comestibles/raw_grain.json index 0d0e8304eb6c6..203ac8a08d2f4 100644 --- a/data/json/items/comestibles/raw_grain.json +++ b/data/json/items/comestibles/raw_grain.json @@ -114,8 +114,7 @@ "price": 115, "price_postapoc": 25, "material": [ "veggy" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, "vitamins": [ [ "iron", 2 ] ] @@ -279,9 +278,8 @@ "price": 20, "price_postapoc": 250, "material": [ "veggy" ], - "volume": "1 L", + "volume": "250 ml", "milling": { "into": "flour", "conversion_rate": 15 }, - "charges": 4, "vitamins": [ [ "calcium", 6 ], [ "iron", 29 ] ], "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST", "BIRD", "RAT", "MOUSE" ], @@ -402,9 +400,8 @@ "price": 90, "price_postapoc": 400, "material": [ "veggy" ], - "volume": "500 ml", + "volume": "250 ml", "milling": { "into": "flour_wheat_free", "conversion_rate": 15 }, - "charges": 2, "vitamins": [ [ "calcium", 3 ], [ "iron", 22 ] ], "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST", "BIRD", "RAT", "MOUSE" ], @@ -524,8 +521,7 @@ "price": 20, "price_postapoc": 150, "material": [ "veggy" ], - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "vitamins": [ [ "calcium", 4 ], [ "iron", 47 ], [ "vitC", 7 ] ], "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "NUTRIENT_OVERRIDE", "CATTLE", "PLANTABLE_SEED", "BIRD", "RAT", "MOUSE" ], diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index bb22f2f51e59e..0658cf4005150 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -131,8 +131,7 @@ "price": 100, "price_postapoc": 100, "material": [ "veggy" ], - "volume": "1250 ml", - "charges": 8, + "volume": "156 ml", "fun": -2, "flags": [ "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", @@ -172,8 +171,7 @@ "price": 100, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "2250 ml", - "charges": 9, + "volume": "250 ml", "fun": -2, "flags": [ "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", @@ -193,8 +191,7 @@ "price": 200, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "770 ml", - "charges": 6, + "volume": "128 ml", "fun": 1, "flags": [ "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", @@ -281,8 +278,7 @@ "price": 100, "price_postapoc": 10, "material": [ "veggy", "cotton" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "fun": -10 }, { @@ -299,8 +295,7 @@ "price": 50, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "250 ml", - "charges": 3, + "volume": "83 ml", "flags": [ "FREEZERBURN", "RAW" ], "vitamins": [ [ "vitC", 88 ], [ "calcium", 1 ], [ "iron", 3 ] ], "fun": -2 @@ -312,7 +307,7 @@ "cooks_like": "chili_pepper", "name": { "str": "cut chili pepper" }, "weight": "52 g", - "volume": "249 ml", + "volume": "83 ml", "spoils_in": "3 days", "description": "A chili pepper that's been cut into pieces. The seeds have been removed.", "price": 10, @@ -418,11 +413,11 @@ "copy-from": "carrot", "color": "white", "description": "These are often wild carrots, but beware of poisonous lookalikes. In any case, the root is tough and is not as tasty as a real raw carrot.", - "charges": 3, "flags": [ "FORAGE_POISON", "RAW", "SMOKABLE" ], "price": 90, "price_postapoc": 50, - "fun": -2 + "fun": -2, + "volume": "256 ml" }, { "type": "COMESTIBLE", @@ -478,9 +473,8 @@ "price": 20, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN", "RAW" ], - "charges": 4, "fun": -15 }, { @@ -516,8 +510,7 @@ "price": 100, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "850 ml", - "charges": 5, + "volume": "170 ml", "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 4 ], [ "calcium", 1 ], [ "iron", 2 ] ] @@ -695,8 +688,7 @@ "price": 60, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "430 ml", - "stack_size": 4, + "volume": "107 ml", "fun": -12, "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", @@ -716,8 +708,7 @@ "price": 60, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "470 ml", - "stack_size": 4, + "volume": "117 ml", "fun": -12, "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", @@ -738,8 +729,7 @@ "price": 60, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "236 ml", - "stack_size": 4, + "volume": "59 ml", "fun": -12, "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", @@ -779,8 +769,7 @@ "price": 50, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "1 L", - "charges": 4, + "volume": "250 ml", "fun": -10, "flags": [ "SMOKABLE" ], "smoking_result": "dry_veggy", @@ -803,9 +792,8 @@ "price_postapoc": 250, "material": [ "veggy" ], "primary_material": "dried_vegetable", - "volume": "320 ml", + "volume": "9 ml", "flags": [ "EDIBLE_FROZEN", "RAW", "IRREPLACEABLE_CONSUMABLE" ], - "charges": 33, "//": "Tea is sold by weight not by volume. 1 kg of tea has a volume of 3,4 liters. We use smaller packs of at least 100 mg. Such a tea has a volume of 340 ml minus package makes it around 320 ml. 3 g per serving makes 33 charges.", "fun": -1 }, @@ -1098,10 +1086,9 @@ "price": 450, "price_postapoc": 100, "material": [ "veggy", "powder" ], - "volume": "240 ml", + "volume": "24 ml", "//": "240 ml is equivalent to 1 cup of flour. 10 charges is roughly equivalent to a cup of flour for American recipes.", "flags": [ "EDIBLE_FROZEN", "RAW" ], - "charges": 10, "vitamins": [ [ "iron", 1 ] ], "fun": -5 }, diff --git a/data/json/items/comestibles/sandwich.json b/data/json/items/comestibles/sandwich.json index 8917089dfbeee..431cc247a88db 100644 --- a/data/json/items/comestibles/sandwich.json +++ b/data/json/items/comestibles/sandwich.json @@ -87,8 +87,7 @@ "price_postapoc": 300, "material": [ "flesh", "veggy", "wheat", "milk" ], "primary_material": "processed_food", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "fun": 12, "vitamins": [ [ "vitC", 26 ], [ "calcium", 8 ], [ "iron", 49 ] ] }, @@ -116,8 +115,7 @@ "price_postapoc": 300, "material": [ "flesh", "veggy", "wheat", "milk" ], "primary_material": "processed_food", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "fun": 14, "vitamins": [ [ "vitC", 26 ], [ "calcium", 8 ], [ "iron", 49 ] ] }, @@ -365,8 +363,7 @@ "price": 900, "price_postapoc": 250, "material": [ "flesh", "wheat" ], - "volume": "300 ml", - "charges": 2, + "volume": "150 ml", "fun": 2, "vitamins": [ [ "vitC", 8 ], [ "calcium", 6 ], [ "iron", 47 ] ] }, @@ -517,8 +514,7 @@ "price_postapoc": 250, "material": [ "flesh", "veggy", "wheat", "tomato" ], "primary_material": "processed_food", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": 8, "vitamins": [ [ "vitC", 10 ], [ "calcium", 7 ], [ "iron", 18 ] ] @@ -569,8 +565,7 @@ "price_postapoc": 300, "material": [ "flesh", "veggy", "milk" ], "primary_material": "processed_food", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "fun": 12, "vitamins": [ [ "vitC", 26 ], [ "calcium", 8 ], [ "iron", 49 ] ] }, @@ -598,8 +593,7 @@ "price_postapoc": 300, "material": [ "flesh", "veggy", "milk" ], "primary_material": "processed_food", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "fun": 14, "vitamins": [ [ "vitC", 26 ], [ "calcium", 8 ], [ "iron", 49 ] ] }, @@ -808,8 +802,7 @@ "price": 900, "price_postapoc": 250, "material": [ "flesh", "veggy" ], - "volume": "300 ml", - "charges": 2, + "volume": "150 ml", "fun": 2, "vitamins": [ [ "vitC", 8 ], [ "calcium", 6 ], [ "iron", 47 ] ] }, @@ -931,8 +924,7 @@ "price_postapoc": 250, "material": [ "flesh", "veggy", "tomato" ], "primary_material": "processed_food", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": 8, "vitamins": [ [ "vitC", 10 ], [ "calcium", 7 ], [ "iron", 18 ] ] diff --git a/data/json/items/comestibles/seed.json b/data/json/items/comestibles/seed.json index 470c163812878..b50bf1ccaedf5 100644 --- a/data/json/items/comestibles/seed.json +++ b/data/json/items/comestibles/seed.json @@ -5,11 +5,10 @@ "comestible_type": "FOOD", "name": { "str_sp": "seeds" }, "category": "seeds", - "volume": "250 ml", + "volume": "2 ml", "weight": "1 g", "price": 120, "price_postapoc": 25, - "stack_size": 100, "material": [ "veggy" ], "symbol": ".", "color": "brown", @@ -37,10 +36,9 @@ "description": "Roots of a hop plant, for growing your own.", "weight": "19 g", "price": 160, - "charges": 2, - "stack_size": 8, "seed_data": { "plant_name": "hops", "fruit": "hops", "byproducts": [ "straw_pile" ], "grow": "120 days" }, - "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ] + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "volume": "31 ml" }, { "id": "seed_blackberries", @@ -173,7 +171,6 @@ "description": "Some sugar beet seeds.", "volume": "1 ml", "weight": "5 g", - "stack_size": 40, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "sugar beet", "fruit": "sugar_beet", "grow": "90 days" } }, @@ -216,11 +213,10 @@ "name": { "str_sp": "cotton seeds" }, "description": "Some cotton seeds. Can be processed to produce an edible oil.", "weight": "5 g", - "charges": 2, - "stack_size": 40, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cotton", "fruit": "cotton_boll", "byproducts": [ "withered" ], "grow": "130 days" }, - "milling": { "into": "paste_seed", "conversion_rate": 0.05 } + "milling": { "into": "paste_seed", "conversion_rate": 0.05 }, + "volume": "6 ml" }, { "type": "COMESTIBLE", @@ -289,9 +285,9 @@ "name": { "str_sp": "salsify seeds" }, "color": "green", "description": "Some salsify seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "salsify", "fruit": "salsify_raw", "grow": "91 days" } + "seed_data": { "plant_name": "salsify", "fruit": "salsify_raw", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -300,9 +296,9 @@ "name": { "str_sp": "chicory seeds" }, "color": "green", "description": "Some chicory seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "chicory", "fruit": "chicory_raw", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "chicory", "fruit": "chicory_raw", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -347,10 +343,8 @@ "calories": 4, "description": "Cloves of garlic. Useful as a seasoning, or for planting.", "price": 50, - "charges": 6, - "stack_size": 6, "material": [ "garlic" ], - "volume": "150 ml", + "volume": "25 ml", "fun": -3, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE" ], "seed_data": { "plant_name": "garlic", "fruit": "garlic", "byproducts": [ "withered" ], "grow": "65 days" } @@ -430,10 +424,10 @@ "description": "Seeds of the cannabis plant. Filled with vitamins, they can be roasted or eaten raw.", "price": 100, "weight": "2 g", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cannabis", "fruit": "cannabis", "grow": "91 days" }, - "milling": { "into": "paste_seed", "conversion_rate": 0.02 } + "milling": { "into": "paste_seed", "conversion_rate": 0.02 }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -443,8 +437,8 @@ "name": { "str_sp": "fungal seeds" }, "color": "dark_gray", "description": "Some fungal seeds.", - "stack_size": 8, - "seed_data": { "fruit": "null", "//": "dummy entry, results are hardcoded", "plant_name": "fungal flower", "grow": "91 days" } + "seed_data": { "fruit": "null", "//": "dummy entry, results are hardcoded", "plant_name": "fungal flower", "grow": "91 days" }, + "volume": "31 ml" }, { "type": "COMESTIBLE", @@ -465,8 +459,7 @@ "price": 0, "material": [ "fruit" ], "primary_material": "dried_vegetable", - "volume": "100 ml", - "stack_size": 10, + "volume": "10 ml", "fun": 30, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE" ], "seed_data": { "fruit": "null", "//": "dummy entry, results are hardcoded", "plant_name": "Marloss berry", "grow": "91 days" } @@ -476,12 +469,12 @@ "id": "seed_beans", "copy-from": "dry_beans", "category": "seeds", - "charges": 1, "container": "null", "name": { "str_sp": "bean seeds" }, "extend": { "flags": [ "NUTRIENT_OVERRIDE", "INEDIBLE" ] }, "description": "Dry beans, ready for planting.", - "seed_data": { "plant_name": "beans", "fruit": "raw_beans", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "beans", "fruit": "raw_beans", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "250 ml" }, { "type": "COMESTIBLE", @@ -513,9 +506,9 @@ "name": { "str_sp": "thyme seeds" }, "color": "green", "description": "Some thyme seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "thyme", "fruit": "thyme", "grow": "91 days" } + "seed_data": { "plant_name": "thyme", "fruit": "thyme", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -561,10 +554,10 @@ "calories": 17, "description": "Some raw sunflower seeds. Could be pressed into oil.", "price": 100, - "charges": 2, "flags": [ "PLANTABLE_SEED" ], "seed_data": { "plant_name": "sunflower", "fruit": "seed_sunflower", "byproducts": [ "withered" ], "grow": "91 days" }, - "milling": { "into": "paste_seed", "conversion_rate": 0.02 } + "milling": { "into": "paste_seed", "conversion_rate": 0.02 }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -573,9 +566,9 @@ "name": { "str_sp": "dogbane seeds" }, "color": "green", "description": "Some dogbane seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "dogbane", "fruit": "dogbane", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "dogbane", "fruit": "dogbane", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -584,9 +577,9 @@ "name": { "str_sp": "bee balm seeds" }, "color": "green", "description": "Some bee balm seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "bee balm", "fruit": "bee_balm", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "bee balm", "fruit": "bee_balm", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -595,9 +588,9 @@ "name": { "str_sp": "mugwort seeds" }, "color": "green", "description": "Some mugwort seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "mugwort", "fruit": "mugwort", "grow": "91 days" } + "seed_data": { "plant_name": "mugwort", "fruit": "mugwort", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -616,9 +609,9 @@ "name": { "str_sp": "wild herb seeds" }, "color": "green", "description": "Some seeds harvested from wild herbs.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "wild herb", "fruit": "wild_herbs", "grow": "91 days" } + "seed_data": { "plant_name": "wild herb", "fruit": "wild_herbs", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -627,9 +620,9 @@ "name": { "str_sp": "wild vegetable stems" }, "color": "green", "description": "Some wild vegetable stems.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "wild vegetable", "fruit": "veggy_wild", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "wild vegetable", "fruit": "veggy_wild", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -638,9 +631,9 @@ "name": { "str_sp": "dandelion seeds" }, "color": "green", "description": "Some dandelion seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "dandelion", "fruit": "raw_dandelion", "grow": "91 days" } + "seed_data": { "plant_name": "dandelion", "fruit": "raw_dandelion", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -649,9 +642,9 @@ "name": { "str_sp": "burdock seeds" }, "color": "green", "description": "Some burdock seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "burdock", "fruit": "raw_burdock", "grow": "91 days" } + "seed_data": { "plant_name": "burdock", "fruit": "raw_burdock", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -659,14 +652,14 @@ "copy-from": "seed", "name": { "str_sp": "Japanese knotweed stems" }, "description": "Some Japanese knotweed stems, prepared for planting.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "Japanese knotweed", "fruit": "japanese_knotweed_stem", "byproducts": [ "withered" ], "grow": "91 days" - } + }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -675,9 +668,9 @@ "name": { "str_sp": "wild rice seeds" }, "description": "Some wild rice seeds, prepared for planting.", "weight": "5 g", - "stack_size": 10, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "wild rice", "fruit": "wild_rice_stalks", "seeds": false, "grow": "91 days" } + "seed_data": { "plant_name": "wild rice", "fruit": "wild_rice_stalks", "seeds": false, "grow": "91 days" }, + "volume": "25 ml" }, { "type": "COMESTIBLE", @@ -686,8 +679,8 @@ "name": { "str_sp": "Jerusalem artichoke seeds" }, "description": "Some Jerusalem artichoke seeds.", "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "charges": 2, - "seed_data": { "plant_name": "Jerusalem artichoke", "fruit": "jerusalem_artichoke", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "Jerusalem artichoke", "fruit": "jerusalem_artichoke", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -695,7 +688,6 @@ "copy-from": "seed", "name": { "str_sp": "starry false Solomon's seal seeds" }, "description": "Some starry false Solomon's seal seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "starry false Solomon's seal", @@ -703,7 +695,8 @@ "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" - } + }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -711,14 +704,14 @@ "copy-from": "seed", "name": { "str_sp": "wild sarsaparilla seeds" }, "description": "Some wild sarsaparilla seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "wild sarsaparilla", "fruit": "wild_sarsaparilla_root", "byproducts": [ "withered" ], "grow": "91 days" - } + }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -750,9 +743,9 @@ "copy-from": "seed", "name": { "str_sp": "groundnut seeds" }, "description": "Some groundnut seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "groundnut", "fruit": "groundnut", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "groundnut", "fruit": "groundnut", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -761,8 +754,8 @@ "name": { "str_sp": "wild garlic seeds" }, "description": "Some wild garlic seeds.", "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "charges": 2, - "seed_data": { "plant_name": "wild garlic", "fruit": "wild_garlic", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "wild garlic", "fruit": "wild_garlic", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -771,9 +764,9 @@ "name": { "str_sp": "bamboo seeds" }, "color": "green", "description": "Some bamboo seeds.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE", "CUT_HARVEST" ], - "seed_data": { "plant_name": "bamboo", "fruit": "raw_bamboo", "grow": "91 days" } + "seed_data": { "plant_name": "bamboo", "fruit": "raw_bamboo", "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -782,9 +775,9 @@ "name": { "str_sp": "rhubarb stems" }, "color": "green", "description": "Some rhubarb stems.", - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "rhubarb", "fruit": "rhubarb", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "rhubarb", "fruit": "rhubarb", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -864,10 +857,9 @@ "price_postapoc": 50, "material": [ "veggy" ], "primary_material": "dried_vegetable", - "volume": "250 ml", + "volume": "62 ml", "flags": [ "SMOKED" ], "freezing_point": -274, - "charges": 4, "fun": 3 }, { @@ -887,8 +879,7 @@ "price_postapoc": 50, "material": [ "veggy" ], "primary_material": "dried_vegetable", - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "fun": -10, "flags": [ "HIDDEN_POISON", "RAW" ], "use_action": [ "POISON" ], @@ -909,11 +900,10 @@ "addiction_type": "caffeine", "addiction_potential": 1, "calories": 549, - "volume": "250 ml", + "volume": "6 ml", "vitamins": [ [ "calcium", 4 ], [ "iron", 8 ] ], "flags": [ "EDIBLE_FROZEN", "RAW", "NO_AUTO_CONSUME", "INEDIBLE", "NUTRIENT_OVERRIDE" ], "//": "You can technically eat 20 or 30 coffee beans before getting sick, but any more than that and you'll have a very bad time. This is a negligible amount of calories so we either need to greatly reduce portion size here or find a way to simulate the agony someone would be in after eating an entire cup of the things.", - "stack_size": 40, "weight": "106 g" }, { @@ -976,9 +966,9 @@ "fun": -3, "description": "Some mustard seeds. Could be ground into mustard powder.", "price": 100, - "charges": 2, "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], - "seed_data": { "plant_name": "mustard", "fruit": "seed_mustard", "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "mustard", "fruit": "seed_mustard", "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", diff --git a/data/json/items/comestibles/spice.json b/data/json/items/comestibles/spice.json index b70111df4d7dc..23d506e7d557d 100644 --- a/data/json/items/comestibles/spice.json +++ b/data/json/items/comestibles/spice.json @@ -99,11 +99,10 @@ "price_postapoc": 300, "material": [ "powder", "junk" ], "primary_material": "powder", - "volume": "250 ml", + "volume": "3 ml", "calories": 19, "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], - "//": "a tbsp is 4.2g of sugar, meaning the volume needed to be adjusted.", - "charges": 71 + "//": "a tbsp is 4.2g of sugar, meaning the volume needed to be adjusted." }, { "type": "COMESTIBLE", @@ -116,7 +115,7 @@ "price": 399, "price_postapoc": 200, "calories": 20, - "charges": 66 + "volume": "3 ml" }, { "type": "COMESTIBLE", @@ -132,10 +131,8 @@ "price": 190, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "250 ml", - "charges": 20, + "volume": "2 ml", "flags": [ "EDIBLE_FROZEN", "RAW" ], - "stack_size": 100, "fun": -1 }, { diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index f8f4ff36b69cd..6755d830f8284 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -241,8 +241,7 @@ "price": 1500, "price_postapoc": 150, "material": [ "veggy" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "//": "TODO: Confirm nutrition facts for aspic", "flags": [ "EATEN_COLD", "FREEZERBURN" ] }, @@ -271,8 +270,7 @@ "container": "can_medium", "quench": 5, "calories": 152, - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "description": "Canned corn in water. Eat up!", "price": 200, "price_postapoc": 150, @@ -351,9 +349,8 @@ "price": 450, "price_postapoc": 25, "material": [ "veggy", "powder" ], - "volume": "1070 ml", + "volume": "107 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 10, "fun": -5 }, { @@ -394,11 +391,10 @@ "price_postapoc": 300, "material": [ "veggy" ], "primary_material": "dried_vegetable", - "volume": "250 ml", + "volume": "83 ml", "milling": { "into": "flour_wheat_free", "conversion_rate": 3 }, "cooks_like": "rice_cooked", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "vitamins": [ [ "iron", 3 ] ], "fun": -15 }, @@ -419,11 +415,10 @@ "price_postapoc": 300, "material": [ "veggy" ], "primary_material": "dried_vegetable", - "volume": "250 ml", + "volume": "83 ml", "milling": { "into": "flour_wheat_free", "conversion_rate": 2 }, "cooks_like": "wild_rice_cooked", "flags": [ "EDIBLE_FROZEN" ], - "charges": 3, "vitamins": [ [ "iron", 3 ] ], "fun": -15 }, @@ -443,8 +438,8 @@ "price_postapoc": 50, "flags": [ "EATEN_HOT", "FREEZERBURN", "NUTRIENT_OVERRIDE" ], "fun": 2, - "charges": 1, - "vitamins": [ [ "iron", 11 ] ] + "vitamins": [ [ "iron", 11 ] ], + "volume": "250 ml" }, { "type": "COMESTIBLE", @@ -462,8 +457,8 @@ "price_postapoc": 50, "flags": [ "EATEN_HOT", "FREEZERBURN", "NUTRIENT_OVERRIDE" ], "fun": 2, - "charges": 1, - "vitamins": [ [ "iron", 10 ] ] + "vitamins": [ [ "iron", 10 ] ], + "volume": "250 ml" }, { "type": "COMESTIBLE", @@ -574,12 +569,11 @@ "comestible_type": "FOOD", "symbol": "%", "calories": 525, - "charges": 4, "description": "A tofu stirfry with rice and a sweet, bold flavor sure to stay on your mind through these dark days.", "price": 1200, "price_postapoc": 200, "material": [ "veggy" ], - "volume": "1 L", + "volume": "250 ml", "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], "fun": 19, "vitamins": [ [ "calcium", 7 ], [ "iron", 5 ], [ "vitC", 24 ] ] @@ -737,8 +731,7 @@ "price": 1250, "price_postapoc": 2000, "material": [ "wheat", "veggy" ], - "volume": "2 L", - "charges": 8, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 3, "vitamins": [ [ "vitC", 4 ], [ "calcium", 3 ], [ "iron", 14 ] ] @@ -758,8 +751,7 @@ "price": 990, "price_postapoc": 500, "material": [ "wheat", "veggy", "tomato" ], - "volume": "1 L", - "charges": 4, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 10, "vitamins": [ [ "vitC", 20 ], [ "calcium", 30 ], [ "iron", 20 ] ] @@ -920,8 +912,7 @@ "price": 1000, "price_postapoc": 200, "material": [ "wheat", "veggy", "nut" ], - "volume": "500 ml", - "charges": 2, + "volume": "250 ml", "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 15, "vitamins": [ [ "calcium", 10 ], [ "iron", 10 ] ] @@ -1065,9 +1056,8 @@ "price_postapoc": 100, "material": [ "veggy" ], "primary_material": "dried_vegetable", - "volume": "250 ml", - "flags": [ "EDIBLE_FROZEN" ], - "charges": 2 + "volume": "125 ml", + "flags": [ "EDIBLE_FROZEN" ] }, { "type": "COMESTIBLE", @@ -1249,8 +1239,7 @@ "price": 100, "price_postapoc": 400, "material": [ "veggy" ], - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "fun": 3, "vitamins": [ ] }, @@ -1269,8 +1258,7 @@ "price": 210, "price_postapoc": 100, "material": [ "veggy" ], - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "fun": 8, "vitamins": [ ] }, @@ -1341,9 +1329,8 @@ "price": 100, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "500 ml", + "volume": "166 ml", "vitamins": [ [ "vitC", 9 ], [ "calcium", 16 ], [ "iron", 3 ] ], - "charges": 3, "fun": 3 }, { @@ -1463,9 +1450,8 @@ "price_postapoc": 100, "material": [ "tomato", "veggy" ], "primary_material": "tomato", - "volume": "250 ml", + "volume": "62 ml", "flags": [ "FREEZERBURN" ], - "charges": 4, "vitamins": [ [ "iron", 2 ] ], "fun": 2 } diff --git a/data/json/items/comestibles/wheat.json b/data/json/items/comestibles/wheat.json index 0bd91564dc1c8..5992f31ce9f79 100644 --- a/data/json/items/comestibles/wheat.json +++ b/data/json/items/comestibles/wheat.json @@ -136,10 +136,9 @@ "price": 450, "price_postapoc": 100, "material": [ "wheat", "powder" ], - "volume": "240 ml", + "volume": "24 ml", "//": "240 ml is equivalent to 1 cup of flour. 10 charges is roughly equivalent to a cup of flour for American recipes.", "flags": [ "EDIBLE_FROZEN", "RAW" ], - "charges": 10, "vitamins": [ [ "iron", 3 ] ], "fun": -5 }, @@ -159,9 +158,8 @@ "price": "200 cent", "price_postapoc": "95 cent", "material": [ "wheat", "powder" ], - "volume": "2400 ml", + "volume": "120 ml", "flags": [ "EDIBLE_FROZEN", "RAW" ], - "charges": 20, "vitamins": [ [ "iron", 4 ] ], "fun": -5 }, @@ -181,10 +179,9 @@ "price": 350, "price_postapoc": 50, "material": [ "wheat" ], - "volume": "500 ml", + "volume": "125 ml", "cooks_like": "oatmeal_cooked", "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "RAW" ], - "charges": 4, "vitamins": [ [ "calcium", 1 ], [ "iron", 10 ] ], "fun": -8 }, @@ -221,8 +218,7 @@ "price": 550, "price_postapoc": 75, "material": [ "wheat" ], - "volume": "375 ml", - "charges": 2, + "volume": "187 ml", "flags": [ "EATEN_HOT" ], "fun": 3, "vitamins": [ [ "vitC", 30 ], [ "calcium", 1 ], [ "iron", 10 ] ] @@ -280,8 +276,7 @@ "price_postapoc": 50, "material": [ "wheat", "milk" ], "primary_material": "wheat", - "volume": "250 ml", - "charges": 4, + "volume": "62 ml", "flags": [ "EATEN_HOT" ], "fun": 3, "vitamins": [ [ "calcium", 6 ], [ "iron", 4 ] ] @@ -330,8 +325,7 @@ "price_postapoc": 100, "material": [ "wheat", "milk", "egg" ], "primary_material": "wheat", - "volume": "250 ml", - "charges": 2, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": 8, "vitamins": [ [ "calcium", 3 ], [ "iron", 5 ] ] @@ -392,9 +386,8 @@ "price": 110, "price_postapoc": 600, "material": [ "wheat" ], - "volume": "1 L", + "volume": "125 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 8, "vitamins": [ [ "calcium", 5 ], [ "iron", 12 ] ], "fun": 2 }, @@ -409,7 +402,7 @@ "looks_like": "crackers", "price": 55, "price_postapoc": 300, - "volume": "250 ml", + "volume": "31 ml", "vitamins": [ [ "calcium", 1 ], [ "iron", 4 ] ] }, { @@ -428,8 +421,7 @@ "price": 1250, "price_postapoc": 800, "material": [ "wheat", "fruit" ], - "volume": "2 L", - "charges": 8, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 3, "//": "these vitamins are only for pies that may spawn. generally they will be inherited from the fruit used.", @@ -451,8 +443,7 @@ "price_postapoc": 600, "material": [ "wheat", "milk" ], "primary_material": "wheat", - "volume": "1 L", - "charges": 4, + "volume": "250 ml", "flags": [ "EATEN_HOT" ], "fun": 10, "vitamins": [ [ "vitC", 4 ], [ "calcium", 25 ], [ "iron", 23 ] ] @@ -474,9 +465,8 @@ "price_postapoc": 450, "material": [ "wheat", "fruit" ], "primary_material": "wheat", - "volume": "250 ml", + "volume": "62 ml", "flags": [ "EDIBLE_FROZEN" ], - "charges": 4, "vitamins": [ [ "calcium", 2 ], [ "iron", 7 ] ], "fun": 3 }, @@ -497,8 +487,7 @@ "price_postapoc": 1500, "material": [ "wheat", "milk" ], "primary_material": "wheat", - "volume": "1 L", - "charges": 8, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": 6, "vitamins": [ [ "calcium", 4 ], [ "iron", 8 ] ] @@ -540,7 +529,6 @@ "price_postapoc": 125, "material": [ "wheat", "fruit" ], "volume": "250 ml", - "stack_size": 1, "fun": 9, "vitamins": [ [ "vitC", 2 ], [ "calcium", 6 ], [ "iron", 8 ] ] }, @@ -560,8 +548,7 @@ "price_postapoc": 500, "material": [ "wheat", "milk" ], "primary_material": "wheat", - "volume": "750 ml", - "charges": 6, + "volume": "125 ml", "flags": [ "EATEN_HOT" ], "fun": 6, "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ] ] @@ -574,10 +561,9 @@ "description": "Plain, fluffy cake for the proletariat.", "container": "box_small", "weight": "68 g", - "volume": "750 ml", + "volume": "187 ml", "price": 5000, "price_postapoc": 300, - "charges": 4, "material": [ "wheat", "egg" ], "symbol": "%", "color": "brown", diff --git a/data/json/items/generic/string.json b/data/json/items/generic/string.json index 867fa996a23a0..a95518b013b85 100644 --- a/data/json/items/generic/string.json +++ b/data/json/items/generic/string.json @@ -209,8 +209,7 @@ "comestible_type": "INVALID", "fun": -100, "healthy": -20, - "volume": "1 L", - "stack_size": 10, + "volume": "100 ml", "weight": "80 g" }, { diff --git a/data/json/mapgen/animalshelter.json b/data/json/mapgen/animalshelter.json index e6807b1b662e4..57fd4266aee3a 100644 --- a/data/json/mapgen/animalshelter.json +++ b/data/json/mapgen/animalshelter.json @@ -12,8 +12,8 @@ { "item": "bandages", "prob": 25, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 25 }, { "item": "saline", "prob": 20 }, - { "item": "vitamins", "prob": 15 }, - { "item": "calcium_tablet", "prob": 15 }, + { "prob": 15, "group": "vitamins_bottle_plastic_pill_supplement_20" }, + { "prob": 15, "group": "calcium_tablet_bottle_plastic_pill_supplement_20" }, { "item": "nyquil", "prob": 5 }, { "item": "disinfectant", "prob": 15 }, { "item": "elec_hairtrimmer", "prob": 15 }, @@ -41,8 +41,8 @@ { "item": "pet_carrier", "prob": 30 }, { "item": "dogfood", "prob": 30, "container-item": "can_medium" }, { "item": "catfood", "prob": 30, "container-item": "can_food" }, - { "item": "dogfood_dry", "prob": 10, "charges": 18, "container-item": "bag_plastic" }, - { "item": "catfood_dry", "prob": 10, "charges": 18, "container-item": "bag_plastic" }, + { "prob": 10, "group": "dogfood_dry_bag_plastic_18" }, + { "prob": 10, "group": "catfood_dry_bag_plastic_18" }, { "item": "towel", "prob": 20 }, { "item": "soap", "prob": 10 }, { "item": "gloves_medical", "prob": 20 }, @@ -59,9 +59,9 @@ "subtype": "distribution", "entries": [ { "item": "syringe", "prob": 10 }, - { "item": "antifungal", "prob": 30 }, - { "item": "antiparasitic", "prob": 30 }, - { "item": "antibiotics", "prob": 20 }, + { "prob": 30, "group": "antifungal_bottle_plastic_pill_prescription_5" }, + { "prob": 30, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, + { "prob": 20, "group": "antibiotics_bottle_plastic_pill_prescription_15" }, { "item": "saline", "prob": 15 }, { "item": "medical_tape", "prob": 35 } ] @@ -499,5 +499,37 @@ } ] } + }, + { + "type": "item_group", + "id": "calcium_tablet_bottle_plastic_pill_supplement_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_supplement", + "entries": [ { "item": "calcium_tablet", "container-item": "null", "count": 20 } ] + }, + { + "type": "item_group", + "id": "dogfood_dry_bag_plastic_18", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "dogfood_dry", "container-item": "null", "count": 18 } ] + }, + { + "type": "item_group", + "id": "catfood_dry_bag_plastic_18", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "catfood_dry", "container-item": "null", "count": 18 } ] + }, + { + "type": "item_group", + "id": "antifungal_bottle_plastic_pill_prescription_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "antifungal", "container-item": "null", "count": 5 } ] } ] diff --git a/data/json/mapgen/basement/basement_weed.json b/data/json/mapgen/basement/basement_weed.json index ef1fbcec8e22b..d76ebd4ccb198 100644 --- a/data/json/mapgen/basement/basement_weed.json +++ b/data/json/mapgen/basement/basement_weed.json @@ -3,8 +3,8 @@ "id": "weed_farm", "type": "item_group", "items": [ - { "item": "weed", "prob": 70, "count-min": 0, "count-max": 4 }, - { "item": "seed_weed", "prob": 60 }, + { "item": "weed", "prob": 70, "count-min": 0, "count-max": 20 }, + { "item": "seed_weed", "prob": 60, "count": 2 }, { "item": "cannabis", "prob": 50 }, { "item": "withered", "prob": 70 } ] diff --git a/data/json/mapgen/hazardous_waste_sarcophagus.json b/data/json/mapgen/hazardous_waste_sarcophagus.json index e10fe1b846b37..22a0f8dba1764 100644 --- a/data/json/mapgen/hazardous_waste_sarcophagus.json +++ b/data/json/mapgen/hazardous_waste_sarcophagus.json @@ -335,7 +335,7 @@ "items": [ { "item": "sewage", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 126, "prob": 40 }, { "item": "water_sewage", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 126, "prob": 40 }, - { "item": "meat_tainted", "container-item": "55gal_drum", "charges-min": 3, "charges-max": 20, "prob": 2 }, + { "prob": 2, "group": "meat_tainted_55gal_drum_3_20" }, { "group": "toxic_waste_mx_chems", "prob": 35 }, { "item": "55gal_drum", "prob": 50 } ] @@ -345,5 +345,13 @@ "type": "item_group", "subtype": "collection", "entries": [ { "item": "nanomaterial", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "meat_tainted_55gal_drum_3_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "55gal_drum", + "entries": [ { "item": "meat_tainted", "count-min": 3, "count-max": 20 } ] } ] diff --git a/data/json/mapgen/house/house_suicide.json b/data/json/mapgen/house/house_suicide.json index d7208f4a14f98..bc6e083f0e846 100644 --- a/data/json/mapgen/house/house_suicide.json +++ b/data/json/mapgen/house/house_suicide.json @@ -58,7 +58,7 @@ "id": "oxy_small", "type": "item_group", "subtype": "collection", - "entries": [ { "item": "oxycodone", "charges": 1 } ] + "entries": [ { "group": "oxycodone_bottle_plastic_pill_prescription_1" } ] }, { "type": "mapgen", @@ -158,5 +158,13 @@ "palettes": [ "roof_palette" ], "terrain": { ".": "t_shingle_flat_roof" } } + }, + { + "type": "item_group", + "id": "oxycodone_bottle_plastic_pill_prescription_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "oxycodone", "container-item": "null" } ] } ] diff --git a/data/json/mapgen/irradiator_1.json b/data/json/mapgen/irradiator_1.json index 8de6d18dfa592..3345889963055 100644 --- a/data/json/mapgen/irradiator_1.json +++ b/data/json/mapgen/irradiator_1.json @@ -28,8 +28,8 @@ "type": "item_group", "subtype": "collection", "items": [ - { "item": "iodine", "prob": 50 }, - { "item": "prussian_blue", "prob": 75 }, + { "prob": 50, "group": "iodine_bottle_plastic_pill_supplement_10" }, + { "prob": 75, "group": "prussian_blue_bottle_plastic_pill_supplement_10" }, { "group": "full_1st_aid", "prob": 50 }, { "item": "gloves_medical", "prob": 20 }, { "item": "cotton_patchwork", "prob": 30, "custom-flags": [ "FILTHY" ] }, diff --git a/data/json/mapgen/map_extras/toxic_waste.json b/data/json/mapgen/map_extras/toxic_waste.json index 2141bb161d506..43d1becda69fd 100644 --- a/data/json/mapgen/map_extras/toxic_waste.json +++ b/data/json/mapgen/map_extras/toxic_waste.json @@ -6,14 +6,8 @@ { "item": "sewage", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 126, "prob": 40 }, { "item": "water_sewage", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 126, "prob": 40 }, { "item": "fetid_goop", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 200, "prob": 30 }, - { - "item": "meat_mutant_tainted", - "container-item": "55gal_drum", - "charges-min": 3, - "charges-max": 15, - "prob": 1 - }, - { "item": "veggy_tainted", "container-item": "55gal_drum", "charges-min": 3, "charges-max": 50, "prob": 2 }, + { "prob": 1, "group": "meat_mutant_tainted_55gal_drum_3_15" }, + { "prob": 2, "group": "veggy_tainted_55gal_drum_3_50" }, { "group": "toxic_waste_mx_chems", "prob": 35 }, { "item": "55gal_drum", "prob": 50 }, { "item": "canister_goo", "prob": 5 }, @@ -210,5 +204,21 @@ "monsters": { "!": { "monster": "GROUP_TOXIC_WASTE", "density": 0.1, "chance": 40 } }, "place_loot": [ { "group": "toxic_waste_mx", "x": [ 10, 13 ], "y": [ 10, 12 ], "repeat": [ 1, 2 ] } ] } + }, + { + "type": "item_group", + "id": "meat_mutant_tainted_55gal_drum_3_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "55gal_drum", + "entries": [ { "item": "meat_mutant_tainted", "count-min": 3, "count-max": 15 } ] + }, + { + "type": "item_group", + "id": "veggy_tainted_55gal_drum_3_50", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "55gal_drum", + "entries": [ { "item": "veggy_tainted", "count-min": 3, "count-max": 50 } ] } ] diff --git a/data/json/mapgen/sewage_treatment.json b/data/json/mapgen/sewage_treatment.json index 4bfef0071d26f..74da12479f5ad 100644 --- a/data/json/mapgen/sewage_treatment.json +++ b/data/json/mapgen/sewage_treatment.json @@ -138,7 +138,7 @@ { "item": "sewage", "container-item": "flask_glass", "charges": 1, "prob": 50 }, { "item": "water", "container-item": "flask_glass", "charges": 1, "prob": 50 }, { "item": "water_clean", "container-item": "flask_glass", "charges": 1, "prob": 30 }, - { "item": "slime_scrap", "container-item": "flask_glass", "charges": 1, "prob": 10 } + { "prob": 10, "group": "slime_scrap_flask_glass_1" } ] }, { @@ -604,5 +604,13 @@ { "item": "bone_human", "prob": 90, "count-min": 1, "count-max": 5 }, { "item": "cotton_patchwork", "prob": 90, "count-min": 1, "count-max": 4, "custom-flags": [ "FILTHY" ] } ] + }, + { + "type": "item_group", + "id": "slime_scrap_flask_glass_1", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "flask_glass", + "entries": [ { "item": "slime_scrap" } ] } ] diff --git a/data/json/mapgen_palettes/stadium_palette.json b/data/json/mapgen_palettes/stadium_palette.json index e774a5b43a087..059738b88e784 100644 --- a/data/json/mapgen_palettes/stadium_palette.json +++ b/data/json/mapgen_palettes/stadium_palette.json @@ -185,10 +185,10 @@ "type": "item_group", "subtype": "collection", "entries": [ - { "item": "bread", "prob": 80, "count": [ 1, 3 ] }, - { "item": "hotdogs_frozen", "prob": 60, "count": [ 1, 10 ] }, - { "item": "bratwurst_sausage", "prob": 20, "count": [ 1, 4 ] }, - { "item": "corndogs_frozen", "prob": 70, "count": [ 1, 10 ] }, + { "prob": 80, "count": [ 1, 3 ], "group": "bread_bag_plastic_2" }, + { "prob": 60, "count": [ 1, 10 ], "group": "hotdogs_frozen_bag_plastic_10" }, + { "item": "bratwurst_sausage", "prob": 20, "count": [ 10, 40 ] }, + { "prob": 70, "count": [ 1, 10 ], "group": "corndogs_frozen_bag_plastic_2" }, { "item": "onion", "prob": 45, "count": [ 1, 8 ] }, { "item": "ketchup", "prob": 55, "count": [ 1, 3 ] }, { "item": "mustard", "prob": 55, "count": [ 1, 3 ] }, @@ -266,5 +266,13 @@ "id": "football_vehicles", "type": "vehicle_group", "vehicles": [ [ "water_cart", 100 ] ] + }, + { + "type": "item_group", + "id": "bread_bag_plastic_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "bread", "container-item": "null", "count": 2 } ] } ] diff --git a/data/json/monsterdrops/feral_humans.json b/data/json/monsterdrops/feral_humans.json index c61fa6033a064..8252bd28732b3 100644 --- a/data/json/monsterdrops/feral_humans.json +++ b/data/json/monsterdrops/feral_humans.json @@ -790,7 +790,7 @@ { "item": "gloves_leather", "prob": 80, "damage": [ 1, 4 ] }, { "group": "salty_snacks", "count": [ 1, 3 ], "prob": 50 }, { "group": "snacks", "count": [ 1, 3 ], "prob": 60 }, - { "item": "meth", "prob": 20, "charges": [ 1, 6 ] }, + { "prob": 20, "group": "meth_bag_zipper_1_6" }, { "group": "meth_ingredients", "prob": 5 } ] }, diff --git a/data/json/monsterdrops/zombie_military_pilot.json b/data/json/monsterdrops/zombie_military_pilot.json index 83c8b47f5881f..25371d4e30765 100644 --- a/data/json/monsterdrops/zombie_military_pilot.json +++ b/data/json/monsterdrops/zombie_military_pilot.json @@ -9,7 +9,7 @@ { "group": "clothing_military_pilot", "damage": [ 1, 4 ] }, { "item": "holster", "contents-group": "military_standard_pistols" }, { "item": "two_way_radio", "prob": 30 }, - { "item": "adderall", "prob": 40 }, + { "prob": 40, "group": "adderall_bottle_plastic_pill_prescription_10" }, { "group": "wallets_military", "prob": 25 }, { "group": "military_patrol_food", "prob": 30 }, { "group": "pocket_cigar", "prob": 15 }, diff --git a/data/json/npcs/NC_BARTENDER.json b/data/json/npcs/NC_BARTENDER.json index ad1465e48c95f..d5b8006e831fb 100644 --- a/data/json/npcs/NC_BARTENDER.json +++ b/data/json/npcs/NC_BARTENDER.json @@ -61,9 +61,9 @@ { "item": "belgian_ale", "prob": 10 }, { "item": "imperial_stout", "prob": 4 }, { "item": "single_malt_whiskey", "prob": 2, "container-item": "bottle_glass" }, - { "item": "cig", "prob": 50 }, - { "item": "chaw", "prob": 20 }, - { "item": "cigar", "prob": 40 } + { "prob": 50, "group": "cig_box_cigarette_20" }, + { "prob": 20, "group": "chaw_wrapper_20" }, + { "item": "cigar", "prob": 40, "count": 5 } ] } ] diff --git a/data/json/npcs/NC_CITY_COP.json b/data/json/npcs/NC_CITY_COP.json index 0c7ad855700a0..a4c2cf6a3864f 100644 --- a/data/json/npcs/NC_CITY_COP.json +++ b/data/json/npcs/NC_CITY_COP.json @@ -90,44 +90,44 @@ { "item": "soldering_iron", "prob": 60, "charges": [ 0, 50 ] }, { "item": "solder_wire", "prob": 60 }, { "item": "inhaler", "prob": 14, "charges-min": 10, "charges-max": 100 }, - { "item": "codeine", "prob": 15 }, - { "item": "oxycodone", "prob": 4 }, - { "item": "morphine", "prob": 4 }, - { "item": "tramadol", "prob": 11 }, - { "item": "xanax", "prob": 10 }, - { "item": "adderall", "prob": 10 }, - { "item": "thorazine", "prob": 7 }, - { "item": "prozac", "prob": 10 }, - { "item": "antibiotics", "prob": 25 }, - { "item": "antifungal", "prob": 2 }, - { "item": "antiparasitic", "prob": 3 }, + { "prob": 15, "group": "codeine_bottle_plastic_pill_painkiller_10" }, + { "prob": 4, "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "item": "morphine", "prob": 4, "count": 4 }, + { "prob": 11, "group": "tramadol_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "group": "xanax_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_10" }, + { "prob": 7, "group": "thorazine_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "group": "prozac_bottle_plastic_pill_prescription_15" }, + { "prob": 25, "group": "antibiotics_bottle_plastic_pill_prescription_15" }, + { "prob": 2, "group": "antifungal_bottle_plastic_pill_prescription_5" }, + { "prob": 3, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, { "item": "survnote", "prob": 1 }, - { "item": "diazepam", "prob": 4 }, + { "prob": 4, "group": "diazepam_bottle_plastic_pill_prescription_10" }, { "item": "flu_shot", "prob": 5 }, { "item": "syringe", "prob": 8 }, - { "item": "pills_sleep", "prob": 15 }, - { "item": "oxycodone", "prob": 4 }, - { "item": "morphine", "prob": 4 }, - { "item": "xanax", "prob": 10 }, - { "item": "adderall", "prob": 10 }, + { "prob": 15, "group": "pills_sleep_bottle_plastic_pill_prescription_10" }, + { "prob": 4, "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "item": "morphine", "prob": 4, "count": 4 }, + { "prob": 10, "group": "xanax_bottle_plastic_pill_prescription_10" }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_10" }, { "item": "pipe_tobacco", "prob": 2 }, - { "item": "tobacco", "prob": 2 }, + { "prob": 2, "group": "tobacco_bag_plastic_20" }, { "item": "adrenaline_injector", "prob": 2 }, - { "item": "weed", "prob": 50 }, + { "item": "weed", "prob": 50, "count": 5 }, { "item": "joint", "prob": 10 }, - { "item": "seed_weed", "prob": 35 }, + { "item": "seed_weed", "prob": 35, "count": 2 }, { "item": "seed_tobacco", "prob": 15 }, { "item": "rolling_paper", "prob": 9 }, { "item": "pipe_glass", "prob": 17 }, - { "item": "coke", "prob": 8 }, - { "item": "meth", "prob": 2 }, - { "item": "heroin", "prob": 1 }, - { "item": "crack", "prob": 4 }, - { "item": "antifungal", "prob": 1 }, - { "item": "antiparasitic", "prob": 2 }, - { "item": "diazepam", "prob": 1 }, - { "item": "lsd", "prob": 6 }, - { "item": "weed", "prob": 10 }, + { "prob": 8, "group": "coke_bag_zipper_8" }, + { "prob": 2, "group": "meth_bag_zipper_6" }, + { "prob": 1, "group": "heroin_bag_zipper_4" }, + { "prob": 4, "group": "crack_bag_zipper_4" }, + { "prob": 1, "group": "antifungal_bottle_plastic_pill_prescription_5" }, + { "prob": 2, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, + { "prob": 1, "group": "diazepam_bottle_plastic_pill_prescription_10" }, + { "item": "lsd", "prob": 6, "count": 5 }, + { "item": "weed", "prob": 10, "count": 5 }, { "item": "electrohack", "prob": 3, "charges-min": 0 }, { "item": "textbook_gaswarfare", "prob": 1 }, { "item": "textbook_anarch", "prob": 3 }, @@ -145,7 +145,7 @@ { "item": "tazer", "prob": 3 }, { "item": "software_hacking", "prob": 10 }, { "item": "spray_can", "prob": 50 }, - { "item": "lsd", "prob": 2 }, + { "item": "lsd", "prob": 2, "count": 5 }, { "item": "pocketwatch", "prob": 5 }, { "item": "sf_watch", "prob": 5 }, { "item": "file", "prob": 5 }, @@ -191,5 +191,45 @@ { "item": "omnicamera", "prob": 2 }, { "item": "reading_light", "prob": 6, "charges-min": 0 } ] + }, + { + "type": "item_group", + "id": "xanax_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "xanax", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "prozac_bottle_plastic_pill_prescription_15", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "prozac", "container-item": "null", "count": 15 } ] + }, + { + "type": "item_group", + "id": "diazepam_bottle_plastic_pill_prescription_10", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "diazepam", "container-item": "null", "count": 10 } ] + }, + { + "type": "item_group", + "id": "coke_bag_zipper_8", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "coke", "container-item": "null", "count": 8 } ] + }, + { + "type": "item_group", + "id": "crack_bag_zipper_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "crack", "container-item": "null", "count": 4 } ] } ] diff --git a/data/json/npcs/NC_DOCTOR.json b/data/json/npcs/NC_DOCTOR.json index 2e2974622d2db..fcd620742e741 100644 --- a/data/json/npcs/NC_DOCTOR.json +++ b/data/json/npcs/NC_DOCTOR.json @@ -86,35 +86,35 @@ { "group": "cotton_ball_bag_used", "prob": 50 }, { "group": "used_1st_aid", "prob": 35 }, { "item": "saline", "prob": 25 }, - { "item": "contacts", "prob": 10 }, - { "item": "vitamins", "prob": 75 }, - { "item": "calcium_tablet", "prob": 75 }, - { "item": "aspirin", "prob": 85 }, - { "item": "caffeine", "prob": 25 }, - { "item": "pills_sleep", "prob": 15 }, - { "item": "iodine", "prob": 5 }, + { "item": "contacts", "prob": 10, "count": 6 }, + { "prob": 75, "group": "vitamins_bottle_plastic_pill_supplement_20" }, + { "prob": 75, "group": "calcium_tablet_bottle_plastic_pill_supplement_20" }, + { "prob": 85, "group": "aspirin_bottle_plastic_pill_painkiller_20" }, + { "prob": 25, "group": "caffeine_bottle_plastic_pill_supplement_10" }, + { "prob": 15, "group": "pills_sleep_bottle_plastic_pill_prescription_10" }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_10" }, { "item": "dayquil", "prob": 70 }, { "item": "nyquil", "prob": 70 }, { "item": "disinfectant", "prob": 35 }, - { "item": "protein_powder", "prob": 7 }, - { "item": "caff_gum", "prob": 10 }, + { "prob": 7, "group": "protein_powder_bottle_plastic_small_9" }, + { "item": "caff_gum", "prob": 10, "count": 10 }, { "item": "oxygen_tank", "prob": 20 }, { "item": "smoxygen_tank", "prob": 5 }, - { "item": "eyedrops", "prob": 35 }, - { "item": "nic_gum", "prob": 25 }, + { "item": "eyedrops", "prob": 35, "count": 10 }, + { "item": "nic_gum", "prob": 25, "count": 10 }, { "item": "inhaler", "prob": 20, "charges-min": 10, "charges-max": 100 }, - { "item": "codeine", "prob": 25 }, - { "item": "oxycodone", "prob": 20 }, - { "item": "tramadol", "prob": 20 }, - { "item": "xanax", "prob": 20 }, - { "item": "adderall", "prob": 20 }, - { "item": "thorazine", "prob": 15 }, - { "item": "prozac", "prob": 20 }, - { "item": "antibiotics", "prob": 35 }, - { "item": "antifungal", "prob": 10 }, - { "item": "antiparasitic", "prob": 10 }, + { "prob": 25, "group": "codeine_bottle_plastic_pill_painkiller_10" }, + { "prob": 20, "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "prob": 20, "group": "tramadol_bottle_plastic_pill_prescription_10" }, + { "prob": 20, "group": "xanax_bottle_plastic_pill_prescription_10" }, + { "prob": 20, "group": "adderall_bottle_plastic_pill_prescription_10" }, + { "prob": 15, "group": "thorazine_bottle_plastic_pill_prescription_10" }, + { "prob": 20, "group": "prozac_bottle_plastic_pill_prescription_15" }, + { "prob": 35, "group": "antibiotics_bottle_plastic_pill_prescription_15" }, + { "prob": 10, "group": "antifungal_bottle_plastic_pill_prescription_5" }, + { "prob": 10, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, { "item": "survnote", "prob": 5 }, - { "item": "diazepam", "prob": 10 }, + { "prob": 10, "group": "diazepam_bottle_plastic_pill_prescription_10" }, { "item": "syringe", "prob": 20 } ] } diff --git a/data/json/npcs/NC_HACKER.json b/data/json/npcs/NC_HACKER.json index 24e13911c5774..8c102e7898622 100644 --- a/data/json/npcs/NC_HACKER.json +++ b/data/json/npcs/NC_HACKER.json @@ -9,11 +9,11 @@ { "item": "mag_computer", "prob": 45 }, { "item": "mag_electronics", "prob": 25 }, { "item": "colamdew", "prob": 50 }, - { "item": "adderall", "prob": 10 }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_10" }, { "item": "fries", "prob": 10 }, { "item": "cheese_fries", "prob": 10 }, { "item": "onion_rings", "prob": 10 }, - { "item": "mintpatties", "prob": 20 }, + { "prob": 20, "group": "mintpatties_bag_plastic_3" }, { "item": "electrohack", "prob": 3, "charges-min": 0 }, { "item": "usb_drive", "prob": 5 }, { "group": "ammo_pocket_batteries_full", "prob": 50 }, diff --git a/data/json/npcs/NC_HUNTER.json b/data/json/npcs/NC_HUNTER.json index f033d4cfdcd83..936794bc612db 100644 --- a/data/json/npcs/NC_HUNTER.json +++ b/data/json/npcs/NC_HUNTER.json @@ -88,14 +88,14 @@ { "item": "meat", "prob": 40 }, { "item": "fish_cooked", "prob": 10 }, { "item": "fish", "prob": 10 }, - { "item": "tallow", "prob": 10 }, + { "item": "tallow", "prob": 10, "count": 2 }, { "item": "fat", "prob": 10 }, { "item": "dry_meat", "prob": 10 }, { "item": "dry_fish", "prob": 10 }, - { "item": "dry_veggy", "prob": 10 }, + { "item": "dry_veggy", "prob": 10, "count": 2 }, { "item": "dry_fruit", "prob": 10 }, - { "item": "salt", "prob": 10 }, - { "item": "pepper", "prob": 10 }, + { "prob": 10, "group": "salt_bag_plastic_100" }, + { "prob": 10, "group": "pepper_bag_plastic_100" }, { "item": "meat_smoked", "prob": 10 }, { "item": "meat_smoked", "prob": 10 }, { "item": "bone", "prob": 10 }, diff --git a/data/json/npcs/NC_JUNK_SHOPKEEP.json b/data/json/npcs/NC_JUNK_SHOPKEEP.json index 6721149fa38ee..b9ef393597c2a 100644 --- a/data/json/npcs/NC_JUNK_SHOPKEEP.json +++ b/data/json/npcs/NC_JUNK_SHOPKEEP.json @@ -88,11 +88,11 @@ { "item": "balclava", "prob": 10 }, { "item": "pickaxe", "prob": 20 }, { "item": "makeshift_machete", "prob": 15 }, - { "item": "fungicide", "prob": 20 }, - { "item": "insecticide", "prob": 20 }, - { "item": "antifungal", "prob": 20 }, - { "item": "antiparasitic", "prob": 20 }, - { "item": "diazepam", "prob": 15 }, + { "prob": 20, "group": "fungicide_bag_plastic_400" }, + { "prob": 20, "group": "insecticide_bag_plastic_400" }, + { "prob": 20, "group": "antifungal_bottle_plastic_pill_prescription_5" }, + { "prob": 20, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, + { "prob": 15, "group": "diazepam_bottle_plastic_pill_prescription_10" }, { "item": "small_repairkit", "prob": 20 }, { "item": "grapnel", "prob": 5 }, { "item": "misc_repairkit", "prob": 15, "charges-min": 0 }, @@ -230,7 +230,7 @@ { "item": "cu_pipe", "prob": 50 }, { "item": "multitool", "prob": 6 }, { "item": "survnote", "prob": 1 }, - { "item": "fertilizer_commercial", "prob": 30 }, + { "prob": 30, "group": "fertilizer_commercial_bag_canvas_60" }, { "item": "peephole", "prob": 25 }, { "item": "chem_chromium_oxide", "prob": 5 }, { "item": "chem_thermite", "prob": 10 }, diff --git a/data/json/npcs/NC_SCAVENGER.json b/data/json/npcs/NC_SCAVENGER.json index 272e6bda15ab3..36e1ae3ae2d65 100644 --- a/data/json/npcs/NC_SCAVENGER.json +++ b/data/json/npcs/NC_SCAVENGER.json @@ -56,22 +56,22 @@ { "item": "colamdew", "prob": 60 }, { "item": "choc_drink", "prob": 30 }, { "item": "jerky", "prob": 55 }, - { "item": "cracklins", "prob": 25 }, + { "prob": 25, "group": "cracklins_bag_plastic_4" }, { "item": "salted_fish", "prob": 35 }, - { "item": "porkstick", "prob": 55 }, - { "item": "ravioli", "prob": 25 }, - { "item": "can_beans", "prob": 40 }, - { "item": "can_corn", "prob": 35 }, - { "item": "can_spam", "prob": 30 }, - { "item": "salt", "prob": 10 }, - { "item": "seasoning_salt", "prob": 5 }, + { "prob": 55, "group": "porkstick_bag_plastic_4" }, + { "prob": 25, "group": "ravioli_can_medium_2" }, + { "prob": 40, "group": "can_beans_can_medium_2" }, + { "prob": 35, "group": "can_corn_can_medium_2" }, + { "prob": 30, "group": "can_spam_can_medium_6" }, + { "prob": 10, "group": "salt_bag_plastic_100" }, + { "prob": 5, "group": "seasoning_salt_bag_plastic_100" }, { "item": "vinegar", "prob": 10 }, - { "item": "veggy_pickled", "prob": 30, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 30, "group": "veggy_pickled_jar_glass_sealed_2" }, { "item": "con_milk", "prob": 20 }, - { "item": "fish_pickled", "prob": 26, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 26, "group": "fish_pickled_jar_glass_sealed_2" }, { "item": "lutefisk", "prob": 1 }, { "item": "pemmican", "prob": 10 }, - { "item": "meat_pickled", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" } + { "prob": 20, "group": "meat_pickled_jar_glass_sealed_2" } ] } ] diff --git a/data/json/npcs/NC_SOLDIER.json b/data/json/npcs/NC_SOLDIER.json index 49f65c0f8a213..18e1d41eb52a7 100644 --- a/data/json/npcs/NC_SOLDIER.json +++ b/data/json/npcs/NC_SOLDIER.json @@ -150,8 +150,8 @@ { "item": "knee_pads", "prob": 20 }, { "item": "mess_kit", "prob": 30 }, { "item": "e_tool", "prob": 15 }, - { "item": "chocolate", "prob": 30 }, - { "item": "can_beans", "prob": 20 }, + { "prob": 30, "group": "chocolate_wrapper_3" }, + { "prob": 20, "group": "can_beans_can_medium_2" }, { "group": "any_MRE", "count": [ 2, 3 ], "prob": 45 }, { "group": "full_ifak", "prob": 35 }, { "item": "saline", "prob": 10 }, diff --git a/data/json/npcs/NC_SURVIVOR_CHEF.json b/data/json/npcs/NC_SURVIVOR_CHEF.json index 9f1c5984f35dd..9b91b1c24cc0d 100644 --- a/data/json/npcs/NC_SURVIVOR_CHEF.json +++ b/data/json/npcs/NC_SURVIVOR_CHEF.json @@ -71,11 +71,11 @@ { "item": "water_clean", "prob": 90 }, { "item": "knife_butcher", "prob": 100 }, { "item": "joint", "prob": 50 }, - { "item": "coke", "prob": 5 }, - { "item": "cig", "prob": 60 }, + { "prob": 5, "group": "coke_bag_zipper_8" }, + { "prob": 60, "group": "cig_box_cigarette_20" }, { "item": "lighter", "prob": 60, "charges-min": 10 }, - { "item": "veggy_pickled", "prob": 30, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_pickled", "prob": 20, "charges": 2, "container-item": "jar_glass_sealed" } + { "prob": 30, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 20, "group": "meat_pickled_jar_glass_sealed_2" } ] } ] diff --git a/data/json/npcs/godco/classes.json b/data/json/npcs/godco/classes.json index 6b9129c37834e..af1fcf55675a1 100644 --- a/data/json/npcs/godco/classes.json +++ b/data/json/npcs/godco/classes.json @@ -1018,7 +1018,7 @@ { "item": "gasoline_lantern", "prob": 7, "charges-min": 100 }, { "item": "oil_lamp", "prob": 7, "charges-min": 100 }, { "item": "lamp_oil", "prob": 5, "charges-min": 100 }, - { "item": "pur_tablets", "prob": 10, "charges": [ 5, 15 ] }, + { "item": "pur_tablets", "prob": 10, "count": [ 5, 15 ] }, { "item": "mess_kit", "prob": 33 }, { "item": "popcan_stove", "prob": 33, "charges": [ 100, 500 ] }, { @@ -1095,11 +1095,11 @@ [ "chem_hexamine", 5 ], [ "flint_steel", 10 ], [ "esbit_stove", 10 ], - { "item": "wild_herbs", "prob": 100, "count": [ 1, 10 ] }, + { "item": "wild_herbs", "prob": 100, "count": [ 20, 200 ] }, { "item": "thyme", "prob": 75, "count": [ 1, 10 ] }, { "item": "hickory_nut", "prob": 66, "count": [ 1, 10 ] }, - { "item": "poppy_pain", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "poppy_sleep", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" } + { "prob": 80, "group": "poppy_pain_jar_glass_sealed_2" }, + { "prob": 80, "group": "poppy_sleep_jar_glass_sealed_2" } ] }, { @@ -1286,5 +1286,21 @@ "type": "item_group", "id": "NC_GODCO_MERCHANT_sell", "items": [ { "group": "NC_EVAC_SHOPKEEP_misc", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "poppy_pain_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "poppy_pain", "count": 2 } ] + }, + { + "type": "item_group", + "id": "poppy_sleep_jar_glass_sealed_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "jar_glass_sealed", + "entries": [ { "item": "poppy_sleep", "count": 2 } ] } ] diff --git a/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json index 206688b7a1e07..c12782945d326 100644 --- a/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json @@ -88,13 +88,13 @@ "subtype": "distribution", "entries": [ { "item": "royal_jelly", "prob": 50 }, - { "item": "flavored_bonemeal_tablet", "prob": 55 }, - { "item": "bonemeal_tablet", "prob": 95 }, + { "item": "flavored_bonemeal_tablet", "prob": 55, "count": 42 }, + { "item": "bonemeal_tablet", "prob": 95, "count": 40 }, { "item": "cattail_jelly", "prob": 95 }, { "item": "thyme_oil", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, { "item": "mugwort_oil", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "poppy_pain", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "poppy_sleep", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 80, "group": "poppy_pain_jar_glass_sealed_2" }, + { "prob": 80, "group": "poppy_sleep_jar_glass_sealed_2" }, { "item": "poppysyrup", "prob": 80, "charges": 10, "container-item": "jar_glass_sealed" }, { "item": "bee_balm_tea", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, { "item": "chamomile_tea", "prob": 80, "charges": 2, "container-item": "jar_glass_sealed" }, diff --git a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json index aaa63bd7f88ee..4a453d7936177 100644 --- a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json @@ -46,9 +46,9 @@ "id": "NC_ISHERWOOD_EDDIE_misc", "subtype": "distribution", "entries": [ - { "item": "cheese_hard", "prob": 55 }, - { "item": "cheese", "prob": 55 }, - { "item": "butter", "prob": 55 }, + { "prob": 55, "group": "cheese_hard_wrapper_8" }, + { "prob": 55, "group": "cheese_bag_plastic_8" }, + { "prob": 55, "group": "butter_wrapper_32" }, { "item": "meat_smoked", "prob": 45 }, { "item": "fish_smoked", "prob": 25 }, { "item": "milk", "prob": 70, "charges": 12, "container-item": "jar_3l_glass_sealed" } diff --git a/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json index f986d24ef2420..c452fd4b61fdc 100644 --- a/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json @@ -123,20 +123,20 @@ "id": "NC_ISHERWOOD_JACK_misc", "subtype": "distribution", "entries": [ - { "item": "cheese_hard", "prob": 50 }, + { "prob": 50, "group": "cheese_hard_wrapper_8" }, { "item": "vinegar", "prob": 55 }, - { "item": "veggy_pickled", "prob": 50, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "sauerkraut", "prob": 50, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_pickled", "prob": 50, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "fish_pickled", "prob": 60, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "meat_canned", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_canned", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "apple_canned", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "can_tomato", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "meat_pickled", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "veggy_pickled", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, - { "item": "fish_pickled", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, + { "prob": 50, "group": "veggy_pickled_jar_glass_sealed_2" }, + { "prob": 50, "group": "sauerkraut_jar_glass_sealed_2" }, + { "prob": 50, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 60, "group": "fish_pickled_jar_glass_sealed_2" }, + { "prob": 40, "group": "meat_canned_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "veggy_canned_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "apple_canned_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "can_tomato_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "fish_pickled_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "meat_pickled_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "veggy_pickled_jar_3l_glass_sealed_12" }, + { "prob": 40, "group": "fish_pickled_jar_3l_glass_sealed_12" }, { "item": "sauce_red", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" }, { "item": "kompot", "prob": 40, "charges": 12, "container-item": "jar_3l_glass_sealed" } ] diff --git a/data/json/npcs/items_generic.json b/data/json/npcs/items_generic.json index 57f609e9b3de8..24ad2824e78ad 100644 --- a/data/json/npcs/items_generic.json +++ b/data/json/npcs/items_generic.json @@ -675,10 +675,10 @@ [ "jackhammer", 2 ], [ "jam_fruit", 4 ], [ "jar_3l_glass_sealed", 2 ], - { "item": "fish_pickled", "prob": 2, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 2, "group": "fish_pickled_jar_glass_sealed_2" }, [ "jar_glass_sealed", 2 ], - { "item": "meat_pickled", "prob": 2, "charges": 2, "container-item": "jar_glass_sealed" }, - { "item": "veggy_pickled", "prob": 4, "charges": 2, "container-item": "jar_glass_sealed" }, + { "prob": 2, "group": "meat_pickled_jar_glass_sealed_2" }, + { "prob": 4, "group": "veggy_pickled_jar_glass_sealed_2" }, [ "jerrycan", 3 ], [ "jerrycan_big", 2 ], [ "joint", 10 ], @@ -904,20 +904,14 @@ [ "power_supply", 1 ], [ "press", 1 ], [ "processor", 1 ], - { - "item": "protein_powder", - "prob": 1, - "container-item": "bottle_plastic_small", - "charges-min": 1, - "charges-max": 9 - }, + { "prob": 1, "group": "protein_powder_bottle_plastic_small_1_9" }, [ "protein_shake", 1 ], [ "prozac", 3 ], [ "puck", 1 ], [ "pudding", 2 ], [ "puller", 1 ], [ "punch_dagger", 2 ], - { "item": "pur_tablets", "container-item": "bottle_plastic_small", "charges": 5 }, + { "group": "pur_tablets_bottle_plastic_small_5" }, [ "purple_drink", 3 ], [ "purse", 4 ], [ "quikclot", 5 ], @@ -1136,5 +1130,13 @@ [ "yoghurt", 2 ], [ "zucchini", 3 ] ] + }, + { + "type": "item_group", + "id": "pur_tablets_bottle_plastic_small_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_small", + "entries": [ { "item": "pur_tablets", "count": 5 } ] } ] diff --git a/data/json/npcs/lumbermill_employees/lumbermill_employees.json b/data/json/npcs/lumbermill_employees/lumbermill_employees.json index 3e8309a5c3f54..c0cc6f73c75fc 100644 --- a/data/json/npcs/lumbermill_employees/lumbermill_employees.json +++ b/data/json/npcs/lumbermill_employees/lumbermill_employees.json @@ -84,7 +84,7 @@ "entries": [ { "item": "ax", "prob": 70 }, { "item": "saw", "prob": 10 }, - { "item": "can_beans", "prob": 10 }, + { "prob": 10, "group": "can_beans_can_medium_2" }, { "item": "chainsaw_off", "prob": 10 } ] } diff --git a/data/json/npcs/random_encounters/john_bailey.json b/data/json/npcs/random_encounters/john_bailey.json index 444a4e118aee8..3f3e06278ed2e 100644 --- a/data/json/npcs/random_encounters/john_bailey.json +++ b/data/json/npcs/random_encounters/john_bailey.json @@ -103,7 +103,7 @@ { "group": "soup_packet" }, { "item": "dogfood_dry" }, { "item": "lighter", "charges": 100 }, - { "item": "aspirin" }, + { "group": "aspirin_bottle_plastic_pill_painkiller_20" }, { "item": "bandages", "count": [ 1, 3 ] }, { "item": "pot" }, { "item": "FMCNote", "count": 10 }, @@ -179,8 +179,8 @@ "u_has_var": "John_Bailey_Convo", "context": "RC_John_Bailey_2", "value": "seen", - "yes": "Like I said,\" John shrugs. \"I'm just checking\u00A0", - "no": "Same as you, I imagine,\" John shrugs. \"Checking\u00A0" + "yes": "Like I said,\" John shrugs. \"I'm just checking ", + "no": "Same as you, I imagine,\" John shrugs. \"Checking " }, "the place out, doing a little shopping. Then I'll be on my way again. Might see if they have any work that needs done first, if the price is right." ] diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Vanessa_Toby.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Vanessa_Toby.json index 51e13bccd67da..9ff088d4899c1 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Vanessa_Toby.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Vanessa_Toby.json @@ -57,7 +57,7 @@ "type": "item_group", "id": "REFUGEE_Vanessa_carried", "subtype": "collection", - "entries": [ { "item": "lighter" }, { "item": "ecig" } ] + "entries": [ { "item": "lighter" }, { "item": "ecig", "count": 40 } ] }, { "type": "item_group", diff --git a/data/json/npcs/robofac/NC_ROBOFAC_SCIENTIST.json b/data/json/npcs/robofac/NC_ROBOFAC_SCIENTIST.json index e796ab76e33fb..04de873026f4a 100644 --- a/data/json/npcs/robofac/NC_ROBOFAC_SCIENTIST.json +++ b/data/json/npcs/robofac/NC_ROBOFAC_SCIENTIST.json @@ -14,7 +14,7 @@ { "item": "pencil", "charges": [ 50, 100 ], "damage": [ 0, 2 ] }, { "item": "paper", "count": [ 2, 3 ] }, { "item": "laptop", "charges": [ 300, 500 ] }, - { "item": "nic_gum", "charges": [ 5, 10 ] }, + { "item": "nic_gum", "count": [ 5, 10 ] }, { "item": "water_clean", "container-item": "canteen", "prob": 50, "charges": [ 2, 6 ] }, { "item": "boots" } ] diff --git a/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json b/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json index c52905dc41317..0c0c3e7c4bf65 100644 --- a/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json +++ b/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json @@ -51,11 +51,11 @@ "items": [ { "item": "RobofacCoin", "count-min": 5, "count-max": 30, "prob": 90 }, { "item": "jerky", "count-min": 10, "count-max": 25, "prob": 100 }, - { "item": "tallow", "count-min": 10, "count-max": 25, "prob": 100 }, + { "item": "tallow", "prob": 100, "count-min": 20, "count-max": 50 }, { "item": "pemmican", "count-min": 10, "count-max": 25, "prob": 100 }, { "item": "dry_meat", "count-min": 10, "count-max": 25, "prob": 100 }, { "item": "dry_fish", "count-min": 10, "count-max": 25, "prob": 100 }, - { "item": "dry_veggy", "count-min": 10, "count-max": 25, "prob": 100 }, + { "item": "dry_veggy", "prob": 100, "count-min": 20, "count-max": 50 }, { "item": "dry_fruit", "count-min": 10, "count-max": 25, "prob": 100 }, { "item": "trenchcoat", "prob": 25 }, { "item": "trenchcoat_leather", "prob": 20 }, @@ -78,10 +78,10 @@ { "item": "wristwatch", "prob": 30 }, { "item": "bandana", "prob": 20 }, { "item": "scarf", "prob": 15 }, - { "item": "fungicide", "prob": 20 }, - { "item": "insecticide", "prob": 20 }, - { "item": "antifungal", "prob": 20 }, - { "item": "antiparasitic", "prob": 20 }, + { "prob": 20, "group": "fungicide_bag_plastic_400" }, + { "prob": 20, "group": "insecticide_bag_plastic_400" }, + { "prob": 20, "group": "antifungal_bottle_plastic_pill_prescription_5" }, + { "prob": 20, "group": "antiparasitic_bottle_plastic_pill_prescription_5" }, { "group": "robofac_basic_trade", "count": [ 1, 5 ], "prob": 20 }, { "group": "robofac_armor_pieces", "count": [ 1, 2 ], "prob": 20 } ] diff --git a/data/json/npcs/robofac/robofac_ancilla_npcs/BAR_ENCOUNTER_MERCENARIES/BEM_drugs.json b/data/json/npcs/robofac/robofac_ancilla_npcs/BAR_ENCOUNTER_MERCENARIES/BEM_drugs.json index 3c29cc2cd923e..b2ef75c7f46b1 100644 --- a/data/json/npcs/robofac/robofac_ancilla_npcs/BAR_ENCOUNTER_MERCENARIES/BEM_drugs.json +++ b/data/json/npcs/robofac/robofac_ancilla_npcs/BAR_ENCOUNTER_MERCENARIES/BEM_drugs.json @@ -43,10 +43,10 @@ "subtype": "collection", "entries": [ { "item": "glock17_22", "charges": 22, "ammo-item": "9mmP", "count": [ 1, 2 ] }, - { "item": "coke", "prob": 30, "charges": [ 1, 8 ] }, - { "item": "pure_meth", "prob": 30, "charges": [ 1, 6 ] }, - { "item": "heroin", "prob": 100, "charges": [ 1, 4 ] }, - { "item": "oxycodone", "prob": 100, "charges": [ 1, 10 ] }, + { "prob": 30, "group": "coke_bag_zipper_1_8" }, + { "prob": 30, "group": "pure_meth_bag_zipper_1_6" }, + { "prob": 100, "group": "heroin_bag_zipper_1_4" }, + { "prob": 100, "group": "oxycodone_bottle_plastic_pill_prescription_1_10" }, { "group": "harddrugs", "prob": 100, "count": [ 6, 12 ] } ] }, @@ -58,5 +58,13 @@ { "text": "Sure, let see what you offer.", "topic": "TALK_DONE", "effect": "start_trade" }, { "text": "Not interested.", "topic": "TALK_DONE" } ] + }, + { + "type": "item_group", + "id": "pure_meth_bag_zipper_1_6", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_zipper", + "entries": [ { "item": "pure_meth", "container-item": "null", "count": [ 1, 6 ] } ] } ] diff --git a/data/json/npcs/robofac/robofac_ancilla_npcs/NPC_ANCILLA_DOCTOR.json b/data/json/npcs/robofac/robofac_ancilla_npcs/NPC_ANCILLA_DOCTOR.json index cc07ea68815cc..ae1e3c482315c 100644 --- a/data/json/npcs/robofac/robofac_ancilla_npcs/NPC_ANCILLA_DOCTOR.json +++ b/data/json/npcs/robofac/robofac_ancilla_npcs/NPC_ANCILLA_DOCTOR.json @@ -65,12 +65,12 @@ "id": "NC_ANCILLA_DOCTOR_EXPENSIVE_ITEMS", "subtype": "collection", "entries": [ - { "item": "morphine", "prob": 100 }, - { "item": "antibiotics", "prob": 100 }, - { "item": "strong_antibiotic", "prob": 100 }, + { "item": "morphine", "prob": 100, "count": 4 }, + { "prob": 100, "group": "antibiotics_bottle_plastic_pill_prescription_15" }, + { "prob": 100, "group": "strong_antibiotic_bottle_plastic_pill_prescription_5" }, { "item": "anesthetic", "prob": 100 }, - { "item": "oxycodone", "prob": 100 }, - { "item": "codeine", "prob": 100 } + { "prob": 100, "group": "oxycodone_bottle_plastic_pill_prescription_10" }, + { "prob": 100, "group": "codeine_bottle_plastic_pill_painkiller_10" } ] }, { @@ -180,5 +180,13 @@ "id": "TALK_ANCILLA_DOCTOR_WORK", "dynamic_line": "It takes resources to keep this show running: disinfectant, antibiotics, anesthetics, so on. I'll give you a great price if you bring any of those.", "responses": [ { "text": "I'll keep that in mind.", "topic": "TALK_ANCILLA_DOCTOR" } ] + }, + { + "type": "item_group", + "id": "strong_antibiotic_bottle_plastic_pill_prescription_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bottle_plastic_pill_prescription", + "entries": [ { "item": "strong_antibiotic", "container-item": "null", "count": 5 } ] } ] diff --git a/data/json/npcs/tacoma_ranch/mission_mapgen_tacoma_commune.json b/data/json/npcs/tacoma_ranch/mission_mapgen_tacoma_commune.json index a0a5b05dcfbca..c2ea3fd192ed1 100644 --- a/data/json/npcs/tacoma_ranch/mission_mapgen_tacoma_commune.json +++ b/data/json/npcs/tacoma_ranch/mission_mapgen_tacoma_commune.json @@ -2,7 +2,7 @@ { "type": "item_group", "id": "ranch_nurse_clinic_aspirin", - "items": [ { "item": "aspirin", "prob": 1, "charges": 20 } ] + "items": [ { "prob": 1, "group": "aspirin_bottle_plastic_pill_painkiller_20" } ] }, { "type": "item_group", @@ -35,8 +35,8 @@ "id": "ranch_nurse_clinic_surgery", "items": [ { "item": "saline", "prob": 20, "container-item": "bag_iv" }, - { "item": "iodine", "prob": 5, "charges": [ 1, 10 ] }, - { "item": "prussian_blue", "prob": 5, "charges": [ 1, 10 ] }, + { "prob": 5, "group": "iodine_bottle_plastic_pill_supplement_1_10" }, + { "prob": 5, "group": "prussian_blue_bottle_plastic_pill_supplement_1_10" }, { "item": "bandages", "prob": 50, "count": [ 1, 3 ] }, { "group": "adhesive_bandages_box_used", "prob": 20 }, { "group": "cotton_ball_bag_used", "prob": 50 }, @@ -52,7 +52,7 @@ { "item": "oxygen_tank", "prob": 50, "charges": [ 0, 24 ] }, { "item": "smoxygen_tank", "prob": 25, "charges": [ 0, 12 ] }, [ "bfipowder", 15 ], - { "item": "quikclot", "prob": 10, "charges": [ 1, 6 ] } + { "prob": 10, "group": "quikclot_bag_plastic_1_6" } ] }, { diff --git a/data/json/recipes/chem/drugs.json b/data/json/recipes/chem/drugs.json index 170bfc2e478b6..da86a6693baeb 100644 --- a/data/json/recipes/chem/drugs.json +++ b/data/json/recipes/chem/drugs.json @@ -47,7 +47,8 @@ [ [ "sugar_standard", 1, "LIST" ], [ "artificial_sweetener", 14 ] ], [ [ "sweet_juice", 1, "LIST" ], [ "sweet_water", 1 ] ], [ [ "salt", 1 ], [ "seasoning_salt", 1 ] ] - ] + ], + "charges": 20 }, { "type": "recipe", @@ -75,6 +76,7 @@ [ [ "chem_acetone", 1 ] ], [ [ "chem_methanol", 3 ] ], [ [ "lye_powder", 5 ], [ "chem_potassium_hydroxide", 25 ], [ "lye", 1 ], [ "lye_potassium", 1 ] ] - ] + ], + "charges": 6 } ] diff --git a/data/json/recipes/food/canned.json b/data/json/recipes/food/canned.json index 74048f2685723..3416fdc076c55 100644 --- a/data/json/recipes/food/canned.json +++ b/data/json/recipes/food/canned.json @@ -2058,7 +2058,8 @@ "components": [ [ [ "water_clean", 1 ] ], [ [ "beans_cooked", 2 ], [ "dry_beans", 2 ], [ "raw_beans", 2 ] ] ], "using": [ [ "canning_metal", 2, "LIST" ], [ "tincan_medium", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 2u of canning_metal.", - "byproducts": [ [ "water_clean", 1 ] ] + "byproducts": [ [ "water_clean", 1 ] ], + "charges": 2 }, { "type": "recipe", diff --git a/data/json/recipes/food/dairy_products.json b/data/json/recipes/food/dairy_products.json index 8e5c8074aab98..be04396f8171b 100644 --- a/data/json/recipes/food/dairy_products.json +++ b/data/json/recipes/food/dairy_products.json @@ -13,7 +13,8 @@ "qualities": [ { "id": "CHURN", "level": 1 } ], "book_learn": [ [ "dairy_book", 3 ] ], "//": "Book Things to do with milk. Add curdled milk and cheese recipes to the book. Also consider adding to brewing json Airag from this book.", - "components": [ [ [ "milk_cream", 5 ] ] ] + "components": [ [ [ "milk_cream", 5 ] ] ], + "charges": 33 }, { "type": "recipe", @@ -30,7 +31,8 @@ "book_learn": [ [ "dairy_book", 3 ] ], "//": "Book Things to do with milk. Add curdled milk and cheese recipes to the book. Also consider adding to brewing json Airag from this book.", "tools": [ [ [ "jar_glass_sealed", -1 ] ] ], - "components": [ [ [ "water_clean", 1 ] ], [ [ "milk_cream", 3 ] ] ] + "components": [ [ [ "water_clean", 1 ] ], [ [ "milk_cream", 3 ] ] ], + "charges": 33 }, { "type": "recipe", diff --git a/data/json/recipes/food/dry.json b/data/json/recipes/food/dry.json index 48c4245fea4e6..3febf21593459 100644 --- a/data/json/recipes/food/dry.json +++ b/data/json/recipes/food/dry.json @@ -697,7 +697,8 @@ "batch_time_factors": [ 67, 5 ], "tools": [ [ [ "dehydrating_heat", 3, "LIST" ] ] ], "//": "25g of stuff", - "components": [ [ [ "gelatin_fresh", 1 ] ] ] + "components": [ [ [ "gelatin_fresh", 1 ] ] ], + "charges": 25 }, { "type": "recipe", diff --git a/data/json/recipes/food/meat_dishes.json b/data/json/recipes/food/meat_dishes.json index 463a586109d6a..1146b432919fc 100644 --- a/data/json/recipes/food/meat_dishes.json +++ b/data/json/recipes/food/meat_dishes.json @@ -46,7 +46,8 @@ [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "sugar", 1 ] ], [ [ "bell_pepper", 1 ] ] - ] + ], + "charges": 6 }, { "type": "recipe", @@ -71,7 +72,8 @@ [ [ "bell_pepper", 1 ] ], [ [ "garlic_clove", 2 ] ], [ [ "seasoning_mild", 2, "LIST" ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -96,7 +98,8 @@ [ [ "garlic_clove", 2 ] ], [ [ "seasoning_mild", 2, "LIST" ] ], [ [ "yoghurt", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -148,6 +151,7 @@ [ [ "cabbage", 2 ] ], [ [ "rice_cooked", 1 ] ], [ [ "eggs_bird", 1, "LIST" ] ] - ] + ], + "charges": 4 } ] diff --git a/data/json/recipes/food/offal_dishes.json b/data/json/recipes/food/offal_dishes.json index 4bdf6d6eb2b1e..44477c54bc979 100644 --- a/data/json/recipes/food/offal_dishes.json +++ b/data/json/recipes/food/offal_dishes.json @@ -174,7 +174,8 @@ [ [ "batter", 4, "LIST" ] ], [ [ "salt", 1 ] ], [ [ "seasoning_mild", 1, "LIST" ], [ "chilly-p", 1 ], [ "curry_powder", 1 ] ] - ] + ], + "charges": 3 }, { "type": "recipe", @@ -189,7 +190,8 @@ "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 40, "LIST" ] ] ], "//": "20u for flour, 20u for the meat", - "components": [ [ [ "flour_any", 20, "LIST" ] ], [ [ "meat_offal", 1, "LIST" ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "flour_any", 20, "LIST" ] ], [ [ "meat_offal", 1, "LIST" ] ], [ [ "water_clean", 1 ] ] ], + "charges": 3 }, { "type": "recipe", @@ -303,7 +305,8 @@ [ [ "salt", 1 ] ], [ [ "seasoning_mild", 4, "LIST" ] ], [ [ "fry_oil", 1, "LIST" ] ] - ] + ], + "charges": 3 }, { "type": "recipe", diff --git a/data/json/recipes/food/other.json b/data/json/recipes/food/other.json index 0916fa3325ee9..d419219d3723e 100644 --- a/data/json/recipes/food/other.json +++ b/data/json/recipes/food/other.json @@ -388,6 +388,7 @@ [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "eggs_bird", 4, "LIST" ] ], [ [ "water", 2 ] ] - ] + ], + "charges": 2 } ] diff --git a/data/json/recipes/food/raw_grain.json b/data/json/recipes/food/raw_grain.json index 5b4b75c89b561..ec3ba3ad33a3e 100644 --- a/data/json/recipes/food/raw_grain.json +++ b/data/json/recipes/food/raw_grain.json @@ -158,7 +158,8 @@ "batch_time_factors": [ 20, 1 ], "autolearn": true, "byproducts": [ [ "chaff", 1 ] ], - "components": [ [ [ "threshed_barley", 1 ] ] ] + "components": [ [ [ "threshed_barley", 1 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -173,7 +174,8 @@ "autolearn": true, "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], "byproducts": [ [ "chaff", 1 ] ], - "components": [ [ [ "threshed_barley", 1 ] ] ] + "components": [ [ [ "threshed_barley", 1 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -216,7 +218,8 @@ "batch_time_factors": [ 20, 1 ], "autolearn": true, "byproducts": [ [ "chaff", 1 ] ], - "components": [ [ [ "threshed_lentils", 1 ] ] ] + "components": [ [ [ "threshed_lentils", 1 ] ] ], + "charges": 2 }, { "type": "recipe", @@ -231,7 +234,8 @@ "autolearn": true, "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], "byproducts": [ [ "chaff", 1 ] ], - "components": [ [ [ "threshed_lentils", 1 ] ] ] + "components": [ [ [ "threshed_lentils", 1 ] ] ], + "charges": 2 }, { "type": "recipe", @@ -303,7 +307,8 @@ "batch_time_factors": [ 20, 1 ], "autolearn": true, "byproducts": [ [ "chaff", 1 ] ], - "components": [ [ [ "threshed_buckwheat", 1 ] ] ] + "components": [ [ [ "threshed_buckwheat", 1 ] ] ], + "charges": 2 }, { "type": "recipe", @@ -318,7 +323,8 @@ "autolearn": true, "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], "byproducts": [ [ "chaff", 1 ] ], - "components": [ [ [ "threshed_buckwheat", 1 ] ] ] + "components": [ [ [ "threshed_buckwheat", 1 ] ] ], + "charges": 2 }, { "type": "recipe", diff --git a/data/json/recipes/food/seed.json b/data/json/recipes/food/seed.json index 3b5bfeffeb188..9c73508d25b43 100644 --- a/data/json/recipes/food/seed.json +++ b/data/json/recipes/food/seed.json @@ -124,14 +124,16 @@ "result": "seed_barley", "type": "recipe", "copy-from": "seed_extraction_designation", - "components": [ [ [ "barley", 1 ] ] ] + "components": [ [ [ "barley", 1 ] ] ], + "charges": 4 }, { "result": "barley", "type": "recipe", "id_suffix": "seed_designation", "copy-from": "seed_extraction_designation", - "components": [ [ [ "seed_barley", 1 ] ] ] + "components": [ [ [ "seed_barley", 1 ] ] ], + "charges": 4 }, { "result": "seed_tomato", @@ -162,13 +164,15 @@ "result": "seed_salsify_raw", "type": "recipe", "copy-from": "seed_extraction_base", - "components": [ [ [ "salsify_raw", 1 ] ] ] + "components": [ [ [ "salsify_raw", 1 ] ] ], + "charges": 2 }, { "result": "seed_chicory", "type": "recipe", "copy-from": "seed_extraction_base", - "components": [ [ [ "chicory_raw", 1 ] ] ] + "components": [ [ [ "chicory_raw", 1 ] ] ], + "charges": 2 }, { "result": "seed_wildcarrot", @@ -241,26 +245,30 @@ "result": "seed_bee_balm", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "bee_balm", 1 ] ] ] + "components": [ [ [ "bee_balm", 1 ] ] ], + "charges": 2 }, { "result": "seed_buckwheat", "type": "recipe", "copy-from": "seed_extraction_designation", - "components": [ [ [ "buckwheat", 1 ] ] ] + "components": [ [ [ "buckwheat", 1 ] ] ], + "charges": 2 }, { "result": "buckwheat", "type": "recipe", "id_suffix": "seed_designation", "copy-from": "seed_extraction_base", - "components": [ [ [ "seed_buckwheat", 1 ] ] ] + "components": [ [ [ "seed_buckwheat", 1 ] ] ], + "charges": 2 }, { "result": "seed_dogbane", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "dogbane", 1 ] ] ] + "components": [ [ [ "dogbane", 1 ] ] ], + "charges": 2 }, { "result": "seed_garlic", @@ -273,7 +281,8 @@ "result": "seed_mugwort", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "mugwort", 1 ] ] ] + "components": [ [ [ "mugwort", 1 ] ] ], + "charges": 2 }, { "result": "seed_mushroom", @@ -293,19 +302,22 @@ "result": "seed_raw_dandelion", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "raw_dandelion", 4 ] ] ] + "components": [ [ [ "raw_dandelion", 4 ] ] ], + "charges": 2 }, { "result": "seed_raw_burdock", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "raw_burdock", 4 ] ] ] + "components": [ [ [ "raw_burdock", 4 ] ] ], + "charges": 2 }, { "result": "seed_japanese_knotweed", "type": "recipe", "copy-from": "seed_extraction_base", - "components": [ [ [ "japanese_knotweed_stem", 1 ] ] ] + "components": [ [ [ "japanese_knotweed_stem", 1 ] ] ], + "charges": 2 }, { "result": "seed_wild_rice", @@ -324,19 +336,22 @@ "result": "seed_jerusalem_artichoke", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "jerusalem_artichoke", 1 ] ] ] + "components": [ [ [ "jerusalem_artichoke", 1 ] ] ], + "charges": 2 }, { "result": "seed_maianthemum_stellatum", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "m_stellatum_berries", 1 ] ] ] + "components": [ [ [ "m_stellatum_berries", 1 ] ] ], + "charges": 2 }, { "result": "seed_wild_sarsaparilla", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "wild_sarsaparilla_root", 1 ] ] ] + "components": [ [ [ "wild_sarsaparilla_root", 1 ] ] ], + "charges": 2 }, { "result": "seed_mayapple", @@ -354,37 +369,43 @@ "result": "seed_groundnut", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "groundnut", 1 ] ] ] + "components": [ [ [ "groundnut", 1 ] ] ], + "charges": 2 }, { "result": "seed_wild_garlic", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "wild_garlic", 1 ] ] ] + "components": [ [ [ "wild_garlic", 1 ] ] ], + "charges": 2 }, { "result": "seed_rhubarb", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "rhubarb", 4 ] ] ] + "components": [ [ [ "rhubarb", 4 ] ] ], + "charges": 2 }, { "result": "seed_thyme", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "thyme", 1 ] ] ] + "components": [ [ [ "thyme", 1 ] ] ], + "charges": 2 }, { "result": "seed_veggy_wild", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "veggy_wild", 1 ] ] ] + "components": [ [ [ "veggy_wild", 1 ] ] ], + "charges": 2 }, { "result": "seed_wild_herbs", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "wild_herbs", 20 ] ] ] + "components": [ [ [ "wild_herbs", 20 ] ] ], + "charges": 2 }, { "result": "seed_potato_raw", @@ -411,7 +432,8 @@ "id_suffix": "seed_designation", "type": "recipe", "copy-from": "seed_extraction_designation", - "components": [ [ [ "seed_beans", 6 ] ] ] + "components": [ [ [ "seed_beans", 6 ] ] ], + "charges": 6 }, { "result": "soybean_seed", @@ -430,14 +452,16 @@ "result": "seed_lentils", "type": "recipe", "copy-from": "seed_extraction_designation", - "components": [ [ [ "dry_lentils", 2 ] ] ] + "components": [ [ [ "dry_lentils", 2 ] ] ], + "charges": 2 }, { "result": "dry_lentils", "id_suffix": "seed_designation", "type": "recipe", "copy-from": "seed_extraction_designation", - "components": [ [ [ "seed_lentils", 2 ] ] ] + "components": [ [ [ "seed_lentils", 2 ] ] ], + "charges": 2 }, { "result": "seed_chamomile", diff --git a/data/json/recipes/food/vegetable_dishes.json b/data/json/recipes/food/vegetable_dishes.json index da1020a72d633..0f5df8479f973 100644 --- a/data/json/recipes/food/vegetable_dishes.json +++ b/data/json/recipes/food/vegetable_dishes.json @@ -165,7 +165,8 @@ { "proficiency": "prof_forage_cooking" } ], "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], - "components": [ [ [ "jerusalem_artichoke_boiled", 2 ] ], [ [ "sweet_fruit", 1, "LIST" ] ] ] + "components": [ [ [ "jerusalem_artichoke_boiled", 2 ] ], [ [ "sweet_fruit", 1, "LIST" ] ] ], + "charges": 4 }, { "type": "recipe", diff --git a/data/json/recipes/other/medical.json b/data/json/recipes/other/medical.json index 714479a19381e..1ad627fc06b9b 100644 --- a/data/json/recipes/other/medical.json +++ b/data/json/recipes/other/medical.json @@ -239,7 +239,8 @@ "proficiencies": [ { "proficiency": "prof_intro_chemistry" }, { "proficiency": "prof_inorganic_chemistry" } ], "qualities": [ { "id": "CHEM", "level": 1 } ], "tools": [ [ [ "surface_heat", 18, "LIST" ] ] ], - "components": [ [ [ "meal_chitin_piece", 6 ] ], [ [ "lye_powder", 100 ], [ "lye", 3 ] ] ] + "components": [ [ [ "meal_chitin_piece", 6 ] ], [ [ "lye_powder", 100 ], [ "lye", 3 ] ] ], + "charges": 6 }, { "type": "recipe", @@ -255,7 +256,8 @@ "proficiencies": [ { "proficiency": "prof_intro_chemistry" } ], "qualities": [ { "id": "CHEM", "level": 1 }, { "id": "FINE_GRIND", "level": 1 } ], "tools": [ [ [ "surface_heat", 18, "LIST" ] ] ], - "components": [ [ [ "alder_bark", 6 ] ], [ [ "water_clean", 10 ] ] ] + "components": [ [ [ "alder_bark", 6 ] ], [ [ "water_clean", 10 ] ] ], + "charges": 6 }, { "type": "recipe", diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index 3bac4fb2e5c2d..ccebe7a0ead80 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -134,7 +134,8 @@ "qualities": [ { "id": "BOIL", "level": 1 } ], "tools": [ [ [ "water_boiling_heat", 7, "LIST" ] ] ], "//1": "additional 6u of water_boiling_heat to turn 1u water into vapor", - "components": [ [ [ "material_rocksalt", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "material_rocksalt", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ], + "charges": 100 }, { "type": "recipe", @@ -1279,7 +1280,8 @@ [ [ "sugar_standard_half", 1, "LIST" ] ], [ [ "irradiated_broccoli", 2 ], [ "broccoli", 2 ], [ "veggy_wild_cooked", 2 ], [ "veggy_cooked", 2 ] ], [ [ "soysauce", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -1301,7 +1303,8 @@ [ [ "edible_blood", 1, "LIST" ] ], [ [ "salt", 1 ] ], [ [ "seasoning_mild", 1, "LIST" ], [ "peanut", 1 ], [ "chilly-p", 1 ], [ "curry_powder", 1 ] ] - ] + ], + "charges": 3 }, { "type": "recipe", @@ -1362,7 +1365,8 @@ [ "veggy_cooked", 2 ] ], [ [ "soysauce", 1 ], [ "horseradish", 1 ], [ "salt", 1 ], [ "seasoning_salt", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -1896,7 +1900,8 @@ "tools": [ [ [ "surface_heat", 4, "LIST" ] ] ], "//": "80g of veggy-adjacent matter for 2u heat plus 2u for batter and oil", "proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_frying" }, { "proficiency": "prof_frying_bread" } ], - "components": [ [ [ "mushroom_morel", 1 ] ], [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "batter", 1, "LIST" ] ] ] + "components": [ [ [ "mushroom_morel", 1 ] ], [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "batter", 1, "LIST" ] ] ], + "charges": 2 }, { "type": "recipe", @@ -2257,7 +2262,8 @@ { "proficiency": "prof_knife_skills", "time_multiplier": 2 }, { "proficiency": "prof_frying" } ], - "components": [ [ [ "veggy_potatolike", 1, "LIST" ] ], [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ], [ [ "fry_oil", 2, "LIST" ] ] ] + "components": [ [ [ "veggy_potatolike", 1, "LIST" ] ], [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ], [ [ "fry_oil", 2, "LIST" ] ] ], + "charges": 3 }, { "type": "recipe", @@ -2429,7 +2435,8 @@ "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 3, "LIST" ] ] ], "//": "a minute in the microwave seems about right for such a small quantity", - "components": [ [ [ "kernels", 1 ] ] ] + "components": [ [ [ "kernels", 1 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -2458,7 +2465,8 @@ "qualities": [ { "id": "COOK", "level": 3 } ], "tools": [ [ [ "surface_heat", 4, "LIST" ] ] ], "//": "3u to pop the corn and 1u to melt the butter", - "components": [ [ [ "kernels", 1 ] ], [ [ "any_butter", 1, "LIST" ] ], [ [ "salt", 1 ], [ "seasoning_salt", 1 ] ] ] + "components": [ [ [ "kernels", 1 ] ], [ [ "any_butter", 1, "LIST" ] ], [ [ "salt", 1 ], [ "seasoning_salt", 1 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -2743,7 +2751,8 @@ "contained": true, "batch_time_factors": [ 80, 4 ], "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "roasted_coffee_bean", 1 ] ], [ [ "bag_plastic", 1 ] ] ] + "components": [ [ [ "roasted_coffee_bean", 1 ] ], [ [ "bag_plastic", 1 ] ] ], + "charges": 20 }, { "type": "recipe", @@ -2761,7 +2770,8 @@ "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "BOIL", "level": 1 } ], "tools": [ [ [ "surface_heat", 30, "LIST" ] ] ], "proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_forage_cooking" } ], - "components": [ [ [ "water_clean", 1 ] ], [ [ "coffee_pod", 1 ] ] ] + "components": [ [ [ "water_clean", 1 ] ], [ [ "coffee_pod", 1 ] ] ], + "charges": 5 }, { "type": "recipe", @@ -3259,7 +3269,8 @@ [ [ "gelatin_fresh", 1 ], [ "gelatin_powder", 25 ], [ "chem_agar", 25 ] ], [ [ "veggy_any", 4, "LIST" ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -3792,7 +3803,8 @@ [ [ "any_butter_or_oil", 4, "LIST" ] ], [ [ "sugar_standard", 1, "LIST" ] ], [ [ "eggs_any_shape", 1, "LIST" ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -3833,7 +3845,8 @@ [ [ "sugar_standard", 1, "LIST" ] ], [ [ "eggs_any_shape", 1, "LIST" ] ], [ [ "weed", 5 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -3850,7 +3863,8 @@ [ [ "sugar_standard", 1, "LIST" ] ], [ [ "chocolate", 1 ] ], [ [ "eggs_any_shape", 1, "LIST" ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -3868,7 +3882,8 @@ [ [ "chocolate", 1 ] ], [ [ "eggs_any_shape", 1, "LIST" ] ], [ [ "weed", 5 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -4031,7 +4046,8 @@ [ [ "any_butter_or_oil", 8, "LIST" ] ], [ [ "veggy_any", 1, "LIST" ] ], [ [ "salt", 1 ], [ "soysauce", 1 ], [ "seasoning_salt", 1 ], [ "pepper", 1 ] ] - ] + ], + "charges": 3 }, { "type": "recipe", @@ -4055,7 +4071,8 @@ [ [ "any_butter_or_oil", 8, "LIST" ] ], [ [ "veggy_any", 1, "LIST" ] ], [ [ "salt", 1 ], [ "soysauce", 1 ], [ "seasoning_salt", 1 ], [ "pepper", 1 ] ] - ] + ], + "charges": 3 }, { "type": "recipe", @@ -4234,7 +4251,8 @@ [ [ "water_clean", 1 ] ], [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "salt", 1 ], [ "seasoning_salt", 1 ] ] - ] + ], + "charges": 6 }, { "type": "recipe", @@ -4282,7 +4300,8 @@ [ [ "can_beans", 1 ], [ "beans_cooked", 1 ] ], [ [ "meat_cooked", 1, "LIST" ], [ "eggs_any_shape", 2, "LIST" ] ], [ [ "sugar_standard", 1, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -4347,7 +4366,8 @@ [ [ "eggs_any_shape", 2, "LIST" ] ], [ [ "meat_cooked", 1, "LIST" ] ], [ [ "any_butter_or_oil", 1, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -4460,7 +4480,8 @@ [ "pepper", 1 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -4570,7 +4591,8 @@ [ "juice_pulp", 2 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -4944,7 +4966,8 @@ "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], "//": "6u for the egg, 1u for the oil", - "components": [ [ [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] ], [ [ "any_butter_or_oil", 2, "LIST" ] ] ] + "components": [ [ [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] ], [ [ "any_butter_or_oil", 2, "LIST" ] ] ], + "charges": 2 }, { "type": "recipe", @@ -4974,7 +4997,8 @@ [ [ "cheese_standard", 1, "LIST" ], [ "veggy_green", 1, "LIST" ] ], [ [ "salt", 2 ], [ "soysauce", 2 ], [ "seasoning_salt", 2 ], [ "pepper", 4 ] ], [ [ "condiment", 2, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -4995,7 +5019,8 @@ [ [ "any_butter_or_oil", 2, "LIST" ] ], [ [ "bread_sandwich", 2, "LIST" ] ], [ [ "condiment", 2, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -5030,7 +5055,8 @@ [ [ "any_butter_or_oil", 2, "LIST" ] ], [ [ "bread_sandwich_wheat_free", 2, "LIST" ] ], [ [ "condiment", 2, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -5061,7 +5087,8 @@ [ [ "salt", 2 ], [ "soysauce", 2 ], [ "seasoning_salt", 2 ], [ "pepper", 4 ] ], [ [ "condiment", 2, "LIST" ] ], [ [ "bread_sandwich", 2, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -5092,7 +5119,8 @@ [ [ "salt", 2 ], [ "soysauce", 2 ], [ "seasoning_salt", 2 ], [ "pepper", 4 ] ], [ [ "condiment", 2, "LIST" ] ], [ [ "bread_sandwich_wheat_free", 2, "LIST" ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -5125,7 +5153,8 @@ "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 6, "LIST" ] ] ], "//": "6u for the egg, meat not needed since it's just diced up and mixed in", - "components": [ [ [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] ], [ [ "meat_cooked", 1, "LIST" ] ] ] + "components": [ [ [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] ], [ [ "meat_cooked", 1, "LIST" ] ] ], + "charges": 3 }, { "type": "recipe", @@ -5418,7 +5447,8 @@ ], [ [ "water_clean", 1 ] ], [ [ "sweet_fruit_like", 1, "LIST" ], [ "choco_coffee_beans", 5 ], [ "chocolate", 1 ], [ "jam_fruit", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -5433,7 +5463,8 @@ "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 1, "LIST" ] ] ], "//": "just 1u for melting the chocolate onto the beans.", - "components": [ [ [ "roasted_coffee_bean", 1 ] ], [ [ "chocolate", 1 ] ] ] + "components": [ [ [ "roasted_coffee_bean", 1 ] ], [ [ "chocolate", 1 ] ] ], + "charges": 5 }, { "type": "recipe", @@ -5510,7 +5541,8 @@ [ "dry_veggy", 1 ], [ "dry_corn", 1 ] ] - ] + ], + "charges": 100 }, { "type": "recipe", @@ -5530,7 +5562,8 @@ [ [ "garlic_clove", 3 ], [ "garlic_powder", 20 ] ], [ [ "thyme", 1 ] ], [ [ "wild_herbs", 100 ] ] - ] + ], + "charges": 100 }, { "type": "recipe", @@ -5550,7 +5583,8 @@ [ [ "sweet_fruit_like", 8, "LIST" ] ], [ [ "sugar", 20 ], [ "syrup", 4 ], [ "beet_syrup", 4 ], [ "molasses", 4 ], [ "artificial_sweetener", 20 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 8 }, { "type": "recipe", @@ -5792,7 +5826,8 @@ [ "can_tomato", 1 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -5835,7 +5870,8 @@ [ [ "cheese_standard", 2, "LIST" ] ], [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "seasoning_italian", 5 ], [ "wild_herbs", 10 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -5889,7 +5925,8 @@ [ [ "cheese_standard", 2, "LIST" ] ], [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "seasoning_italian", 5 ], [ "wild_herbs", 10 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -5920,7 +5957,8 @@ ], [ [ "sauce_red", 1 ], [ "seasoning_italian", 5 ], [ "wild_herbs", 10 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -5953,7 +5991,8 @@ "qualities": [ { "id": "CUT", "level": 2 }, { "id": "BOIL", "level": 2 } ], "tools": [ [ [ "water_boiling_heat", 8, "LIST" ] ] ], "//": "1u base cost, 6u more for evaporation, 1u for ingredients", - "components": [ [ [ "hickory_root", 10 ] ], [ [ "water_clean", 1 ], [ "water", 1 ] ] ] + "components": [ [ [ "hickory_root", 10 ] ], [ [ "water_clean", 1 ], [ "water", 1 ] ] ], + "charges": 100 }, { "type": "recipe", @@ -6064,7 +6103,8 @@ "proficiencies": [ { "proficiency": "prof_intro_chemistry" }, { "proficiency": "prof_inorganic_chemistry" } ], "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 50, "LIST" ] ] ], - "components": [ [ [ "pine_bough", 6 ], [ "2x4", 8 ], [ "stick", 8 ], [ "splinter", 16 ] ], [ [ "any_strong_acid", 1, "LIST" ] ] ] + "components": [ [ [ "pine_bough", 6 ], [ "2x4", 8 ], [ "stick", 8 ], [ "splinter", 16 ] ], [ [ "any_strong_acid", 1, "LIST" ] ] ], + "charges": 71 }, { "type": "recipe", @@ -6318,7 +6358,8 @@ "batch_time_factors": [ 83, 3 ], "flags": [ "BLIND_EASY" ], "tools": [ [ [ "rock_quern", -1 ], [ "clay_quern", -1 ] ] ], - "components": [ [ [ "bone_edible", 1, "LIST" ] ] ] + "components": [ [ [ "bone_edible", 1, "LIST" ] ] ], + "charges": 4 }, { "type": "recipe", @@ -6333,7 +6374,8 @@ "batch_time_factors": [ 83, 3 ], "flags": [ "BLIND_EASY" ], "tools": [ [ [ "rock_quern", -1 ], [ "clay_quern", -1 ] ] ], - "components": [ [ [ "bone_tainted", 1 ], [ "skewer_bone", 25 ] ] ] + "components": [ [ [ "bone_tainted", 1 ], [ "skewer_bone", 25 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -6721,7 +6763,8 @@ [ "seasoning_salt", 5 ], [ "soysauce", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -6802,7 +6845,8 @@ [ "seasoning_salt", 5 ], [ "soysauce", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -6828,7 +6872,8 @@ [ [ "mayonnaise", 1 ] ], [ [ "seasoning_salt", 5 ] ], [ [ "hot_sauce", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -6854,7 +6899,8 @@ [ [ "mayonnaise", 1 ] ], [ [ "seasoning_salt", 5 ] ], [ [ "hot_sauce", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -7124,7 +7170,8 @@ [ [ "chili", 1 ] ], [ [ "bread_sandwich", 2, "LIST" ] ], [ [ "mustard", 2 ], [ "horseradish", 1 ], [ "sauerkraut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -7143,7 +7190,8 @@ [ [ "chili", 1 ] ], [ [ "bread_sandwich_wheat_free", 2, "LIST" ] ], [ [ "mustard", 2 ], [ "horseradish", 1 ], [ "sauerkraut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -7189,7 +7237,8 @@ [ [ "sausage", 1 ], [ "sausage_cooked", 1 ], [ "bratwurst_sausage", 2 ] ], [ [ "curry_powder", 10 ], [ "chilly-p", 10 ] ], [ [ "ketchup", 2 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -7242,7 +7291,8 @@ [ [ "bacon", 1 ] ], [ [ "lettuce", 1 ], [ "irradiated_lettuce", 1 ], [ "young_leaves", 2 ] ], [ [ "can_tomato", 1 ], [ "irradiated_tomato", 1 ], [ "tomato", 1 ], [ "tomato_cut", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -7259,7 +7309,8 @@ [ [ "bacon", 1 ] ], [ [ "lettuce", 1 ], [ "irradiated_lettuce", 1 ], [ "young_leaves", 2 ] ], [ [ "can_tomato", 1 ], [ "irradiated_tomato", 1 ], [ "tomato", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -7311,7 +7362,8 @@ "time": "3 m", "autolearn": true, "qualities": [ { "id": "CUT", "level": 2 } ], - "components": [ [ [ "bread_sandwich", 2, "LIST" ] ], [ [ "meat_cooked", 1, "LIST" ] ] ] + "components": [ [ [ "bread_sandwich", 2, "LIST" ] ], [ [ "meat_cooked", 1, "LIST" ] ] ], + "charges": 2 }, { "type": "recipe", @@ -7323,7 +7375,8 @@ "time": "3 m", "autolearn": true, "qualities": [ { "id": "CUT", "level": 2 } ], - "components": [ [ [ "bread_sandwich_wheat_free", 2, "LIST" ] ], [ [ "meat_cooked", 1, "LIST" ] ] ] + "components": [ [ [ "bread_sandwich_wheat_free", 2, "LIST" ] ], [ [ "meat_cooked", 1, "LIST" ] ] ], + "charges": 2 }, { "type": "recipe", @@ -7508,7 +7561,8 @@ "time": "6 m 30 s", "autolearn": true, "qualities": [ { "id": "COOK", "level": 1 } ], - "components": [ [ [ "milk_cream", 1 ] ], [ [ "any_butter", 16, "LIST" ] ], [ [ "sugar_standard", 1, "LIST" ] ] ] + "components": [ [ [ "milk_cream", 1 ] ], [ [ "any_butter", 16, "LIST" ] ], [ [ "sugar_standard", 1, "LIST" ] ] ], + "charges": 8 }, { "type": "recipe", @@ -7786,7 +7840,8 @@ [ [ "sugar", 2 ], [ "artificial_sweetener", 2 ] ], [ [ "any_butter_or_oil", 8, "LIST" ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 6 }, { "type": "recipe", @@ -8732,7 +8787,8 @@ "qualities": [ { "id": "COOK", "level": 1 }, { "id": "CUT", "level": 2 } ], "tools": [ [ [ "surface_heat", 22, "LIST" ] ] ], "//": "300g raw meat (20u) + 26g of flour (2u) for a total of 22", - "components": [ [ [ "flour_any", 2, "LIST" ] ], [ [ "meat_red", 1, "LIST" ], [ "dry_meat", 1 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "flour_any", 2, "LIST" ] ], [ [ "meat_red", 1, "LIST" ], [ "dry_meat", 1 ] ], [ [ "water_clean", 1 ] ] ], + "charges": 2 }, { "type": "recipe", @@ -8875,7 +8931,8 @@ "time": "10 m", "autolearn": true, "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "honey_bottled", 15 ] ] ] + "components": [ [ [ "honey_bottled", 15 ] ] ], + "charges": 5 }, { "type": "recipe", @@ -9132,7 +9189,8 @@ "autolearn": true, "batch_time_factors": [ 83, 3 ], "tools": [ [ [ "food_processor", 20 ] ] ], - "components": [ [ [ "bone_edible", 1, "LIST" ] ] ] + "components": [ [ [ "bone_edible", 1, "LIST" ] ] ], + "charges": 4 }, { "result": "meal_bone_tainted", @@ -9147,7 +9205,8 @@ "autolearn": true, "batch_time_factors": [ 83, 3 ], "tools": [ [ [ "food_processor", 20 ] ] ], - "components": [ [ [ "bone_tainted", 1 ], [ "skewer_bone", 25 ] ] ] + "components": [ [ [ "bone_tainted", 1 ], [ "skewer_bone", 25 ] ] ], + "charges": 4 }, { "result": "cattlefodder", @@ -9274,7 +9333,8 @@ "autolearn": true, "batch_time_factors": [ 83, 3 ], "tools": [ [ [ "food_processor", 20 ] ] ], - "components": [ [ [ "chitin_piece", 1 ], [ "acidchitin_piece", 1 ], [ "endochitin", 1 ] ] ] + "components": [ [ [ "chitin_piece", 1 ], [ "acidchitin_piece", 1 ], [ "endochitin", 1 ] ] ], + "charges": 4 }, { "result": "chilly-p", @@ -9509,7 +9569,8 @@ "batch_time_factors": [ 83, 3 ], "flags": [ "BLIND_EASY" ], "qualities": [ { "id": "FINE_GRIND", "level": 1 } ], - "components": [ [ [ "bone_edible", 1, "LIST" ] ] ] + "components": [ [ [ "bone_edible", 1, "LIST" ] ] ], + "charges": 4 }, { "type": "recipe", @@ -9526,7 +9587,8 @@ "batch_time_factors": [ 83, 3 ], "flags": [ "BLIND_EASY" ], "qualities": [ { "id": "FINE_GRIND", "level": 1 } ], - "components": [ [ [ "bone_tainted", 1 ], [ "skewer_bone", 25 ] ] ] + "components": [ [ [ "bone_tainted", 1 ], [ "skewer_bone", 25 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -10255,7 +10317,8 @@ [ "tomato", 1 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 2 }, { "type": "recipe", @@ -10276,7 +10339,8 @@ [ [ "salt", 1 ], [ "seasoning_salt", 1 ], [ "garlic_clove", 1 ], [ "wild_garlic", 1 ], [ "garlic_powder", 1 ] ], [ [ "butter", 1 ] ], [ [ "wild_herbs", 6 ] ] - ] + ], + "charges": 6 }, { "type": "recipe", diff --git a/data/json/recipes/recipe_medsandchemicals.json b/data/json/recipes/recipe_medsandchemicals.json index 6911c914e7b4c..9bd6c9bed0c51 100644 --- a/data/json/recipes/recipe_medsandchemicals.json +++ b/data/json/recipes/recipe_medsandchemicals.json @@ -63,7 +63,8 @@ "qualities": [ { "id": "CUT", "level": 2 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "water_boiling_heat", 20, "LIST" ] ] ], "proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_knife_skills" } ], - "components": [ [ [ "fat_tainted", 4 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "fat_tainted", 4 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ], + "charges": 2 }, { "type": "recipe", @@ -90,7 +91,8 @@ "autolearn": true, "batch_time_factors": [ 67, 5 ], "tools": [ [ [ "dehydrator", 25 ], [ "char_smoker", 25 ] ] ], - "components": [ [ [ "tobacco_raw", 1 ] ] ] + "components": [ [ [ "tobacco_raw", 1 ] ] ], + "charges": 20 }, { "type": "recipe", @@ -126,7 +128,8 @@ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "coke", 12 ] ], [ [ "ammonia_liquid", 1 ], [ "chem_baking_soda", 20 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", @@ -154,7 +157,8 @@ ], "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], - "components": [ [ [ "poppy_bud", 2 ] ] ] + "components": [ [ [ "poppy_bud", 2 ] ] ], + "charges": 10 }, { "type": "recipe", @@ -174,7 +178,8 @@ [ "isherwood_herbal_remedies", 1 ] ], "tools": [ [ [ "surface_heat", 8, "LIST" ] ] ], - "components": [ [ [ "meal_bone", 1 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "meal_bone", 1 ] ], [ [ "water_clean", 1 ] ] ], + "charges": 40 }, { "type": "recipe", @@ -198,7 +203,8 @@ [ [ "meal_bone", 1 ] ], [ [ "dry_fruit", 1 ], [ "sugar", 45 ], [ "artificial_sweetener", 45 ] ], [ [ "water_clean", 1 ] ] - ] + ], + "charges": 42 }, { "type": "recipe", @@ -259,7 +265,8 @@ ], "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], - "components": [ [ [ "poppy_bud", 2 ] ] ] + "components": [ [ [ "poppy_bud", 2 ] ] ], + "charges": 10 }, { "type": "recipe", @@ -289,7 +296,8 @@ ], "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], - "components": [ [ [ "disinfectant", 20 ], [ "oxy_powder", 100 ] ], [ [ "bleach", 5 ] ] ] + "components": [ [ [ "disinfectant", 20 ], [ "oxy_powder", 100 ] ], [ [ "bleach", 5 ] ] ], + "charges": 400 }, { "type": "recipe", @@ -342,7 +350,8 @@ ], "qualities": [ { "id": "CHEM", "level": 3 } ], "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ], - "components": [ [ [ "fungicide", 10 ] ], [ [ "ammonia_liquid", 2 ], [ "lye_powder", 200 ] ], [ [ "salt", 10 ] ] ] + "components": [ [ [ "fungicide", 10 ] ], [ [ "ammonia_liquid", 2 ], [ "lye_powder", 200 ] ], [ [ "salt", 10 ] ] ], + "charges": 5 }, { "type": "recipe", @@ -372,7 +381,8 @@ [ [ "silver_small", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], - "components": [ [ [ "chem_ethanol", 46 ] ], [ [ "salt_water", 4 ] ], [ [ "chem_benzene", 90 ] ] ] + "components": [ [ [ "chem_ethanol", 46 ] ], [ [ "salt_water", 4 ] ], [ [ "chem_benzene", 90 ] ] ], + "charges": 400 }, { "type": "recipe", @@ -403,7 +413,8 @@ ], [ [ "soap", 1 ], [ "soap_flakes", 15 ], [ "detergent", 1 ], [ "liquid_soap", 1 ], [ "soapy_water", 1 ] ], [ [ "water_clean", 1 ], [ "water", 1 ] ] - ] + ], + "charges": 400 }, { "type": "recipe", @@ -467,7 +478,8 @@ { "proficiency": "prof_pharmaceutical" } ], "tools": [ [ [ "electrolysis_kit", 50 ] ], [ [ "lye", -1 ], [ "lye_potassium", -1 ] ], [ [ "platinum_grille", -1 ] ] ], - "components": [ [ [ "codeine", 10 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "codeine", 10 ] ], [ [ "water_clean", 1 ] ] ], + "charges": 10 }, { "type": "recipe", @@ -619,7 +631,8 @@ [ [ "chem_hydrogen_peroxide", 10 ] ], [ [ "any_blood", 2, "LIST" ], [ "scrap_leather", 500 ], [ "leather", 5 ] ], [ [ "paper", 5 ] ] - ] + ], + "charges": 10 }, { "type": "recipe", @@ -647,7 +660,8 @@ ], "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 25, "LIST" ] ] ], - "components": [ [ [ "water_clean", 1 ] ], [ [ "acetic_anhydride", 1 ] ], [ [ "willowbark", 10 ] ] ] + "components": [ [ [ "water_clean", 1 ] ], [ [ "acetic_anhydride", 1 ] ], [ [ "willowbark", 10 ] ] ], + "charges": 20 }, { "type": "recipe", diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json index 5fe30075c9592..9476cd3934ba5 100644 --- a/data/json/recipes/recipe_others.json +++ b/data/json/recipes/recipe_others.json @@ -227,7 +227,8 @@ "batch_time_factors": [ 83, 3 ], "flags": [ "BLIND_EASY" ], "tools": [ [ [ "rock_quern", -1 ], [ "clay_quern", -1 ] ] ], - "components": [ [ [ "chitin_piece", 1 ], [ "acidchitin_piece", 1 ], [ "endochitin", 1 ], [ "insect_dust", 1 ] ] ] + "components": [ [ [ "chitin_piece", 1 ], [ "acidchitin_piece", 1 ], [ "endochitin", 1 ], [ "insect_dust", 1 ] ] ], + "charges": 4 }, { "type": "recipe", @@ -244,7 +245,8 @@ "batch_time_factors": [ 83, 3 ], "flags": [ "BLIND_EASY" ], "qualities": [ { "id": "FINE_GRIND", "level": 1 } ], - "components": [ [ [ "chitin_piece", 1 ], [ "acidchitin_piece", 1 ], [ "endochitin", 1 ], [ "insect_dust", 1 ] ] ] + "components": [ [ [ "chitin_piece", 1 ], [ "acidchitin_piece", 1 ], [ "endochitin", 1 ], [ "insect_dust", 1 ] ] ], + "charges": 4 }, { "type": "recipe", diff --git a/data/mods/Aftershock/itemgroups/food_groups.json b/data/mods/Aftershock/itemgroups/food_groups.json index 39653b23bd38a..cefc146033506 100644 --- a/data/mods/Aftershock/itemgroups/food_groups.json +++ b/data/mods/Aftershock/itemgroups/food_groups.json @@ -56,7 +56,7 @@ "id": "afs_stored_meals", "//": "Meals that require little to no preparation before eating.", "entries": [ - { "item": "afs_kibble", "prob": 10, "container-item": "afs_foil_bag" }, + { "prob": 10, "group": "afs_kibble_afs_foil_bag_2" }, { "group": "astronaut_mre_full_pack", "prob": 10 }, { "group": "afs_cheap_food", "count": [ 2, 4 ], "prob": 10 } ] @@ -74,16 +74,13 @@ "type": "item_group", "subtype": "distribution", "id": "afs_stored_veggies", - "entries": [ { "item": "afs_kelp", "prob": 40, "container-item": "afs_foil_bag" } ] + "entries": [ { "prob": 40, "group": "afs_kelp_afs_foil_bag_9" } ] }, { "type": "item_group", "subtype": "distribution", "id": "afs_ruined_food", - "entries": [ - { "item": "afs_ruined_food", "prob": 10, "charges": 2, "container-item": "can_food" }, - { "item": "afs_ruined_food", "prob": 10, "container-item": "afs_foil_bag" } - ] + "entries": [ { "prob": 10, "group": "afs_ruined_food_can_food_2" }, { "prob": 10, "group": "afs_ruined_food_afs_foil_bag_5" } ] }, { "type": "item_group", @@ -91,8 +88,8 @@ "id": "afs_mealgrub_procesing", "entries": [ { "item": "afs_mealgrub_jelly", "count-min": 5, "count-max": 20 }, - { "item": "afs_mealgrubs", "prob": 15, "count-min": 5, "count-max": 25 }, - { "item": "afs_mealgrubs", "prob": 5, "count-min": 5, "count-max": 25 }, + { "prob": 15, "count-min": 5, "count-max": 25, "group": "afs_mealgrubs_wrapper_pr_5" }, + { "prob": 5, "count-min": 5, "count-max": 25, "group": "afs_mealgrubs_wrapper_pr_5" }, { "item": "water", "prob": 10, "charges-min": 20, "charges-max": 40, "container-item": "jerrycan" } ] }, @@ -105,5 +102,45 @@ { "item": "afs_mealgrub_medium", "prob": 80, "count-min": 23, "count-max": 6 }, { "item": "afs_mealgrub_medium", "prob": 33, "count-min": 2, "count-max": 6 } ] + }, + { + "type": "item_group", + "id": "afs_kibble_afs_foil_bag_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "afs_foil_bag", + "entries": [ { "item": "afs_kibble", "count": 2 } ] + }, + { + "type": "item_group", + "id": "afs_kelp_afs_foil_bag_9", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "afs_foil_bag", + "entries": [ { "item": "afs_kelp", "count": 9 } ] + }, + { + "type": "item_group", + "id": "afs_ruined_food_can_food_2", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "can_food", + "entries": [ { "item": "afs_ruined_food", "count": 2 } ] + }, + { + "type": "item_group", + "id": "afs_ruined_food_afs_foil_bag_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "afs_foil_bag", + "entries": [ { "item": "afs_ruined_food", "count": 5 } ] + }, + { + "type": "item_group", + "id": "afs_mealgrubs_wrapper_pr_5", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper_pr", + "entries": [ { "item": "afs_mealgrubs", "container-item": "null", "count": 5 } ] } ] diff --git a/data/mods/Aftershock/itemgroups/spaceship_groups.json b/data/mods/Aftershock/itemgroups/spaceship_groups.json index ec70c026ca413..ca21b35e4a241 100644 --- a/data/mods/Aftershock/itemgroups/spaceship_groups.json +++ b/data/mods/Aftershock/itemgroups/spaceship_groups.json @@ -11,7 +11,7 @@ { "item": "flint_steel" }, { "item": "whistle_multitool" }, { "item": "water_clean", "container-item": "bottle_twoliter", "count": 3 }, - { "item": "afs_escapepod_ration", "count": 3 }, + { "count": 3, "group": "afs_escapepod_ration_bag_plastic_4" }, { "item": "cream_prot_cold", "count": 3 }, { "item": "light_plus_battery_cell", "charges": 150, "container-item": "flashlight" }, { "item": "light_plus_battery_cell", "charges": 150, "container-item": "water_purifier" }, @@ -23,5 +23,13 @@ { "item": "afs_7.50mm_rp", "charges": 18 }, { "item": "afs_landfall_kit_2_instructions" } ] + }, + { + "type": "item_group", + "id": "afs_escapepod_ration_bag_plastic_4", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "bag_plastic", + "entries": [ { "item": "afs_escapepod_ration", "container-item": "null", "count": 4 } ] } ] diff --git a/data/mods/Aftershock/items/comestibles/alienfood.json b/data/mods/Aftershock/items/comestibles/alienfood.json index 9750a5634a760..12e5c8a60b0f2 100644 --- a/data/mods/Aftershock/items/comestibles/alienfood.json +++ b/data/mods/Aftershock/items/comestibles/alienfood.json @@ -13,8 +13,7 @@ "quench": 15, "description": "A clump of moist squishy lichen. You get the impression that it might not be the safest thing to eat considering how it makes your hand tingle.", "price": "20 cent", - "volume": "80 ml", - "charges": 3, + "volume": "26 ml", "fun": -8, "vitamins": [ [ "calcium", 5 ], [ "iron", 12 ], [ "vitC", 56 ], [ "mutant_toxin", 25 ] ], "flags": [ "RAW" ] @@ -32,8 +31,7 @@ "quench": 10, "description": "A clump of squishy lichen, while it isn't as wet as it used to be, your hands no longer tingle holding it.", "price": "20 cent", - "volume": "75 ml", - "charges": 3, + "volume": "25 ml", "fun": -3, "vitamins": [ [ "calcium", 5 ], [ "iron", 12 ], [ "vitC", 56 ] ], "flags": [ "NUTRIENT_OVERRIDE" ] @@ -122,7 +120,6 @@ "volume": "250 ml", "vitamins": [ [ "mutant_toxin", 25 ] ], "parasites": 32, - "stack_size": 1, "fun": -20 }, { @@ -143,7 +140,6 @@ "volume": "250 ml", "vitamins": [ [ "mutant_toxin", 25 ] ], "parasites": 32, - "stack_size": 1, "fun": -20, "material": [ "hflesh" ] }, @@ -174,7 +170,6 @@ "material": [ "flesh" ], "flags": [ "TRADER_AVOID" ], "vitamins": [ [ "mutant_toxin", 25 ] ], - "stack_size": 1, "fun": -12 }, { @@ -268,9 +263,8 @@ "name": { "str": "piece of raw alien lung", "str_pl": "pieces of raw alien lung" }, "description": "A red sponge-like organ rests in your hands. It leaks out a strange liquid, and spoils very quickly. You hazard a guess this is a lung.", "weight": "56 g", - "volume": "250 ml", + "volume": "62 ml", "color": "pink", - "charges": 4, "spoils_in": "1 day", "healthy": -2, "price_postapoc": 25, @@ -434,7 +428,6 @@ "volume": "250 ml", "vitamins": [ [ "mutant_toxin", 25 ] ], "parasites": 32, - "stack_size": 1, "fun": -20 }, { @@ -454,9 +447,7 @@ "price_postapoc": 800, "//": "*May* have been commercially traded.", "material": [ "flesh" ], - "volume": "250 ml", - "charges": 2, - "stack_size": 4, + "volume": "62 ml", "vitamins": [ [ "mutant_toxin", 25 ] ], "fun": -18 }, @@ -473,8 +464,7 @@ "id": "alien_organs", "symbol": "¨", "name": { "str_sp": "unidentifiable alien organs" }, - "charges": 15, - "volume": "2500 ml", + "volume": "166 ml", "weight": "250 g", "color": "black", "looks_like": "feces_manure", @@ -502,11 +492,10 @@ "calories": 270, "description": "Bits of alien fat and skin that have been fried until they are crispy and delicious (at least, you hope they are).", "price": 170, - "volume": "100 ml", + "volume": "25 ml", "vitamins": [ [ "mutant_toxin", 25 ] ], "price_postapoc": 500, "material": [ "flesh" ], - "charges": 4, "flags": [ "EATEN_HOT" ], "fun": 4 }, @@ -525,11 +514,10 @@ "calories": 270, "description": "Green scraps of rancid fat and skin, and while they have been fried to a crisp, they still don't smell any better.", "price": 170, - "volume": "100 ml", + "volume": "25 ml", "vitamins": [ [ "mutant_toxin", 25 ] ], "price_postapoc": 500, "material": [ "hflesh" ], - "charges": 4, "flags": [ "EATEN_HOT" ], "fun": -4 }, @@ -553,7 +541,6 @@ "price_postapoc": 20, "material": [ "flesh" ], "flags": [ "TRADER_AVOID" ], - "stack_size": 1, "fun": -12 }, { @@ -576,7 +563,6 @@ "price_postapoc": 100, "material": [ "fur", "flesh" ], "flags": [ "NO_SALVAGE", "TRADER_AVOID" ], - "stack_size": 1, "fun": -24 } ] diff --git a/data/mods/Aftershock/items/comestibles/bug_brew.json b/data/mods/Aftershock/items/comestibles/bug_brew.json index ae7fdd946b07d..9e6e2cabfc462 100644 --- a/data/mods/Aftershock/items/comestibles/bug_brew.json +++ b/data/mods/Aftershock/items/comestibles/bug_brew.json @@ -99,11 +99,11 @@ "material": [ "flesh" ], "calories": 360, "healthy": 3, - "charges": 5, "description": "A handful of edible and heavily genemoded grubs, each only slightly thinner than your thumb. Engineered in the wake of the XXII century to feed an overpopulated Earth and its fledgling colonies these are sturdy, easily grown and scalable crop.\n\nRemoved from their growth solution they'll quickly die and desiccate, as these already have. They could be safely eaten with no further processing, for a nutritious if somewhat striking meal.", "fun": 0, "freezing_point": -9999, - "vitamins": [ [ "calcium", 2 ], [ "iron", 2 ], [ "bad_food", 1 ] ] + "vitamins": [ [ "calcium", 2 ], [ "iron", 2 ], [ "bad_food", 1 ] ], + "volume": "44 ml" }, { "type": "recipe", diff --git a/data/mods/Aftershock/items/comestibles/cheap_food.json b/data/mods/Aftershock/items/comestibles/cheap_food.json index 09af1371e4ae0..b613f64cd4939 100644 --- a/data/mods/Aftershock/items/comestibles/cheap_food.json +++ b/data/mods/Aftershock/items/comestibles/cheap_food.json @@ -12,8 +12,7 @@ "quench": -5, "description": "A crumbly white biscuit half the size of your thumb, packed with vitamins and calories. Provides a whole meal's nutrition in portable form, but it's a little hard to keep down, thanks to the rancid taste and chalky texture.", "price": 10000, - "volume": "5 ml", - "charges": 5, + "volume": "1 ml", "looks_like": "vitamins", "fun": -8, "freezing_point": -9999, @@ -84,11 +83,11 @@ "color": "white", "calories": 700, "healthy": 3, - "charges": 2, "description": "Smoothly blended edibles, neatly shaped into cubes for maximum enjoyment.", "fun": 2, "freezing_point": -9999, - "vitamins": [ [ "calcium", 30 ], [ "iron", 30 ], [ "vitC", 30 ], [ "bad_food", 1 ] ] + "vitamins": [ [ "calcium", 30 ], [ "iron", 30 ], [ "vitC", 30 ], [ "bad_food", 1 ] ], + "volume": "111 ml" }, { "id": "afs_food_to_go", @@ -100,10 +99,10 @@ "color": "magenta", "calories": 500, "healthy": 3, - "charges": 2, "description": "Foodplace™ easy-storage Food-to-go™ the choice Food™ for the contemporary Foodman™.", "fun": 2, - "freezing_point": -9999 + "freezing_point": -9999, + "volume": "111 ml" }, { "id": "afs_loop_fruit", @@ -129,11 +128,11 @@ "material": [ "veggy" ], "calories": 150, "healthy": 3, - "charges": 3, "description": "Smooth crackers colored grayish-green. Used to be perfectly edible seaweed, or so the wrapper claims.", "fun": 2, "freezing_point": -9999, - "vitamins": [ [ "calcium", 5 ], [ "iron", 5 ], [ "vitC", 10 ], [ "bad_food", 1 ] ] + "vitamins": [ [ "calcium", 5 ], [ "iron", 5 ], [ "vitC", 10 ], [ "bad_food", 1 ] ], + "volume": "74 ml" }, { "id": "afs_beefsim", @@ -147,9 +146,9 @@ "healthy": 3, "description": "Soy or pureed rat? Better not to know.\n(But its probably both.)", "fun": 0, - "charges": 2, "freezing_point": -9999, - "vitamins": [ [ "calcium", 5 ], [ "iron", 5 ], [ "vitC", 10 ], [ "bad_food", 1 ] ] + "vitamins": [ [ "calcium", 5 ], [ "iron", 5 ], [ "vitC", 10 ], [ "bad_food", 1 ] ], + "volume": "111 ml" }, { "id": "afs_soup_27", @@ -176,11 +175,11 @@ "color": "white", "calories": 500, "healthy": 3, - "charges": 4, "description": "Sealed emergency rations invariably found within an escape pod's inventory. This particular pack should provide around a day's worth of nutrition. Required by regulation but rarely ever used, the design of these \"meals\" prioritizes a long shelf life and a very low bulk-cost. Which lends them their disgusting taste of greased sawdust.", "fun": -2, "freezing_point": -9999, - "vitamins": [ [ "vitC", 2 ], [ "bad_food", 1 ] ] + "vitamins": [ [ "vitC", 2 ], [ "bad_food", 1 ] ], + "volume": "55 ml" }, { "id": "afs_caffex", @@ -201,8 +200,7 @@ "id": "afs_ruined_food", "copy-from": "ruined_chunks", "name": { "str_sp": "organic sludge" }, - "charges": 5, - "volume": "500 ml", + "volume": "100 ml", "weight": "50 g", "description": "Time and the elements have reverted this heavily processed meal to its original form. Eating it isn't even worth thinking about.", "material": [ "flesh", "veggy" ] diff --git a/data/mods/Aftershock/items/comestibles/comestibles.json b/data/mods/Aftershock/items/comestibles/comestibles.json index 4d9b02f8cb1a9..7533a3600aece 100644 --- a/data/mods/Aftershock/items/comestibles/comestibles.json +++ b/data/mods/Aftershock/items/comestibles/comestibles.json @@ -29,8 +29,7 @@ "use_action": { "type": "cast_spell", "spell_id": "cream_prot_cold", "no_fail": true, "level": 0 }, "type": "COMESTIBLE", "weight": "265 g", - "volume": "250ml", - "charges": 1, + "volume": "250 ml", "fun": -1, "symbol": "q", "container": "bottle_plastic_small", @@ -47,8 +46,7 @@ "use_action": { "type": "cast_spell", "spell_id": "cream_greater_prot_cold", "no_fail": true, "level": 0 }, "type": "COMESTIBLE", "weight": "265 g", - "volume": "250ml", - "charges": 1, + "volume": "250 ml", "fun": -3, "symbol": "q", "container": "bottle_plastic_small", @@ -74,8 +72,7 @@ "price": 300, "price_postapoc": 750, "material": [ "milk" ], - "volume": "500 ml", - "charges": 32, + "volume": "15 ml", "flags": [ "NO_AUTO_CONSUME" ], "fun": -1 } diff --git a/data/mods/Aftershock/items/comestibles/veggies.json b/data/mods/Aftershock/items/comestibles/veggies.json index 0bd07965e823f..30ec7948c8551 100644 --- a/data/mods/Aftershock/items/comestibles/veggies.json +++ b/data/mods/Aftershock/items/comestibles/veggies.json @@ -5,7 +5,7 @@ "copy-from": "spinach", "name": { "str_sp": "kelp" }, "description": "Thin wafers of kelp, the essential greens of frontier cuisine. These were probably grown in some farm ship or another.", - "volume": "1500 ml" + "volume": "166 ml" }, { "id": "afs_kibble", @@ -15,12 +15,11 @@ "description": "Kibble made for humans. A heavy dressing of spices makes it impossible to discern the original flavours it might have had.", "weight": "223 g", "spoils_in": "1 day", - "volume": "250 ml", + "volume": "125 ml", "price": 500, "to_hit": -5, "material": [ "veggy" ], "symbol": ";", - "charges": 2, "quench": 2, "calories": 800, "vitamins": [ [ "vitC", 4 ], [ "iron", 17 ], [ "bad_food", 1 ] ], diff --git a/data/mods/Aftershock/items/seed.json b/data/mods/Aftershock/items/seed.json index af819a26dfe6b..15dff0fb54017 100644 --- a/data/mods/Aftershock/items/seed.json +++ b/data/mods/Aftershock/items/seed.json @@ -7,9 +7,8 @@ "description": "Roots of a pineapple plant, for growing your own.", "weight": "152 g", "price": 160, - "charges": 2, - "stack_size": 8, - "seed_data": { "plant_name": "pineapple", "fruit": "pineapple", "byproducts": [ "straw_pile" ], "grow": "280 days" } + "seed_data": { "plant_name": "pineapple", "fruit": "pineapple", "byproducts": [ "straw_pile" ], "grow": "280 days" }, + "volume": "31 ml" }, { "id": "seed_melon", diff --git a/data/mods/Aftershock/recipes/comestible_recipes.json b/data/mods/Aftershock/recipes/comestible_recipes.json index 6cc1fd3dc00a3..27f3b5eeea426 100644 --- a/data/mods/Aftershock/recipes/comestible_recipes.json +++ b/data/mods/Aftershock/recipes/comestible_recipes.json @@ -11,7 +11,8 @@ "time": "15 m", "qualities": [ { "id": "CHURN", "level": 2 } ], "autolearn": true, - "components": [ [ [ "milk_raw", 45 ] ], [ [ "salt", 15 ] ] ] + "components": [ [ [ "milk_raw", 45 ] ], [ [ "salt", 15 ] ] ], + "charges": 32 }, { "type": "recipe", @@ -76,7 +77,8 @@ "book_learn": [ [ "recipe_lichenlog", 2 ] ], "qualities": [ { "id": "CONTAIN", "level": 1 } ], "tools": [ [ [ "surface_heat", 60, "LIST" ] ], [ [ "pressure_cooker", -1 ], [ "makeshift_pressure_cooker", -1 ] ] ], - "components": [ [ [ "yum_lichen", 4 ] ] ] + "components": [ [ [ "yum_lichen", 4 ] ] ], + "charges": 3 }, { "type": "recipe", diff --git a/data/mods/Aftershock/recipes/recipe_overrides.json b/data/mods/Aftershock/recipes/recipe_overrides.json index 0f81c8b83fa14..d0d708539cac9 100644 --- a/data/mods/Aftershock/recipes/recipe_overrides.json +++ b/data/mods/Aftershock/recipes/recipe_overrides.json @@ -177,7 +177,8 @@ [ [ "salt", 1 ] ], [ [ "seasoning_mild", 4, "LIST" ] ], [ [ "fry_oil", 4, "LIST" ] ] - ] + ], + "charges": 3 }, { "type": "recipe", diff --git a/data/mods/CrazyCataclysm/crazy_comestibles.json b/data/mods/CrazyCataclysm/crazy_comestibles.json index 134b21d194458..27db64af43044 100644 --- a/data/mods/CrazyCataclysm/crazy_comestibles.json +++ b/data/mods/CrazyCataclysm/crazy_comestibles.json @@ -12,10 +12,9 @@ "description": "The hit cookie from Mycus Industries! Now comes in addicting flavors such as Marloss, Chanterelle, and The Encroaching, Unavoidable Death of Human Civilization.", "price": 0, "material": [ "wheat", "fruit" ], - "charges": 4, - "stack_size": 20, "fun": 10, - "flags": [ "MYCUS_OK", "FUNGAL_VECTOR" ] + "flags": [ "MYCUS_OK", "FUNGAL_VECTOR" ], + "volume": "12 ml" }, { "type": "recipe", @@ -28,7 +27,8 @@ "autolearn": true, "time": "10 s", "qualities": [ { "id": "COOK", "level": 2 } ], - "components": [ [ [ "cookies", 4 ] ], [ [ "marloss_berry", 1 ], [ "marloss_seed", 1 ], [ "mycus_fruit", 1 ] ] ] + "components": [ [ [ "cookies", 4 ] ], [ [ "marloss_berry", 1 ], [ "marloss_seed", 1 ], [ "mycus_fruit", 1 ] ] ], + "charges": 4 }, { "id": "powerthirst1", diff --git a/data/mods/DinoMod/items/biosignatures.json b/data/mods/DinoMod/items/biosignatures.json index 7178a678eda6b..c96a7f8c017d1 100644 --- a/data/mods/DinoMod/items/biosignatures.json +++ b/data/mods/DinoMod/items/biosignatures.json @@ -5,7 +5,7 @@ "name": { "str_sp": "dinosaur droppings" }, "copy-from": "feces_bird", "weight": "750 g", - "volume": "1 L", + "volume": "250 ml", "description": "Dinosaur fecal matter; this could probably be used to make some great fertilizer." } ] diff --git a/data/mods/DinoMod/items/egg.json b/data/mods/DinoMod/items/egg.json index 059fa50b4dccf..f44d559eb4628 100644 --- a/data/mods/DinoMod/items/egg.json +++ b/data/mods/DinoMod/items/egg.json @@ -15,8 +15,7 @@ "description": "Pale, round egg laid by a dinosaur.", "price": 500, "material": [ "egg" ], - "volume": "6800 ml", - "stack_size": 4, + "volume": "1700 ml", "fun": -6, "flags": [ "FREEZERBURN" ], "rot_spawn": "GROUP_EGG_DINO", @@ -36,7 +35,7 @@ "calories": 80, "description": "Pale, round egg laid by a smaller dinosaur.", "material": [ "egg" ], - "volume": "50 ml", + "volume": "12 ml", "rot_spawn": "GROUP_EGG_DINO_SMALL" }, { @@ -51,7 +50,7 @@ "calories": 5200, "description": "Pale, round egg laid by a larger dinosaur.", "material": [ "egg" ], - "volume": "13600 ml", + "volume": "3400 ml", "rot_spawn": "GROUP_EGG_DINO_LARGE" }, { @@ -70,8 +69,7 @@ "description": "Pale, football-shaped egg laid by a dinosaur.", "price": 500, "material": [ "egg" ], - "volume": "6800 ml", - "stack_size": 4, + "volume": "1700 ml", "fun": -6, "flags": [ "FREEZERBURN" ], "rot_spawn": "GROUP_EGG_THEROPOD", @@ -99,7 +97,7 @@ "calories": 5200, "description": "Pale, football-shaped egg laid by a larger dinosaur.", "material": [ "egg" ], - "volume": "13600 ml", + "volume": "3400 ml", "rot_spawn": "GROUP_EGG_THEROPOD_LARGE" }, { diff --git a/data/mods/DinoMod/recipes/food_egg.json b/data/mods/DinoMod/recipes/food_egg.json index 13b3b40bc570f..e5a781bb1c06e 100644 --- a/data/mods/DinoMod/recipes/food_egg.json +++ b/data/mods/DinoMod/recipes/food_egg.json @@ -14,7 +14,8 @@ "result_mult": 20, "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 40, "LIST" ] ] ], - "components": [ [ [ "eggs_dino", 1, "LIST" ] ] ] + "components": [ [ [ "eggs_dino", 1, "LIST" ] ] ], + "charges": 2 }, { "type": "recipe", @@ -31,7 +32,8 @@ "result_mult": 40, "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 80, "LIST" ] ] ], - "components": [ [ [ "eggs_dino_large", 1, "LIST" ] ] ] + "components": [ [ [ "eggs_dino_large", 1, "LIST" ] ] ], + "charges": 2 }, { "type": "recipe", @@ -220,7 +222,8 @@ "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 40, "LIST" ] ] ], - "components": [ [ [ "eggs_dino", 1, "LIST" ] ], [ [ "meat_cooked", 20, "LIST" ] ] ] + "components": [ [ [ "eggs_dino", 1, "LIST" ] ], [ [ "meat_cooked", 20, "LIST" ] ] ], + "charges": 3 }, { "type": "recipe", @@ -243,7 +246,8 @@ [ [ "syrup", 40 ] ], [ [ "any_butter_or_oil", 40, "LIST" ] ], [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] + ], + "charges": 4 }, { "type": "recipe", diff --git a/data/mods/Magiclysm/items/black_dragon_items.json b/data/mods/Magiclysm/items/black_dragon_items.json index 2f3cc80a0846f..7317dbbd0493a 100644 --- a/data/mods/Magiclysm/items/black_dragon_items.json +++ b/data/mods/Magiclysm/items/black_dragon_items.json @@ -39,8 +39,7 @@ "material": [ "black_dragon_hide", "flesh" ], "flags": [ "NO_SALVAGE", "TRADER_AVOID" ], "vitamins": [ ], - "volume": "4 L", - "stack_size": 1 + "volume": "4 L" }, { "id": "black_dragon_tanning_hide", diff --git a/data/mods/Magiclysm/items/cast_spell_items.json b/data/mods/Magiclysm/items/cast_spell_items.json index 51bd3628399ea..5e5364694942e 100644 --- a/data/mods/Magiclysm/items/cast_spell_items.json +++ b/data/mods/Magiclysm/items/cast_spell_items.json @@ -339,10 +339,9 @@ "category": "weapons", "material": [ "leather", "flesh", "bone" ], "weight": "225 g", - "volume": "700ml", + "volume": "700 ml", "symbol": "t", "color": "pink", - "stack_size": 1, "spoils_in": "4 days", "flags": [ "TRADER_AVOID", "INEDIBLE", "NUTRIENT_OVERRIDE" ] }, diff --git a/data/mods/Magiclysm/items/comestibles.json b/data/mods/Magiclysm/items/comestibles.json index 7af6182e823c4..94db905bfcb54 100644 --- a/data/mods/Magiclysm/items/comestibles.json +++ b/data/mods/Magiclysm/items/comestibles.json @@ -15,7 +15,6 @@ "price": 300000, "material": [ "egg", "stone" ], "volume": "2500 ml", - "stack_size": 1, "fun": -18, "flags": [ "FREEZERBURN" ], "rot_spawn": "GROUP_EGG_OWLBEAR", @@ -48,10 +47,9 @@ "type": "COMESTIBLE", "comestible_type": "MED", "healthy": -1, - "stack_size": 1, "material": [ "fur", "water" ], "primary_material": "fur", - "volume": "350ml", + "volume": "350 ml", "weight": "15 g", "color": "brown", "symbol": "0", diff --git a/data/mods/Magiclysm/items/ethereal_items.json b/data/mods/Magiclysm/items/ethereal_items.json index 954b33144176b..bbf68df7ac39c 100644 --- a/data/mods/Magiclysm/items/ethereal_items.json +++ b/data/mods/Magiclysm/items/ethereal_items.json @@ -443,8 +443,7 @@ "healthy": -2, "description": "A magical powder that can be scattered on growing crops and make them grow faster.", "material": [ "powder" ], - "volume": "2 L", - "charges": 60, + "volume": "33 ml", "category": "chems", "fun": -15 }, diff --git a/data/mods/MindOverMatter/items/medical.json b/data/mods/MindOverMatter/items/medical.json index 28a869ec8cc62..a155417fe8bde 100644 --- a/data/mods/MindOverMatter/items/medical.json +++ b/data/mods/MindOverMatter/items/medical.json @@ -6,8 +6,7 @@ "type": "COMESTIBLE", "comestible_type": "MED", "weight": "265 g", - "volume": "250ml", - "charges": 1, + "volume": "250 ml", "price": 3000, "price_postapoc": 3000, "fun": -3, diff --git a/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json b/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json index 847258129285e..c2168c85d3761 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_comestibles.json @@ -4,7 +4,7 @@ "id": "broken_necco", "name": "necco corpse", "symbol": "%", - "volume": "4000 ml", + "volume": "100 ml", "weight": "60 g", "spoils_in": "180 days", "color": "magenta", @@ -12,7 +12,6 @@ "material": [ "junk" ], "description": "The corpse of a necco. Now it really looks like a giant necco wafer. Surely a bite wouldn't hurt, right?", "price": 4000, - "charges": 40, "quench": -1, "healthy": -1, "calories": 220, diff --git a/data/mods/My_Sweet_Cataclysm/sweet_items.json b/data/mods/My_Sweet_Cataclysm/sweet_items.json index a2399e076223e..3405168f95f55 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_items.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_items.json @@ -18,8 +18,7 @@ "//": "This item should not get any use whatsoever, it is merely conservation.", "symbol": "¨", "name": { "str_sp": "pieces of candy wrapper" }, - "charges": 10, - "volume": "1000 ml", + "volume": "100 ml", "weight": "100 g", "color": "white", "looks_like": "wrapper", @@ -34,8 +33,7 @@ "id": "feces_candy", "symbol": "^", "name": { "str_sp": "sticky sludge" }, - "charges": 10, - "volume": "1000 ml", + "volume": "100 ml", "weight": "100 g", "color": "white", "looks_like": "ruined_candy", diff --git a/data/mods/My_Sweet_Cataclysm/sweet_med.json b/data/mods/My_Sweet_Cataclysm/sweet_med.json index 7b13f6d19076d..7107bb1dfa241 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_med.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_med.json @@ -6,13 +6,11 @@ "name": "caramel ointment", "description": "An ointment made of caramel. You could use it to heal your wounds, if you were made of sugar.", "weight": "375 g", - "volume": "250 ml", + "volume": "27 ml", "price": 600, "material": [ "sugar" ], "symbol": "~", "color": "brown", - "charges": 3, - "stack_size": 9, "flags": [ "NO_INGEST", "CANT_HEAL_EVERYONE" ], "use_action": { "type": "heal", "bandages_power": 15, "limb_power": 5, "move_cost": 300 } } diff --git a/data/mods/My_Sweet_Cataclysm/sweet_recipe.json b/data/mods/My_Sweet_Cataclysm/sweet_recipe.json index 086ace606165b..c762a92959701 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_recipe.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_recipe.json @@ -12,7 +12,8 @@ "book_learn": [ [ "sugarkin_flyer", 1 ] ], "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], - "components": [ [ [ "sugar", 10 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "sugar", 10 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ], + "charges": 3 }, { "type": "recipe", @@ -40,6 +41,7 @@ "skill_used": "cooking", "difficulty": 2, "tools": [ [ [ "dehydrator", 25 ], [ "char_smoker", 25 ] ] ], - "components": [ [ [ "milk_choc", 1 ] ] ] + "components": [ [ [ "milk_choc", 1 ] ] ], + "charges": 4 } ] diff --git a/data/mods/No_Fungi/comestibles.json b/data/mods/No_Fungi/comestibles.json index fd6889f47e1c2..915caff1fd50e 100644 --- a/data/mods/No_Fungi/comestibles.json +++ b/data/mods/No_Fungi/comestibles.json @@ -10,9 +10,7 @@ "symbol": "%", "description": "If we left this as it should be, one could just walk into the Bloom uncontested and partake of the Fruit. We can't have that, can we?", "material": [ "fruit" ], - "volume": "250 ml", - "charges": 1, - "stack_size": 4 + "volume": "62 ml" }, { "type": "COMESTIBLE", @@ -25,9 +23,7 @@ "symbol": ".", "description": "If we left this as it should be, one could just walk into the Garden uncontested and partake of the Seed. We can't have that, can we?", "material": [ "fruit" ], - "volume": "250 ml", - "charges": 1, - "stack_size": 10 + "volume": "25 ml" }, { "type": "COMESTIBLE", @@ -40,9 +36,7 @@ "symbol": "~", "description": "If we left this as it should be, one could just walk into the Spire uncontested and partake of the Sap. Wait, how did you even GET this anyway?", "material": [ "fruit" ], - "volume": "250 ml", - "charges": 1, - "stack_size": 10, + "volume": "25 ml", "fun": 30 }, { @@ -56,8 +50,6 @@ "symbol": "%", "description": "We do not exist at the moment. Clever little human, no doubt debugging to see this? We will not permit you to join us while we are modded out.", "material": [ "fruit" ], - "volume": "250 ml", - "charges": 1, - "stack_size": 4 + "volume": "62 ml" } ] diff --git a/data/mods/TropiCataclysm/items/comestibles/seed.json b/data/mods/TropiCataclysm/items/comestibles/seed.json index 9402494482798..e3f87258417f1 100644 --- a/data/mods/TropiCataclysm/items/comestibles/seed.json +++ b/data/mods/TropiCataclysm/items/comestibles/seed.json @@ -9,8 +9,8 @@ "use_action": [ "SEED" ], "description": "Some raw melon seeds.", "price": 100, - "charges": 2, - "seed_data": { "plant_name": "melon", "fruit": "melon", "fruit_div": 3, "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "melon", "fruit": "melon", "fruit_div": 3, "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -22,8 +22,8 @@ "use_action": [ "SEED" ], "description": "Some raw banana seeds.", "price": 100, - "charges": 2, - "seed_data": { "plant_name": "banana", "fruit": "banana", "fruit_div": 3, "grow": "91 days" } + "seed_data": { "plant_name": "banana", "fruit": "banana", "fruit_div": 3, "grow": "91 days" }, + "volume": "2 ml" }, { "type": "COMESTIBLE", @@ -35,7 +35,7 @@ "use_action": [ "SEED" ], "description": "Some raw kiwi seeds.", "price": 100, - "charges": 2, - "seed_data": { "plant_name": "kiwi", "fruit": "kiwi", "fruit_div": 3, "byproducts": [ "withered" ], "grow": "91 days" } + "seed_data": { "plant_name": "kiwi", "fruit": "kiwi", "fruit_div": 3, "byproducts": [ "withered" ], "grow": "91 days" }, + "volume": "2 ml" } ] diff --git a/data/mods/Xedra_Evolved/itemgroups/itemgroups.json b/data/mods/Xedra_Evolved/itemgroups/itemgroups.json index 68df721c993d7..ae45c47e94c07 100644 --- a/data/mods/Xedra_Evolved/itemgroups/itemgroups.json +++ b/data/mods/Xedra_Evolved/itemgroups/itemgroups.json @@ -72,7 +72,7 @@ { "item": "eclipse_glasses", "prob": 1 }, { "group": "writing_utensils", "prob": 20 }, { "group": "softdrugs", "prob": 20 }, - { "item": "wyld_candy", "prob": 15, "container-item": "wrapper_wyld", "sealed": false }, + { "prob": 15, "sealed": false, "group": "wyld_candy_wrapper_wyld_20" }, { "item": "laptop_xedra", "prob": 3 } ] }, @@ -132,7 +132,7 @@ [ "camera_control", 2 ], [ "eclipse_glasses", 1 ], { "group": "writing_utensils", "prob": 20 }, - { "item": "wyld_candy", "prob": 15, "container-item": "wrapper_wyld", "sealed": false }, + { "prob": 15, "sealed": false, "group": "wyld_candy_wrapper_wyld_20" }, { "item": "laptop_xedra", "prob": 3 } ] }, @@ -357,5 +357,13 @@ { "item": "blood", "prob": 5, "container-item": "blood_camel" }, { "item": "blood", "prob": 1, "container-item": "blood_bank" } ] + }, + { + "type": "item_group", + "id": "wyld_candy_wrapper_wyld_20", + "subtype": "collection", + "//": "This group was created automatically and may contain errors.", + "container-item": "wrapper_wyld", + "entries": [ { "item": "wyld_candy", "container-item": "null", "count": 20 } ] } ] diff --git a/data/mods/Xedra_Evolved/items/alchemy.json b/data/mods/Xedra_Evolved/items/alchemy.json index e32f57e45adcb..76578f149ba93 100644 --- a/data/mods/Xedra_Evolved/items/alchemy.json +++ b/data/mods/Xedra_Evolved/items/alchemy.json @@ -55,10 +55,9 @@ "name": { "str": "small blessing of Brigit", "str_pl": "some blessings of Brigit" }, "description": "A small pill made from royal jelly, ash, and poppies. Blessed with prayers to Brigit over several hours. Will end any cold or flu instantaneously.", "weight": "15 g", - "volume": "5 ml", + "volume": "1 ml", "price": 1000, "price_postapoc": 8000, - "stack_size": 5, "material": [ "veggy" ], "symbol": "!", "color": "green", @@ -77,11 +76,9 @@ "name": { "str_sp": "prophet's LSD" }, "description": "A windowpane worth of Rainbow Skull LSD tabs. These tabs are said to grant the consumer the ability to see several seconds into the future.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 10000, "price_postapoc": 2500, - "charges": 5, - "stack_size": 100, "symbol": "!", "color": "pink", "stim": 20, @@ -96,11 +93,9 @@ "name": { "str_sp": "alchemically altered trucker pills" }, "description": "When you began the sinister path into occultism, you never imagined you'd be alchemically altering truckstop viagra into combat drugs. But here you are, no sleep til Boston.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 15000, "price_postapoc": 5000, - "charges": 6, - "stack_size": 100, "material": [ "powder" ], "symbol": "!", "color": "light_cyan", @@ -127,8 +122,7 @@ "weight": "265 g", "quench": -1, "calories": 0, - "volume": "250ml", - "charges": 1, + "volume": "250 ml", "fun": -1, "symbol": "~", "container": "flask_glass", @@ -231,11 +225,9 @@ "name": { "str_sp": "life extension potion" }, "description": "The primary means by which alchemists gain wealthy patrons these potions will add decades of healthy life to their users span. But the ingredients are rare and even this won't prolong life forever. You'll have to resort to other means of achieving immortality, if that's even a goal you are seeking.", "weight": "50 g", - "volume": "250 ml", + "volume": "2 ml", "price": 15000, "price_postapoc": 50000, - "charges": 1, - "stack_size": 100, "material": [ "water" ], "symbol": "!", "color": "light_cyan", diff --git a/data/mods/Xedra_Evolved/items/biosignatures.json b/data/mods/Xedra_Evolved/items/biosignatures.json index 22879e67292bf..f3f4271cf5191 100644 --- a/data/mods/Xedra_Evolved/items/biosignatures.json +++ b/data/mods/Xedra_Evolved/items/biosignatures.json @@ -5,7 +5,7 @@ "name": { "str_sp": "guano" }, "copy-from": "feces_bird", "weight": "750 g", - "volume": "1 L", + "volume": "250 ml", "description": "A fresh pile of bat guano; this could probably be used to make some great fertilizer." } ] diff --git a/data/mods/Xedra_Evolved/items/carnivore.json b/data/mods/Xedra_Evolved/items/carnivore.json index 15715d6ee8188..eacb2ac23a01a 100644 --- a/data/mods/Xedra_Evolved/items/carnivore.json +++ b/data/mods/Xedra_Evolved/items/carnivore.json @@ -32,7 +32,6 @@ "price_postapoc": 100, "vitamins": [ [ "underhill_essence", 15 ] ], "material": [ "fae_fur", "fae_flesh" ], - "stack_size": 1, "fun": -24 }, { diff --git a/data/mods/Xedra_Evolved/items/comestibles/med.json b/data/mods/Xedra_Evolved/items/comestibles/med.json index c15b5ae68c1bf..3f31a48a0a29f 100644 --- a/data/mods/Xedra_Evolved/items/comestibles/med.json +++ b/data/mods/Xedra_Evolved/items/comestibles/med.json @@ -6,11 +6,9 @@ "name": { "str": "eXtra strength aspirin" }, "description": "Alchemically altered aspirin. Take to relieve pain and injury.", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 500, "price_postapoc": 7500, - "charges": 20, - "stack_size": 200, "material": [ "powder" ], "symbol": "!", "color": "white", @@ -30,11 +28,9 @@ "name": { "str_sp": "horny rhino pills" }, "description": "DOES YOUR PARTNER FIND YOUR LACK OF SEXUAL POTENCY PATHETHIC?!??! SMASH YOUR BEDROOM LIKE A WILD ANIMAL ALL NIGHT LONG!!! -ingredients not confirmed with the FDA.", "weight": "1 g", - "volume": "100 ml", + "volume": "5 ml", "price": 90, "price_postapoc": 100, - "charges": 20, - "stack_size": 20, "symbol": "!", "color": "magenta", "container": "bottle_plastic_pill_supplement", diff --git a/data/mods/Xedra_Evolved/items/comestibles/raw_fruit.json b/data/mods/Xedra_Evolved/items/comestibles/raw_fruit.json index 7c6d9d1ac5c90..ab41824c272c7 100644 --- a/data/mods/Xedra_Evolved/items/comestibles/raw_fruit.json +++ b/data/mods/Xedra_Evolved/items/comestibles/raw_fruit.json @@ -14,8 +14,7 @@ "price": 100, "price_postapoc": 50, "material": [ "veggy" ], - "volume": "850 ml", - "charges": 5, + "volume": "170 ml", "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 4 ], [ "calcium", 1 ], [ "iron", 2 ] ] diff --git a/data/mods/Xedra_Evolved/items/drugs.json b/data/mods/Xedra_Evolved/items/drugs.json index f11c90bba447a..e707a39c5b062 100644 --- a/data/mods/Xedra_Evolved/items/drugs.json +++ b/data/mods/Xedra_Evolved/items/drugs.json @@ -6,11 +6,9 @@ "name": { "str": "faewild dust" }, "description": "A shimmering silvery dust. Narcotic with the street name of Faewild. Causes the user to see colors not normally visible to the naked human eye.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 10000, "price_postapoc": 2500, - "charges": 5, - "stack_size": 100, "symbol": ":", "color": "pink", "stim": 20, @@ -29,11 +27,9 @@ "name": { "str": "lotus blossom" }, "description": "A drug that became popular over the last few years before the Cataclysm. It appears to be exactly as its street name, a dark purple lotus blossom. It's known to be a strong painkiller while also causing vivid hallucinations.", "weight": "1 g", - "volume": "250 ml", + "volume": "2 ml", "price": 10000, "price_postapoc": 2500, - "charges": 5, - "stack_size": 100, "symbol": "*", "color": "magenta", "stim": -20, @@ -57,11 +53,9 @@ "name": { "str": "wyld candy", "str_pl": "wyld candies" }, "description": "Mixed candies purporting to come from 'Fair Folk Industries' these candies appear in areas of the country thought to have significant crossover events. It remains unknown whether these candies are produced by a company from here taking advantage of a thin place or if they came from somewhere else.", "weight": "1 g", - "volume": "100 ml", + "volume": "5 ml", "price": 5000, "price_postapoc": 2000, - "charges": 20, - "stack_size": 20, "symbol": "!", "color": "magenta", "container": "wrapper_wyld", diff --git a/data/mods/Xedra_Evolved/recipes/alchemy.json b/data/mods/Xedra_Evolved/recipes/alchemy.json index 808ed4356df83..1e5d3874fe13f 100644 --- a/data/mods/Xedra_Evolved/recipes/alchemy.json +++ b/data/mods/Xedra_Evolved/recipes/alchemy.json @@ -18,7 +18,8 @@ ], "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 25, "LIST" ] ] ], - "components": [ [ [ "chem_ethanol", 1 ] ], [ [ "aspirin", 1 ] ], [ [ "faewild", 1 ] ] ] + "components": [ [ [ "chem_ethanol", 1 ] ], [ [ "aspirin", 1 ] ], [ [ "faewild", 1 ] ] ], + "charges": 20 }, { "type": "recipe", @@ -131,7 +132,8 @@ [ [ "oxy_powder", 100 ] ], [ [ "scrap_dreamdross", 5 ] ], [ [ "lotus_blossom", 2 ] ] - ] + ], + "charges": 5 }, { "type": "recipe", diff --git a/data/mods/deadly_bites/items.json b/data/mods/deadly_bites/items.json index 237ac1d6dd4cf..b858009718515 100644 --- a/data/mods/deadly_bites/items.json +++ b/data/mods/deadly_bites/items.json @@ -6,11 +6,9 @@ "name": { "str_sp": "antivirals" }, "description": "An anti-viral medication that inhibits the development of certain viruses. One dose lasts 16 hours. Could this, by some miracle, work against whatever the zombies are carrying?", "weight": "1 g", - "volume": "250 ml", + "volume": "1 ml", "price": 9000, "price_postapoc": 40000, - "charges": 15, - "stack_size": 200, "symbol": "!", "color": "white", "container": "bottle_plastic_pill_prescription", diff --git a/data/mods/innawood/items/medical_primitive.json b/data/mods/innawood/items/medical_primitive.json index eb8438e219c08..4fb138f31f046 100644 --- a/data/mods/innawood/items/medical_primitive.json +++ b/data/mods/innawood/items/medical_primitive.json @@ -6,14 +6,12 @@ "name": { "str": "birchbark bandage" }, "description": "A small roll of birchbark with cord, to tie around wounds to help stop bleeding and protect from dirt. It's better than nothing.", "weight": "70 g", - "volume": "250 ml", + "volume": "41 ml", "price": 25, "price_postapoc": 25, "material": "wood", "symbol": "!", "color": "white", - "charges": 3, - "stack_size": 6, "flags": [ "NO_INGEST", "EDIBLE_FROZEN" ], "use_action": { "type": "heal", "bandages_power": 2, "bleed": 8, "move_cost": 6000 } }, @@ -30,7 +28,6 @@ "material": "wood", "symbol": "!", "color": "white", - "charges": 1, "flags": [ "NO_INGEST", "EDIBLE_FROZEN" ], "use_action": { "type": "heal", "bandages_power": 3, "bleed": 10, "move_cost": 6000 } } diff --git a/data/mods/innawood/recipes/recipe_food.json b/data/mods/innawood/recipes/recipe_food.json index 1c2f313747ee8..f554eaadc7962 100644 --- a/data/mods/innawood/recipes/recipe_food.json +++ b/data/mods/innawood/recipes/recipe_food.json @@ -216,7 +216,8 @@ "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "BOIL", "level": 1 } ], "tools": [ [ [ "surface_heat", 30, "LIST" ] ] ], "proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_forage_cooking" } ], - "components": [ [ [ "water_clean", 1 ] ], [ [ "coffee_pod", 1 ] ] ] + "components": [ [ [ "water_clean", 1 ] ], [ [ "coffee_pod", 1 ] ] ], + "charges": 5 }, { "type": "recipe", @@ -518,7 +519,8 @@ "qualities": [ { "id": "CHURN", "level": 1 } ], "book_learn": [ [ "dairy_book", 3 ] ], "//": "Book Things to do with milk. Add curdled milk and cheese recipes to the book. Also consider adding to brewing json Airag from this book.", - "components": [ [ [ "milk_cream", 5 ] ] ] + "components": [ [ [ "milk_cream", 5 ] ] ], + "charges": 33 }, { "type": "recipe", @@ -536,7 +538,8 @@ "book_learn": [ [ "dairy_book", 3 ] ], "//": "Book Things to do with milk. Add curdled milk and cheese recipes to the book. Also consider adding to brewing json Airag from this book.", "tools": [ [ [ "jar_glass_sealed", -1 ] ] ], - "components": [ [ [ "water_clean", 1 ] ], [ [ "milk_cream", 3 ] ] ] + "components": [ [ [ "water_clean", 1 ] ], [ [ "milk_cream", 3 ] ] ], + "charges": 33 }, { "result": "offal_pickled", @@ -606,7 +609,8 @@ [ [ "batter", 3, "LIST" ] ], [ [ "salt", 1 ] ], [ [ "seasoning_mild", 4, "LIST" ] ] - ] + ], + "charges": 3 }, { "type": "recipe", @@ -685,7 +689,8 @@ [ [ "sweet_fruit_like", 8, "LIST" ] ], [ [ "sugar", 20 ], [ "syrup", 4 ], [ "beet_syrup", 4 ], [ "molasses", 4 ], [ "artificial_sweetener", 20 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] - ] + ], + "charges": 8 }, { "type": "recipe", @@ -751,7 +756,8 @@ "book_learn": [ [ "cookbook", 1 ], [ "scots_cookbook", 2 ] ], "qualities": [ [ { "id": "COOK", "level": 2 } ], [ { "id": "OVEN", "level": 1 } ] ], "tools": [ [ [ "surface_heat", 45, "LIST" ] ] ], - "components": [ [ [ "flour_any", 20, "LIST" ] ], [ [ "meat_offal", 1, "LIST" ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "flour_any", 20, "LIST" ] ], [ [ "meat_offal", 1, "LIST" ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ], + "charges": 3 }, { "type": "recipe", From e02978c156a926bda2c01e899dc188235653cedd Mon Sep 17 00:00:00 2001 From: mqrause Date: Tue, 25 Jul 2023 09:14:34 +0200 Subject: [PATCH 13/13] post script fixes --- data/json/itemgroups/Food/food.json | 3 +- .../locations_commercial.json | 6 ++-- data/json/itemgroups/SUS/domestic.json | 2 +- data/json/itemgroups/food_service.json | 30 +++++++++---------- data/json/items/comestibles/drink.json | 1 + data/json/items/comestibles/med.json | 2 +- data/json/items/comestibles/nuts.json | 2 +- data/json/items/comestibles/other.json | 2 +- data/json/items/comestibles/spice.json | 2 +- 9 files changed, 26 insertions(+), 24 deletions(-) diff --git a/data/json/itemgroups/Food/food.json b/data/json/itemgroups/Food/food.json index 2550964e42768..ab77efba3504d 100644 --- a/data/json/itemgroups/Food/food.json +++ b/data/json/itemgroups/Food/food.json @@ -116,7 +116,7 @@ { "prob": 50, "group": "yeast_bag_plastic_25" }, { "prob": 40, "group": "sugar_box_small_71" }, { "prob": 10, "group": "artificial_sweetener_box_small_71" }, - { "prob": 5, "group": "sprinkles_bottle_plastic_small_66" }, + { "prob": 5, "group": "sprinkles_bottle_plastic_small_62" }, { "prob": 40, "group": "salt_bag_plastic_100" }, { "prob": 30, "group": "pepper_bag_plastic_100" }, { "prob": 15, "group": "cinnamon_bag_plastic_100" }, @@ -1062,6 +1062,7 @@ "type": "item_group", "id": "brown_bread_can_medium_14", "subtype": "collection", + "on_overflow": "discard", "//": "This group was created automatically and may contain errors.", "container-item": "can_medium", "entries": [ { "item": "brown_bread", "container-item": "null", "count": 14 } ] diff --git a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json index 492aff31445a0..056b481ef48dc 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json +++ b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json @@ -2193,7 +2193,7 @@ { "id": "farm_supply_animal_feed", "type": "item_group", - "items": [ { "prob": 50, "group": "cattlefodder_bag_canvas_60" }, { "prob": 50, "group": "birdfood_bag_canvas_60" } ] + "items": [ { "prob": 50, "group": "cattlefodder_bag_canvas_50" }, { "prob": 50, "group": "birdfood_bag_canvas_60" } ] }, { "id": "farm_supply_riding_gear", @@ -2266,11 +2266,11 @@ }, { "type": "item_group", - "id": "cattlefodder_bag_canvas_60", + "id": "cattlefodder_bag_canvas_50", "subtype": "collection", "//": "This group was created automatically and may contain errors.", "container-item": "bag_canvas", - "entries": [ { "item": "cattlefodder", "count": 60 } ] + "entries": [ { "item": "cattlefodder", "count": 50 } ] }, { "type": "item_group", diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index c4b591259f4ee..0877f9bf54f1c 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -666,7 +666,7 @@ { "prob": 5, "group": "artificial_sweetener_box_small_71" }, { "prob": 25, "group": "curry_powder_bag_plastic_100" }, { "prob": 25, "group": "garlic_powder_bag_plastic_100" }, - { "prob": 10, "group": "sprinkles_bottle_plastic_small_66" }, + { "prob": 10, "group": "sprinkles_bottle_plastic_small_62" }, { "item": "thyme", "prob": 65 }, { "prob": 50, "group": "seasoning_italian_bag_plastic_100" }, { "prob": 50, "group": "seasoning_salt_bag_plastic_100" } diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json index d172f4f17d3d1..e46e5e2553594 100644 --- a/data/json/itemgroups/food_service.json +++ b/data/json/itemgroups/food_service.json @@ -139,13 +139,13 @@ { "item": "con_milk", "prob": 10 }, { "prob": 20, "group": "bee_balm_jar_3l_glass_sealed_1_12" }, { "item": "jar_3l_glass_sealed", "prob": 40, "contents-group": "teashop_bulk_teas_no_stackable" }, - { "prob": 10, "group": "raw_burdock_jar_3l_glass_sealed_1_48" }, + { "prob": 10, "group": "raw_burdock_jar_3l_glass_sealed_1_inf" }, { "prob": 60, "group": "tea_raw_jar_glass_sealed_10_40" }, { "prob": 30, "group": "tea_green_raw_jar_glass_sealed_10_40" }, - { "prob": 50, "group": "wild_herbs_jar_glass_sealed_20_200" }, - { "prob": 10, "group": "raw_dandelion_jar_glass_sealed_1_8" }, + { "prob": 50, "group": "wild_herbs_jar_glass_sealed_20_inf" }, + { "prob": 10, "group": "raw_dandelion_jar_glass_sealed_1_inf" }, { "prob": 30, "group": "milk_powder_jar_glass_sealed_1_8" }, - { "prob": 20, "group": "cinnamon_jar_glass_sealed_1_200" }, + { "prob": 20, "group": "cinnamon_jar_glass_sealed_1_inf" }, { "prob": 40, "group": "sugar_jar_glass_sealed_10_142" } ] }, @@ -813,7 +813,7 @@ { "group": "barbecue_sauce_sealed_rng", "prob": 40 }, { "group": "honey_mustard_sealed_rng", "prob": 30 }, { "item": "horseradish", "prob": 10 }, - { "prob": 20, "group": "sprinkles_bottle_plastic_small_66" }, + { "prob": 20, "group": "sprinkles_bottle_plastic_small_62" }, { "item": "honey_bottled", "prob": 35 }, { "prob": 35, "group": "honey_glassed_jar_glass_sealed_5" }, { "item": "peanutbutter", "prob": 60 }, @@ -1568,11 +1568,11 @@ }, { "type": "item_group", - "id": "raw_burdock_jar_3l_glass_sealed_1_48", + "id": "raw_burdock_jar_3l_glass_sealed_1_inf", "subtype": "collection", "//": "This group was created automatically and may contain errors.", "container-item": "jar_3l_glass_sealed", - "entries": [ { "item": "raw_burdock", "count-min": 1, "count-max": 48 } ] + "entries": [ { "item": "raw_burdock", "count-min": 1 } ] }, { "type": "item_group", @@ -1592,19 +1592,19 @@ }, { "type": "item_group", - "id": "wild_herbs_jar_glass_sealed_20_200", + "id": "wild_herbs_jar_glass_sealed_20_inf", "subtype": "collection", "//": "This group was created automatically and may contain errors.", "container-item": "jar_glass_sealed", - "entries": [ { "item": "wild_herbs", "count-min": 20, "count-max": 200 } ] + "entries": [ { "item": "wild_herbs", "count-min": 20 } ] }, { "type": "item_group", - "id": "raw_dandelion_jar_glass_sealed_1_8", + "id": "raw_dandelion_jar_glass_sealed_1_inf", "subtype": "collection", "//": "This group was created automatically and may contain errors.", "container-item": "jar_glass_sealed", - "entries": [ { "item": "raw_dandelion", "count-min": 1, "count-max": 8 } ] + "entries": [ { "item": "raw_dandelion", "count-min": 1 } ] }, { "type": "item_group", @@ -1616,11 +1616,11 @@ }, { "type": "item_group", - "id": "cinnamon_jar_glass_sealed_1_200", + "id": "cinnamon_jar_glass_sealed_1_inf", "subtype": "collection", "//": "This group was created automatically and may contain errors.", "container-item": "jar_glass_sealed", - "entries": [ { "item": "cinnamon", "container-item": "null", "count-min": 1, "count-max": 200 } ] + "entries": [ { "item": "cinnamon", "container-item": "null", "count-min": 1 } ] }, { "type": "item_group", @@ -1960,11 +1960,11 @@ }, { "type": "item_group", - "id": "sprinkles_bottle_plastic_small_66", + "id": "sprinkles_bottle_plastic_small_62", "subtype": "collection", "//": "This group was created automatically and may contain errors.", "container-item": "bottle_plastic_small", - "entries": [ { "item": "sprinkles", "container-item": "null", "count": 66 } ] + "entries": [ { "item": "sprinkles", "container-item": "null", "count": 62 } ] }, { "type": "item_group", diff --git a/data/json/items/comestibles/drink.json b/data/json/items/comestibles/drink.json index 968b376d57674..fda953e353115 100644 --- a/data/json/items/comestibles/drink.json +++ b/data/json/items/comestibles/drink.json @@ -1620,6 +1620,7 @@ "price": 90, "price_postapoc": 40, "volume": "236 ml", + "charges": 1, "phase": "liquid", "flags": [ "EATEN_COLD" ], "fun": 6 diff --git a/data/json/items/comestibles/med.json b/data/json/items/comestibles/med.json index 5a25addde0279..e8086309260ba 100644 --- a/data/json/items/comestibles/med.json +++ b/data/json/items/comestibles/med.json @@ -1099,7 +1099,7 @@ "name": { "str_sp": "hemostatic powder" }, "description": "A powdered antihemorrhagic compound that reacts with blood to immediately form a gel-like substance that stops bleeding.", "weight": "5 g", - "volume": "4 ml", + "volume": "5 ml", "price": 550, "price_postapoc": 3000, "material": [ "powder" ], diff --git a/data/json/items/comestibles/nuts.json b/data/json/items/comestibles/nuts.json index cf4e5a07ea2ab..81139063ff6b3 100644 --- a/data/json/items/comestibles/nuts.json +++ b/data/json/items/comestibles/nuts.json @@ -495,7 +495,7 @@ "//": "Two tablespoons per charge.", "phase": "solid", "volume": "31 ml", - "weight": "50 g", + "weight": "32 g", "primary_material": "junk", "material": [ "nut", "junk" ], "quench": -2, diff --git a/data/json/items/comestibles/other.json b/data/json/items/comestibles/other.json index e8ec7e9335a1f..d1c180a64ed08 100644 --- a/data/json/items/comestibles/other.json +++ b/data/json/items/comestibles/other.json @@ -128,7 +128,7 @@ "flags": [ "NUTRIENT_OVERRIDE" ], "vitamins": [ [ "mutant_toxin", 6 ] ], "//": "It takes about 30 portions of honeydew to feed an adult (~2000 kkal). 2000 kkal is about 10 raw chunks of mutant meat, which is 250% toxins. Honeydew probably isn't as toxic as meat, so 30 portions of it would give you 180% of toxins.", - "volume": "15 ml" + "volume": "16 ml" }, { "type": "COMESTIBLE", diff --git a/data/json/items/comestibles/spice.json b/data/json/items/comestibles/spice.json index 23d506e7d557d..ad0bc296bed46 100644 --- a/data/json/items/comestibles/spice.json +++ b/data/json/items/comestibles/spice.json @@ -115,7 +115,7 @@ "price": 399, "price_postapoc": 200, "calories": 20, - "volume": "3 ml" + "volume": "4 ml" }, { "type": "COMESTIBLE",