This commit is contained in:
Joan
2025-11-27 16:27:01 +01:00
parent 33cc9586c2
commit 81f8912059
304 changed files with 56149 additions and 10122 deletions

View File

@@ -4,7 +4,7 @@
"id": "rubble",
"name": "🧱 Pile of Rubble",
"description": "A scattered pile of debris and broken concrete.",
"image_path": "images/interactables/rubble.png",
"image_path": "images/interactables/rubble.webp",
"actions": {
"search": {
"id": "search",
@@ -17,7 +17,7 @@
"id": "dumpster",
"name": "\ud83d\uddd1\ufe0f Dumpster",
"description": "A rusted metal dumpster, possibly containing scavenged goods.",
"image_path": "images/interactables/dumpster.png",
"image_path": "images/interactables/dumpster.webp",
"actions": {
"search_dumpster": {
"id": "search_dumpster",
@@ -30,7 +30,7 @@
"id": "sedan",
"name": "\ud83d\ude97 Rusty Sedan",
"description": "An abandoned sedan with rusted doors.",
"image_path": "images/interactables/sedan.png",
"image_path": "images/interactables/sedan.webp",
"actions": {
"search_glovebox": {
"id": "search_glovebox",
@@ -48,7 +48,7 @@
"id": "house",
"name": "\ud83c\udfda\ufe0f Abandoned House",
"description": "A dilapidated house with boarded windows.",
"image_path": "images/interactables/house.png",
"image_path": "images/interactables/house.webp",
"actions": {
"search_house": {
"id": "search_house",
@@ -61,7 +61,7 @@
"id": "toolshed",
"name": "\ud83d\udd28 Tool Shed",
"description": "A small wooden shed, door slightly ajar.",
"image_path": "images/interactables/toolshed.png",
"image_path": "images/interactables/toolshed.webp",
"actions": {
"search_shed": {
"id": "search_shed",
@@ -74,7 +74,7 @@
"id": "medkit",
"name": "\ud83c\udfe5 Medical Supply Cabinet",
"description": "A white metal cabinet with a red cross symbol.",
"image_path": "images/interactables/medkit.png",
"image_path": "images/interactables/medkit.webp",
"actions": {
"search_medkit": {
"id": "search_medkit",
@@ -87,7 +87,7 @@
"id": "storage_box",
"name": "📦 Storage Box",
"description": "A weathered storage container.",
"image_path": "images/interactables/storage_box.png",
"image_path": "images/interactables/storage_box.webp",
"actions": {
"search": {
"id": "search",
@@ -100,7 +100,7 @@
"id": "vending_machine",
"name": "\ud83e\uddc3 Vending Machine",
"description": "A broken vending machine, glass shattered.",
"image_path": "images/interactables/vending.png",
"image_path": "images/interactables/vending.webp",
"actions": {
"break": {
"id": "break",

View File

@@ -5,77 +5,112 @@
"type": "resource",
"weight": 0.5,
"volume": 0.2,
"emoji": "\u2699\ufe0f"
"emoji": "\u2699\ufe0f",
"image_path": "images/items/scrap_metal.webp",
"description": "A raw material used for crafting and upgrades."
},
"rusty_nails": {
"name": "Rusty Nails",
"weight": 0.2,
"volume": 0.1,
"type": "resource",
"emoji": "\ud83d\udccc"
"emoji": "\ud83d\udccc",
"image_path": "images/items/rusty_nails.webp",
"description": "A raw material used for crafting and upgrades."
},
"wood_planks": {
"name": "Wood Planks",
"weight": 3.0,
"volume": 2.0,
"type": "resource",
"emoji": "\ud83e\udeb5"
"emoji": "\ud83e\udeb5",
"image_path": "images/items/wood_planks.webp",
"description": "A raw material used for crafting and upgrades."
},
"cloth_scraps": {
"name": "Cloth Scraps",
"weight": 0.1,
"volume": 0.2,
"type": "resource",
"emoji": "\ud83e\uddf5"
"emoji": "\ud83e\uddf5",
"image_path": "images/items/cloth_scraps.webp",
"description": "A raw material used for crafting and upgrades."
},
"cloth": {
"name": "Cloth",
"type": "resource",
"weight": 0.1,
"volume": 0.2,
"type": "resource",
"emoji": "\ud83e\uddf5"
"emoji": "\ud83e\uddf5",
"description": "A raw material used for crafting and upgrades.",
"image_path": "images/items/cloth.webp",
"uncraftable": true,
"uncraft_yield": [
{
"item_id": "cloth_scraps",
"quantity": 2
}
],
"uncraft_tools": [
{
"item_id": "knife",
"durability_cost": 1
}
]
},
"plastic_bottles": {
"name": "Plastic Bottles",
"weight": 0.05,
"volume": 0.3,
"type": "resource",
"emoji": "\ud83c\udf76"
"emoji": "\ud83c\udf76",
"image_path": "images/items/plastic_bottles.webp",
"description": "A raw material used for crafting and upgrades."
},
"bone": {
"name": "Bone",
"weight": 0.3,
"volume": 0.1,
"type": "resource",
"emoji": "\ud83e\uddb4"
"emoji": "\ud83e\uddb4",
"image_path": "images/items/bone.webp",
"description": "A raw material used for crafting and upgrades."
},
"raw_meat": {
"name": "Raw Meat",
"weight": 0.5,
"volume": 0.2,
"type": "resource",
"emoji": "\ud83e\udd69"
"emoji": "\ud83e\udd69",
"image_path": "images/items/raw_meat.webp",
"description": "A raw material used for crafting and upgrades."
},
"animal_hide": {
"name": "Animal Hide",
"weight": 0.4,
"volume": 0.3,
"type": "resource",
"emoji": "\ud83e\udde4"
"emoji": "\ud83e\udde4",
"image_path": "images/items/animal_hide.webp",
"description": "A raw material used for crafting and upgrades."
},
"mutant_tissue": {
"name": "Mutant Tissue",
"weight": 0.2,
"volume": 0.1,
"type": "resource",
"emoji": "\ud83e\uddec"
"emoji": "\ud83e\uddec",
"image_path": "images/items/mutant_tissue.webp",
"description": "A raw material used for crafting and upgrades."
},
"infected_tissue": {
"name": "Infected Tissue",
"weight": 0.2,
"volume": 0.1,
"type": "resource",
"emoji": "\u2623\ufe0f"
"emoji": "\u2623\ufe0f",
"image_path": "images/items/infected_tissue.webp",
"description": "A raw material used for crafting and upgrades."
},
"stale_chocolate_bar": {
"name": "Stale Chocolate Bar",
@@ -83,7 +118,9 @@
"volume": 0.1,
"type": "consumable",
"hp_restore": 10,
"emoji": "\ud83c\udf6b"
"emoji": "\ud83c\udf6b",
"image_path": "images/items/stale_chocolate_bar.webp",
"description": "Can be consumed to restore health or stamina."
},
"canned_beans": {
"name": "Canned Beans",
@@ -92,7 +129,9 @@
"type": "consumable",
"hp_restore": 20,
"stamina_restore": 5,
"emoji": "\ud83e\udd6b"
"emoji": "\ud83e\udd6b",
"image_path": "images/items/canned_beans.webp",
"description": "Can be consumed to restore health or stamina."
},
"canned_food": {
"name": "Canned Food",
@@ -101,7 +140,9 @@
"type": "consumable",
"hp_restore": 25,
"stamina_restore": 5,
"emoji": "\ud83e\udd6b"
"emoji": "\ud83e\udd6b",
"image_path": "images/items/canned_food.webp",
"description": "Can be consumed to restore health or stamina."
},
"bottled_water": {
"name": "Bottled Water",
@@ -109,7 +150,9 @@
"volume": 0.3,
"type": "consumable",
"stamina_restore": 10,
"emoji": "\ud83d\udca7"
"emoji": "\ud83d\udca7",
"image_path": "images/items/bottled_water.webp",
"description": "Can be consumed to restore health or stamina."
},
"water_bottle": {
"name": "Water Bottle",
@@ -117,7 +160,9 @@
"volume": 0.3,
"type": "consumable",
"stamina_restore": 10,
"emoji": "\ud83d\udca7"
"emoji": "\ud83d\udca7",
"image_path": "images/items/water_bottle.webp",
"description": "Can be consumed to restore health or stamina."
},
"energy_bar": {
"name": "Energy Bar",
@@ -125,7 +170,9 @@
"volume": 0.1,
"type": "consumable",
"stamina_restore": 15,
"emoji": "\ud83c\udf6b"
"emoji": "\ud83c\udf6b",
"image_path": "images/items/energy_bar.webp",
"description": "Can be consumed to restore health or stamina."
},
"mystery_pills": {
"name": "Mystery Pills",
@@ -133,7 +180,9 @@
"volume": 0.05,
"type": "consumable",
"hp_restore": 30,
"emoji": "\ud83d\udc8a"
"emoji": "\ud83d\udc8a",
"image_path": "images/items/mystery_pills.webp",
"description": "Can be consumed to restore health or stamina."
},
"first_aid_kit": {
"name": "First Aid Kit",
@@ -142,7 +191,8 @@
"volume": 0.5,
"type": "consumable",
"hp_restore": 50,
"emoji": "\ud83e\ude79"
"emoji": "\ud83e\ude79",
"image_path": "images/items/first_aid_kit.webp"
},
"bandage": {
"name": "Bandage",
@@ -152,7 +202,8 @@
"type": "consumable",
"hp_restore": 15,
"treats": "Bleeding",
"emoji": "\ud83e\ude79"
"emoji": "\ud83e\ude79",
"image_path": "images/items/bandage.webp"
},
"medical_supplies": {
"name": "Medical Supplies",
@@ -161,7 +212,8 @@
"volume": 0.4,
"type": "consumable",
"hp_restore": 40,
"emoji": "\u2695\ufe0f"
"emoji": "\u2695\ufe0f",
"image_path": "images/items/medical_supplies.webp"
},
"antibiotics": {
"name": "Antibiotics",
@@ -171,7 +223,8 @@
"type": "consumable",
"hp_restore": 20,
"treats": "Infected",
"emoji": "\ud83d\udc8a"
"emoji": "\ud83d\udc8a",
"image_path": "images/items/antibiotics.webp"
},
"rad_pills": {
"name": "Rad Pills",
@@ -181,7 +234,8 @@
"type": "consumable",
"hp_restore": 5,
"treats": "Radiation",
"emoji": "\u2622\ufe0f"
"emoji": "\u2622\ufe0f",
"image_path": "images/items/rad_pills.webp"
},
"tire_iron": {
"name": "Tire Iron",
@@ -189,10 +243,17 @@
"weight": 2.0,
"volume": 1.0,
"type": "weapon",
"slot": "hand",
"damage_min": 3,
"damage_max": 7,
"emoji": "\ud83d\udd27"
"equippable": true,
"slot": "weapon",
"durability": 100,
"tier": 1,
"encumbrance": 1,
"stats": {
"damage_min": 3,
"damage_max": 5
},
"emoji": "\ud83d\udd27",
"image_path": "images/items/tire_iron.webp"
},
"baseball_bat": {
"name": "Baseball Bat",
@@ -201,9 +262,12 @@
"volume": 1.5,
"type": "weapon",
"slot": "hand",
"damage_min": 2,
"damage_max": 6,
"emoji": "\u26be"
"emoji": "\u26be",
"image_path": "images/items/baseball_bat.webp",
"stats": {
"damage_min": 5,
"damage_max": 8
}
},
"rusty_knife": {
"name": "Rusty Knife",
@@ -218,15 +282,22 @@
"encumbrance": 1,
"repairable": true,
"repair_materials": [
{"item_id": "scrap_metal", "quantity": 1},
{"item_id": "rusty_nails", "quantity": 2}
{
"item_id": "scrap_metal",
"quantity": 1
},
{
"item_id": "rusty_nails",
"quantity": 2
}
],
"repair_percentage": 25,
"stats": {
"damage_min": 2,
"damage_max": 5
},
"emoji": "\ud83d\udd2a"
"emoji": "\ud83d\udd2a",
"image_path": "images/items/rusty_knife.webp"
},
"knife": {
"name": "Knife",
@@ -242,34 +313,64 @@
"craftable": true,
"craft_level": 2,
"craft_materials": [
{"item_id": "rusty_knife", "quantity": 1},
{"item_id": "scrap_metal", "quantity": 3},
{"item_id": "cloth_scraps", "quantity": 2}
{
"item_id": "rusty_knife",
"quantity": 1
},
{
"item_id": "scrap_metal",
"quantity": 3
},
{
"item_id": "cloth_scraps",
"quantity": 2
}
],
"craft_tools": [
{"item_id": "hammer", "durability_cost": 3}
{
"item_id": "hammer",
"durability_cost": 3
}
],
"repairable": true,
"repair_materials": [
{"item_id": "scrap_metal", "quantity": 2},
{"item_id": "cloth_scraps", "quantity": 1}
{
"item_id": "scrap_metal",
"quantity": 2
},
{
"item_id": "cloth_scraps",
"quantity": 1
}
],
"repair_tools": [
{"item_id": "hammer", "durability_cost": 2}
{
"item_id": "hammer",
"durability_cost": 2
}
],
"repair_percentage": 30,
"uncraftable": true,
"uncraft_yield": [
{"item_id": "scrap_metal", "quantity": 2},
{"item_id": "cloth_scraps", "quantity": 1}
{
"item_id": "scrap_metal",
"quantity": 2
},
{
"item_id": "cloth_scraps",
"quantity": 1
}
],
"uncraft_loss_chance": 0.25,
"uncraft_tools": [
{"item_id": "hammer", "durability_cost": 1}
{
"item_id": "hammer",
"durability_cost": 1
}
],
"stats": {
"damage_min": 3,
"damage_max": 6
"damage_min": 10,
"damage_max": 15
},
"weapon_effects": {
"bleeding": {
@@ -278,7 +379,8 @@
"duration": 3
}
},
"emoji": "\ud83d\udd2a"
"emoji": "\ud83d\udd2a",
"image_path": "images/items/knife.webp"
},
"rusty_pipe": {
"name": "Rusty Pipe",
@@ -287,39 +389,60 @@
"volume": 0.8,
"type": "weapon",
"slot": "hand",
"damage_min": 4,
"damage_max": 8,
"emoji": "\ud83d\udd29"
"emoji": "\ud83d\udd29",
"image_path": "images/items/rusty_pipe.webp",
"stats": {
"damage_min": 5,
"damage_max": 8
}
},
"tattered_rucksack": {
"name": "Tattered Rucksack",
"description": "An old backpack with torn straps. Still functional.",
"weight": 1.0,
"volume": 0.5,
"type": "equipment",
"type": "backpack",
"equippable": true,
"slot": "backpack",
"durability": 100,
"tier": 1,
"encumbrance": 2,
"craftable": true,
"craft_materials": [
{
"item_id": "cloth",
"quantity": 5
},
{
"item_id": "rusty_nails",
"quantity": 3
}
],
"repairable": true,
"repair_materials": [
{"item_id": "cloth_scraps", "quantity": 3},
{"item_id": "rusty_nails", "quantity": 1}
{
"item_id": "cloth_scraps",
"quantity": 3
},
{
"item_id": "rusty_nails",
"quantity": 1
}
],
"repair_percentage": 20,
"stats": {
"weight_capacity": 10,
"volume_capacity": 10
},
"emoji": "\ud83c\udf92"
"emoji": "\ud83c\udf92",
"image_path": "images/items/tattered_rucksack.webp"
},
"hiking_backpack": {
"name": "Hiking Backpack",
"description": "A quality backpack with multiple compartments.",
"weight": 1.5,
"volume": 0.7,
"type": "equipment",
"type": "backpack",
"equippable": true,
"slot": "backpack",
"durability": 150,
@@ -327,38 +450,54 @@
"encumbrance": 2,
"repairable": true,
"repair_materials": [
{"item_id": "cloth", "quantity": 2},
{"item_id": "scrap_metal", "quantity": 1}
{
"item_id": "cloth",
"quantity": 2
},
{
"item_id": "scrap_metal",
"quantity": 1
}
],
"repair_percentage": 25,
"stats": {
"weight_capacity": 20,
"volume_capacity": 20
},
"emoji": "\ud83c\udf92"
"emoji": "\ud83c\udf92",
"image_path": "images/items/hiking_backpack.webp"
},
"flashlight": {
"name": "Flashlight",
"description": "A battery-powered flashlight. Batteries low but working.",
"weight": 0.3,
"volume": 0.2,
"type": "equipment",
"type": "tool",
"slot": "tool",
"emoji": "\ud83d\udd26"
"emoji": "\ud83d\udd26",
"image_path": "images/items/flashlight.webp",
"stats": {
"damage_min": 5,
"damage_max": 8
}
},
"old_photograph": {
"name": "Old Photograph",
"weight": 0.01,
"volume": 0.01,
"type": "quest",
"emoji": "\ud83d\udcf7"
"emoji": "\ud83d\udcf7",
"image_path": "images/items/old_photograph.webp",
"description": "A useful old photograph."
},
"key_ring": {
"name": "Key Ring",
"weight": 0.1,
"volume": 0.05,
"type": "quest",
"emoji": "\ud83d\udd11"
"emoji": "\ud83d\udd11",
"image_path": "images/items/key_ring.webp",
"description": "A useful key ring."
},
"makeshift_spear": {
"name": "Makeshift Spear",
@@ -373,21 +512,37 @@
"encumbrance": 2,
"craftable": true,
"craft_materials": [
{"item_id": "wood_planks", "quantity": 2},
{"item_id": "scrap_metal", "quantity": 2},
{"item_id": "cloth_scraps", "quantity": 1}
{
"item_id": "wood_planks",
"quantity": 2
},
{
"item_id": "scrap_metal",
"quantity": 2
},
{
"item_id": "cloth_scraps",
"quantity": 1
}
],
"repairable": true,
"repair_materials": [
{"item_id": "wood_planks", "quantity": 1},
{"item_id": "scrap_metal", "quantity": 1}
{
"item_id": "wood_planks",
"quantity": 1
},
{
"item_id": "scrap_metal",
"quantity": 1
}
],
"repair_percentage": 25,
"stats": {
"damage_min": 4,
"damage_max": 7
},
"emoji": "\u2694\ufe0f"
"emoji": "\u2694\ufe0f",
"image_path": "images/items/makeshift_spear.webp"
},
"reinforced_bat": {
"name": "Reinforced Bat",
@@ -402,14 +557,29 @@
"encumbrance": 3,
"craftable": true,
"craft_materials": [
{"item_id": "wood_planks", "quantity": 3},
{"item_id": "scrap_metal", "quantity": 3},
{"item_id": "rusty_nails", "quantity": 5}
{
"item_id": "wood_planks",
"quantity": 3
},
{
"item_id": "scrap_metal",
"quantity": 3
},
{
"item_id": "rusty_nails",
"quantity": 5
}
],
"repairable": true,
"repair_materials": [
{"item_id": "scrap_metal", "quantity": 2},
{"item_id": "rusty_nails", "quantity": 2}
{
"item_id": "scrap_metal",
"quantity": 2
},
{
"item_id": "rusty_nails",
"quantity": 2
}
],
"repair_percentage": 20,
"stats": {
@@ -418,18 +588,19 @@
},
"weapon_effects": {
"stun": {
"chance": 0.20,
"chance": 0.2,
"duration": 1
}
},
"emoji": "\ud83c\udff8"
"emoji": "\ud83c\udff8",
"image_path": "images/items/reinforced_bat.webp"
},
"leather_vest": {
"name": "Leather Vest",
"description": "A makeshift vest crafted from leather scraps. Provides basic protection.",
"weight": 1.5,
"volume": 1.0,
"type": "equipment",
"type": "armor",
"equippable": true,
"slot": "torso",
"durability": 80,
@@ -437,28 +608,44 @@
"encumbrance": 2,
"craftable": true,
"craft_materials": [
{"item_id": "cloth", "quantity": 5},
{"item_id": "cloth_scraps", "quantity": 8},
{"item_id": "bone", "quantity": 2}
{
"item_id": "cloth",
"quantity": 5
},
{
"item_id": "cloth_scraps",
"quantity": 8
},
{
"item_id": "bone",
"quantity": 2
}
],
"repairable": true,
"repair_materials": [
{"item_id": "cloth", "quantity": 2},
{"item_id": "cloth_scraps", "quantity": 3}
{
"item_id": "cloth",
"quantity": 2
},
{
"item_id": "cloth_scraps",
"quantity": 3
}
],
"repair_percentage": 25,
"stats": {
"armor": 3,
"hp_max": 10
"hp_bonus": 10
},
"emoji": "\ud83e\uddba"
"emoji": "\ud83e\uddba",
"image_path": "images/items/leather_vest.webp"
},
"cloth_bandana": {
"name": "Cloth Bandana",
"description": "A simple cloth head covering. Keeps the sun and dust out.",
"weight": 0.1,
"volume": 0.1,
"type": "equipment",
"type": "clothing",
"equippable": true,
"slot": "head",
"durability": 50,
@@ -466,24 +653,31 @@
"encumbrance": 0,
"craftable": true,
"craft_materials": [
{"item_id": "cloth", "quantity": 2}
{
"item_id": "cloth",
"quantity": 2
}
],
"repairable": true,
"repair_materials": [
{"item_id": "cloth_scraps", "quantity": 2}
{
"item_id": "cloth_scraps",
"quantity": 2
}
],
"repair_percentage": 30,
"stats": {
"armor": 1
},
"emoji": "\ud83e\udde3"
"emoji": "\ud83e\udde3",
"image_path": "images/items/cloth_bandana.webp"
},
"sturdy_boots": {
"name": "Sturdy Boots",
"description": "Reinforced boots for traversing the wasteland.",
"weight": 1.0,
"volume": 0.8,
"type": "equipment",
"type": "clothing",
"equippable": true,
"slot": "feet",
"durability": 100,
@@ -491,28 +685,44 @@
"encumbrance": 1,
"craftable": true,
"craft_materials": [
{"item_id": "cloth", "quantity": 4},
{"item_id": "scrap_metal", "quantity": 2},
{"item_id": "bone", "quantity": 2}
{
"item_id": "cloth",
"quantity": 4
},
{
"item_id": "scrap_metal",
"quantity": 2
},
{
"item_id": "bone",
"quantity": 2
}
],
"repairable": true,
"repair_materials": [
{"item_id": "cloth", "quantity": 2},
{"item_id": "scrap_metal", "quantity": 1}
{
"item_id": "cloth",
"quantity": 2
},
{
"item_id": "scrap_metal",
"quantity": 1
}
],
"repair_percentage": 25,
"stats": {
"armor": 2,
"stamina_max": 5
"stamina_bonus": 5
},
"emoji": "\ud83e\udd7e"
"emoji": "\ud83e\udd7e",
"image_path": "images/items/sturdy_boots.webp"
},
"padded_pants": {
"name": "Padded Pants",
"description": "Pants reinforced with extra padding for protection.",
"weight": 0.8,
"volume": 0.6,
"type": "equipment",
"type": "armor",
"equippable": true,
"slot": "legs",
"durability": 80,
@@ -520,27 +730,40 @@
"encumbrance": 1,
"craftable": true,
"craft_materials": [
{"item_id": "cloth", "quantity": 4},
{"item_id": "cloth_scraps", "quantity": 5}
{
"item_id": "cloth",
"quantity": 4
},
{
"item_id": "cloth_scraps",
"quantity": 5
}
],
"repairable": true,
"repair_materials": [
{"item_id": "cloth", "quantity": 2},
{"item_id": "cloth_scraps", "quantity": 2}
{
"item_id": "cloth",
"quantity": 2
},
{
"item_id": "cloth_scraps",
"quantity": 2
}
],
"repair_percentage": 25,
"stats": {
"armor": 2,
"hp_max": 5
"hp_bonus": 5
},
"emoji": "\ud83d\udc56"
"emoji": "\ud83d\udc56",
"image_path": "images/items/padded_pants.webp"
},
"reinforced_pack": {
"name": "Reinforced Pack",
"description": "A custom-built backpack with metal frame and extra pockets.",
"weight": 2.0,
"volume": 0.9,
"type": "equipment",
"type": "backpack",
"equippable": true,
"slot": "backpack",
"durability": 200,
@@ -549,38 +772,75 @@
"craftable": true,
"craft_level": 5,
"craft_materials": [
{"item_id": "hiking_backpack", "quantity": 1},
{"item_id": "scrap_metal", "quantity": 5},
{"item_id": "cloth", "quantity": 3},
{"item_id": "rusty_nails", "quantity": 3}
{
"item_id": "hiking_backpack",
"quantity": 1
},
{
"item_id": "scrap_metal",
"quantity": 5
},
{
"item_id": "cloth",
"quantity": 3
},
{
"item_id": "rusty_nails",
"quantity": 3
}
],
"craft_tools": [
{"item_id": "hammer", "durability_cost": 5}
{
"item_id": "hammer",
"durability_cost": 5
}
],
"repairable": true,
"repair_materials": [
{"item_id": "cloth", "quantity": 2},
{"item_id": "scrap_metal", "quantity": 2}
{
"item_id": "cloth",
"quantity": 2
},
{
"item_id": "scrap_metal",
"quantity": 2
}
],
"repair_tools": [
{"item_id": "hammer", "durability_cost": 3}
{
"item_id": "hammer",
"durability_cost": 3
}
],
"repair_percentage": 20,
"uncraftable": true,
"uncraft_yield": [
{"item_id": "scrap_metal", "quantity": 3},
{"item_id": "cloth", "quantity": 2},
{"item_id": "rusty_nails", "quantity": 2}
{
"item_id": "scrap_metal",
"quantity": 3
},
{
"item_id": "cloth",
"quantity": 2
},
{
"item_id": "rusty_nails",
"quantity": 2
}
],
"uncraft_loss_chance": 0.4,
"uncraft_tools": [
{"item_id": "hammer", "durability_cost": 2}
{
"item_id": "hammer",
"durability_cost": 2
}
],
"stats": {
"weight_capacity": 30,
"volume_capacity": 30
},
"emoji": "\ud83c\udf92"
"emoji": "\ud83c\udf92",
"image_path": "images/items/reinforced_pack.webp"
},
"hammer": {
"name": "Hammer",
@@ -595,15 +855,25 @@
"craftable": true,
"craft_level": 2,
"craft_materials": [
{"item_id": "scrap_metal", "quantity": 3},
{"item_id": "wood_planks", "quantity": 1}
{
"item_id": "scrap_metal",
"quantity": 3
},
{
"item_id": "wood_planks",
"quantity": 1
}
],
"repairable": true,
"repair_materials": [
{"item_id": "scrap_metal", "quantity": 2}
{
"item_id": "scrap_metal",
"quantity": 2
}
],
"repair_percentage": 30,
"emoji": "🔨"
"emoji": "\ud83d\udd28",
"image_path": "images/items/hammer.webp"
},
"screwdriver": {
"name": "Screwdriver",
@@ -618,15 +888,29 @@
"craftable": true,
"craft_level": 1,
"craft_materials": [
{"item_id": "scrap_metal", "quantity": 1},
{"item_id": "plastic_bottles", "quantity": 1}
{
"item_id": "scrap_metal",
"quantity": 1
},
{
"item_id": "plastic_bottles",
"quantity": 1
}
],
"repairable": true,
"repair_materials": [
{"item_id": "scrap_metal", "quantity": 1}
{
"item_id": "scrap_metal",
"quantity": 1
}
],
"repair_percentage": 25,
"emoji": "🪛"
"emoji": "\ud83e\ude9b",
"image_path": "images/items/screwdriver.webp",
"stats": {
"damage_min": 5,
"damage_max": 8
}
}
}
}
}

View File

@@ -4,7 +4,7 @@
"id": "start_point",
"name": "\ud83c\udf06 Ruined Downtown Core",
"description": "The wind howls through skeletal skyscrapers. Debris litters the cracked asphalt. You sense danger, but also opportunity.",
"image_path": "images/locations/downtown.png",
"image_path": "images/locations/downtown.webp",
"x": 0,
"y": 0,
"interactables": {
@@ -101,7 +101,7 @@
"id": "gas_station",
"name": "\u26fd\ufe0f Abandoned Gas Station",
"description": "The smell of stale gasoline hangs in the air. A rusty sedan sits by the pumps, its door ajar. Behind the station, you spot a small tool shed with a workbench.",
"image_path": "images/locations/gas_station.png",
"image_path": "images/locations/gas_station.webp",
"x": 0,
"y": 2,
"tags": [
@@ -230,7 +230,7 @@
"id": "residential",
"name": "\ud83c\udfd8\ufe0f Residential Street",
"description": "A quiet suburban street lined with abandoned homes. Most are boarded up, but a few doors hang open, creaking in the wind.",
"image_path": "images/locations/residential.png",
"image_path": "images/locations/residential.webp",
"x": 3,
"y": 0,
"interactables": {
@@ -279,7 +279,7 @@
"id": "clinic",
"name": "\ud83c\udfe5 Old Clinic",
"description": "A small medical clinic, its windows shattered. The waiting room is a mess of overturned chairs and scattered papers. The examination rooms might still have supplies.",
"image_path": "images/locations/clinic.png",
"image_path": "images/locations/clinic.webp",
"x": 2,
"y": 3,
"interactables": {
@@ -323,7 +323,7 @@
"id": "plaza",
"name": "\ud83c\udfec Shopping Plaza",
"description": "A strip mall with broken storefronts. Most shops have been thoroughly ransacked, but you might find something if you search carefully.",
"image_path": "images/locations/plaza.png",
"image_path": "images/locations/plaza.webp",
"x": -2.5,
"y": 0,
"interactables": {
@@ -443,7 +443,7 @@
"id": "park",
"name": "\ud83c\udf33 Suburban Park",
"description": "An overgrown park with rusted playground equipment. Nature is slowly reclaiming this space. A maintenance shed sits at the far end.",
"image_path": "images/locations/park.png",
"image_path": "images/locations/park.webp",
"x": -1,
"y": -2,
"interactables": {
@@ -499,7 +499,7 @@
"description": "A concrete overpass spanning the cracked highway below. Abandoned vehicles litter the road. This is a good vantage point to survey the area.",
"x": 1.0,
"y": 4.5,
"image_path": "images/locations/overpass.png",
"image_path": "images/locations/overpass.webp",
"interactables": {
"overpass_sedan1": {
"template_id": "sedan",
@@ -613,7 +613,7 @@
"id": "warehouse",
"name": "\ud83c\udfed Warehouse District",
"description": "Rows of industrial warehouses stretch before you. Metal doors creak in the wind. The loading docks are littered with debris and abandoned cargo.",
"image_path": "images/locations/warehouse.png",
"image_path": "images/locations/warehouse.webp",
"x": 4,
"y": -1.5,
"interactables": {
@@ -696,7 +696,7 @@
"id": "warehouse_interior",
"name": "\ud83d\udce6 Warehouse Interior",
"description": "Inside the warehouse, towering shelves cast long shadows. Scattered crates and pallets suggest this was once a distribution center. The back office door hangs open.",
"image_path": "images/locations/warehouse_interior.png",
"image_path": "images/locations/warehouse_interior.webp",
"x": 4.5,
"y": -2,
"interactables": {
@@ -740,7 +740,7 @@
"id": "subway",
"name": "\ud83d\ude87 Subway Station Entrance",
"description": "Stairs descend into darkness. The entrance to an abandoned subway station yawns before you. Emergency lighting flickers somewhere below.",
"image_path": "images/locations/subway.png",
"image_path": "images/locations/subway.webp",
"x": -4,
"y": -0.5,
"interactables": {
@@ -849,7 +849,7 @@
"id": "subway_tunnels",
"name": "\ud83d\ude8a Subway Tunnels",
"description": "Dark subway tunnels stretch into blackness. Flickering emergency lights cast eerie shadows. The third rail is dead, but you should still watch your step.",
"image_path": "images/locations/subway_tunnels.png",
"image_path": "images/locations/subway_tunnels.webp",
"x": -4.5,
"y": -1,
"interactables": {
@@ -894,7 +894,7 @@
"id": "office_building",
"name": "\ud83c\udfe2 Office Building",
"description": "A five-story office building with shattered windows. The lobby is trashed, but the stairs appear intact. You can hear the wind whistling through the upper floors.",
"image_path": "images/locations/office_building.png",
"image_path": "images/locations/office_building.webp",
"x": 3.5,
"y": 4,
"interactables": {
@@ -938,7 +938,7 @@
"id": "office_interior",
"name": "\ud83d\udcbc Office Floors",
"description": "Cubicles stretch across the floor. Papers scatter in the breeze from broken windows. Filing cabinets stand open, already ransacked. A corner office looks promising.",
"image_path": "images/locations/office_interior.png",
"image_path": "images/locations/office_interior.webp",
"x": 4,
"y": 4.5,
"interactables": {

View File

@@ -41,7 +41,7 @@
],
"flee_chance": 0.3,
"status_inflict_chance": 0.15,
"image_url": "images/npcs/feral_dog.png",
"image_path": "images/npcs/feral_dog.webp",
"death_message": "The feral dog whimpers and collapses. Perhaps it was just hungry..."
},
"raider_scout": {
@@ -97,7 +97,7 @@
],
"flee_chance": 0.2,
"status_inflict_chance": 0.1,
"image_url": "images/npcs/raider_scout.png",
"image_path": "images/npcs/raider_scout.webp",
"death_message": "The raider scout falls with a final gasp. Their supplies are yours."
},
"mutant_rat": {
@@ -135,7 +135,7 @@
],
"flee_chance": 0.5,
"status_inflict_chance": 0.25,
"image_url": "images/npcs/mutant_rat.png",
"image_path": "images/npcs/mutant_rat.webp",
"death_message": "The mutant rat squeals its last and goes still."
},
"infected_human": {
@@ -179,7 +179,7 @@
],
"flee_chance": 0.1,
"status_inflict_chance": 0.3,
"image_url": "images/npcs/infected_human.png",
"image_path": "images/npcs/infected_human.webp",
"death_message": "The infected human finally finds peace in death."
},
"scavenger": {
@@ -218,6 +218,12 @@
"quantity_max": 1,
"drop_chance": 0.2
},
{
"item_id": "hiking_backpack",
"quantity_min": 1,
"quantity_max": 1,
"drop_chance": 0.05
},
{
"item_id": "flashlight",
"quantity_min": 1,
@@ -241,7 +247,7 @@
],
"flee_chance": 0.25,
"status_inflict_chance": 0.05,
"image_url": "images/npcs/scavenger.png",
"image_path": "images/npcs/scavenger.webp",
"death_message": "The scavenger's struggle ends. Survival has no mercy."
}
},