Initial commit: Echoes of the Ashes - Telegram RPG Bot
This commit is contained in:
144
gamedata/interactables.json
Normal file
144
gamedata/interactables.json
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"interactables": {
|
||||
"rubble": {
|
||||
"id": "rubble",
|
||||
"name": "Pile of Rubble",
|
||||
"description": "A scattered pile of debris and broken concrete.",
|
||||
"image_path": "images/interactables/rubble.png",
|
||||
"actions": {
|
||||
"search": {
|
||||
"id": "search",
|
||||
"label": "\ud83d\udd0e Search Rubble",
|
||||
"stamina_cost": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"dumpster": {
|
||||
"id": "dumpster",
|
||||
"name": "\ud83d\uddd1\ufe0f Dumpster",
|
||||
"description": "A rusted metal dumpster, possibly containing scavenged goods.",
|
||||
"image_path": "images/interactables/dumpster.png",
|
||||
"actions": {
|
||||
"search_dumpster": {
|
||||
"id": "search_dumpster",
|
||||
"label": "\ud83d\udd0e Dig Through Trash",
|
||||
"stamina_cost": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"sedan": {
|
||||
"id": "sedan",
|
||||
"name": "\ud83d\ude97 Rusty Sedan",
|
||||
"description": "An abandoned sedan with rusted doors.",
|
||||
"image_path": "images/interactables/sedan.png",
|
||||
"actions": {
|
||||
"search_glovebox": {
|
||||
"id": "search_glovebox",
|
||||
"label": "\ud83d\udd0e Search Glovebox",
|
||||
"stamina_cost": 1
|
||||
},
|
||||
"pop_trunk": {
|
||||
"id": "pop_trunk",
|
||||
"label": "\ud83d\udd27 Pop the Trunk",
|
||||
"stamina_cost": 3
|
||||
}
|
||||
}
|
||||
},
|
||||
"house": {
|
||||
"id": "house",
|
||||
"name": "\ud83c\udfda\ufe0f Abandoned House",
|
||||
"description": "A dilapidated house with boarded windows.",
|
||||
"image_path": "images/interactables/house.png",
|
||||
"actions": {
|
||||
"search_house": {
|
||||
"id": "search_house",
|
||||
"label": "\ud83d\udd0e Search House",
|
||||
"stamina_cost": 3
|
||||
}
|
||||
}
|
||||
},
|
||||
"toolshed": {
|
||||
"id": "toolshed",
|
||||
"name": "\ud83d\udd28 Tool Shed",
|
||||
"description": "A small wooden shed, door slightly ajar.",
|
||||
"image_path": "images/interactables/toolshed.png",
|
||||
"actions": {
|
||||
"search_shed": {
|
||||
"id": "search_shed",
|
||||
"label": "\ud83d\udd0e Search Shed",
|
||||
"stamina_cost": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"medkit": {
|
||||
"id": "medkit",
|
||||
"name": "\ud83c\udfe5 Medical Supply Cabinet",
|
||||
"description": "A white metal cabinet with a red cross symbol.",
|
||||
"image_path": "images/interactables/medkit.png",
|
||||
"actions": {
|
||||
"search_medkit": {
|
||||
"id": "search_medkit",
|
||||
"label": "\ud83d\udd0e Search Cabinet",
|
||||
"stamina_cost": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"vending": {
|
||||
"id": "vending",
|
||||
"name": "\ud83e\uddc3 Vending Machine",
|
||||
"description": "A broken vending machine, glass shattered.",
|
||||
"image_path": "images/interactables/vending.png",
|
||||
"actions": {
|
||||
"break_vending": {
|
||||
"id": "break_vending",
|
||||
"label": "\ud83d\udd28 Break Open",
|
||||
"stamina_cost": 4
|
||||
}
|
||||
}
|
||||
},
|
||||
"medical_cabinet": {
|
||||
"id": "medical_cabinet",
|
||||
"name": "Medical Cabinet",
|
||||
"description": "A white metal cabinet with a red cross symbol.",
|
||||
"image_path": "images/interactables/medkit.png",
|
||||
"actions": {
|
||||
"search": {
|
||||
"id": "search",
|
||||
"label": "\ud83d\udd0e Search Cabinet",
|
||||
"stamina_cost": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage_box": {
|
||||
"id": "storage_box",
|
||||
"name": "Storage Box",
|
||||
"description": "A weathered storage container.",
|
||||
"image_path": "images/interactables/storage_box.png",
|
||||
"actions": {
|
||||
"search": {
|
||||
"id": "search",
|
||||
"label": "\ud83d\udd0e Search Box",
|
||||
"stamina_cost": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"vending_machine": {
|
||||
"id": "vending_machine",
|
||||
"name": "Vending Machine",
|
||||
"description": "A broken vending machine, glass shattered.",
|
||||
"image_path": "images/interactables/vending.png",
|
||||
"actions": {
|
||||
"break": {
|
||||
"id": "break",
|
||||
"label": "\ud83d\udd28 Break Open",
|
||||
"stamina_cost": 5
|
||||
},
|
||||
"search": {
|
||||
"id": "search",
|
||||
"label": "\ud83d\udd0e Search Machine",
|
||||
"stamina_cost": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
275
gamedata/items.json
Normal file
275
gamedata/items.json
Normal file
@@ -0,0 +1,275 @@
|
||||
{
|
||||
"items": {
|
||||
"scrap_metal": {
|
||||
"name": "Scrap Metal",
|
||||
"type": "resource",
|
||||
"weight": 0.5,
|
||||
"volume": 0.2,
|
||||
"emoji": "\u2699\ufe0f"
|
||||
},
|
||||
"rusty_nails": {
|
||||
"name": "Rusty Nails",
|
||||
"weight": 0.2,
|
||||
"volume": 0.1,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83d\udccc"
|
||||
},
|
||||
"wood_planks": {
|
||||
"name": "Wood Planks",
|
||||
"weight": 3.0,
|
||||
"volume": 2.0,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\udeb5"
|
||||
},
|
||||
"cloth_scraps": {
|
||||
"name": "Cloth Scraps",
|
||||
"weight": 0.1,
|
||||
"volume": 0.2,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\uddf5"
|
||||
},
|
||||
"cloth": {
|
||||
"name": "Cloth",
|
||||
"weight": 0.1,
|
||||
"volume": 0.2,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\uddf5"
|
||||
},
|
||||
"plastic_bottles": {
|
||||
"name": "Plastic Bottles",
|
||||
"weight": 0.05,
|
||||
"volume": 0.3,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83c\udf76"
|
||||
},
|
||||
"bone": {
|
||||
"name": "Bone",
|
||||
"weight": 0.3,
|
||||
"volume": 0.1,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\uddb4"
|
||||
},
|
||||
"raw_meat": {
|
||||
"name": "Raw Meat",
|
||||
"weight": 0.5,
|
||||
"volume": 0.2,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\udd69"
|
||||
},
|
||||
"animal_hide": {
|
||||
"name": "Animal Hide",
|
||||
"weight": 0.4,
|
||||
"volume": 0.3,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\udde4"
|
||||
},
|
||||
"mutant_tissue": {
|
||||
"name": "Mutant Tissue",
|
||||
"weight": 0.2,
|
||||
"volume": 0.1,
|
||||
"type": "resource",
|
||||
"emoji": "\ud83e\uddec"
|
||||
},
|
||||
"infected_tissue": {
|
||||
"name": "Infected Tissue",
|
||||
"weight": 0.2,
|
||||
"volume": 0.1,
|
||||
"type": "resource",
|
||||
"emoji": "\u2623\ufe0f"
|
||||
},
|
||||
"stale_chocolate_bar": {
|
||||
"name": "Stale Chocolate Bar",
|
||||
"weight": 0.1,
|
||||
"volume": 0.1,
|
||||
"type": "consumable",
|
||||
"hp_restore": 10,
|
||||
"emoji": "\ud83c\udf6b"
|
||||
},
|
||||
"canned_beans": {
|
||||
"name": "Canned Beans",
|
||||
"weight": 0.4,
|
||||
"volume": 0.2,
|
||||
"type": "consumable",
|
||||
"hp_restore": 20,
|
||||
"stamina_restore": 5,
|
||||
"emoji": "\ud83e\udd6b"
|
||||
},
|
||||
"canned_food": {
|
||||
"name": "Canned Food",
|
||||
"weight": 0.4,
|
||||
"volume": 0.2,
|
||||
"type": "consumable",
|
||||
"hp_restore": 25,
|
||||
"stamina_restore": 5,
|
||||
"emoji": "\ud83e\udd6b"
|
||||
},
|
||||
"bottled_water": {
|
||||
"name": "Bottled Water",
|
||||
"weight": 0.5,
|
||||
"volume": 0.3,
|
||||
"type": "consumable",
|
||||
"stamina_restore": 10,
|
||||
"emoji": "\ud83d\udca7"
|
||||
},
|
||||
"water_bottle": {
|
||||
"name": "Water Bottle",
|
||||
"weight": 0.5,
|
||||
"volume": 0.3,
|
||||
"type": "consumable",
|
||||
"stamina_restore": 10,
|
||||
"emoji": "\ud83d\udca7"
|
||||
},
|
||||
"energy_bar": {
|
||||
"name": "Energy Bar",
|
||||
"weight": 0.1,
|
||||
"volume": 0.1,
|
||||
"type": "consumable",
|
||||
"stamina_restore": 15,
|
||||
"emoji": "\ud83c\udf6b"
|
||||
},
|
||||
"mystery_pills": {
|
||||
"name": "Mystery Pills",
|
||||
"weight": 0.05,
|
||||
"volume": 0.05,
|
||||
"type": "consumable",
|
||||
"hp_restore": 30,
|
||||
"emoji": "\ud83d\udc8a"
|
||||
},
|
||||
"first_aid_kit": {
|
||||
"name": "First Aid Kit",
|
||||
"description": "A professional medical kit with bandages, antiseptic, and pain relievers.",
|
||||
"weight": 0.8,
|
||||
"volume": 0.5,
|
||||
"type": "consumable",
|
||||
"hp_restore": 50,
|
||||
"emoji": "\ud83e\ude79"
|
||||
},
|
||||
"bandage": {
|
||||
"name": "Bandage",
|
||||
"description": "Clean cloth bandages for treating minor wounds.",
|
||||
"weight": 0.1,
|
||||
"volume": 0.1,
|
||||
"type": "consumable",
|
||||
"hp_restore": 15,
|
||||
"emoji": "\ud83e\ude79"
|
||||
},
|
||||
"medical_supplies": {
|
||||
"name": "Medical Supplies",
|
||||
"description": "Assorted medical supplies scavenged from a clinic.",
|
||||
"weight": 0.6,
|
||||
"volume": 0.4,
|
||||
"type": "consumable",
|
||||
"hp_restore": 40,
|
||||
"emoji": "\u2695\ufe0f"
|
||||
},
|
||||
"antibiotics": {
|
||||
"name": "Antibiotics",
|
||||
"description": "Pills that fight infections. Expired, but better than nothing.",
|
||||
"weight": 0.1,
|
||||
"volume": 0.1,
|
||||
"type": "consumable",
|
||||
"hp_restore": 20,
|
||||
"emoji": "\ud83d\udc8a"
|
||||
},
|
||||
"tire_iron": {
|
||||
"name": "Tire Iron",
|
||||
"description": "A heavy metal tool. Makes a decent improvised weapon.",
|
||||
"weight": 2.0,
|
||||
"volume": 1.0,
|
||||
"type": "weapon",
|
||||
"slot": "hand",
|
||||
"damage_min": 3,
|
||||
"damage_max": 7,
|
||||
"emoji": "\ud83d\udd27"
|
||||
},
|
||||
"baseball_bat": {
|
||||
"name": "Baseball Bat",
|
||||
"description": "Wooden bat with dents and bloodstains. Someone used this before you.",
|
||||
"weight": 1.0,
|
||||
"volume": 1.5,
|
||||
"type": "weapon",
|
||||
"slot": "hand",
|
||||
"damage_min": 2,
|
||||
"damage_max": 6,
|
||||
"emoji": "\u26be"
|
||||
},
|
||||
"rusty_knife": {
|
||||
"name": "Rusty Knife",
|
||||
"description": "A dull, rusted blade. Better than your fists.",
|
||||
"weight": 0.3,
|
||||
"volume": 0.2,
|
||||
"type": "weapon",
|
||||
"slot": "hand",
|
||||
"damage_min": 2,
|
||||
"damage_max": 5,
|
||||
"emoji": "\ud83d\udd2a"
|
||||
},
|
||||
"knife": {
|
||||
"name": "Knife",
|
||||
"description": "A sharp survival knife in decent condition.",
|
||||
"weight": 0.3,
|
||||
"volume": 0.2,
|
||||
"type": "weapon",
|
||||
"slot": "hand",
|
||||
"damage_min": 3,
|
||||
"damage_max": 6,
|
||||
"emoji": "\ud83d\udd2a"
|
||||
},
|
||||
"rusty_pipe": {
|
||||
"name": "Rusty Pipe",
|
||||
"description": "Heavy metal pipe. Crude but effective.",
|
||||
"weight": 1.5,
|
||||
"volume": 0.8,
|
||||
"type": "weapon",
|
||||
"slot": "hand",
|
||||
"damage_min": 4,
|
||||
"damage_max": 8,
|
||||
"emoji": "\ud83d\udd29"
|
||||
},
|
||||
"tattered_rucksack": {
|
||||
"name": "Tattered Rucksack",
|
||||
"description": "An old backpack with torn straps. Still functional.",
|
||||
"weight": 1.0,
|
||||
"volume": 0,
|
||||
"type": "equipment",
|
||||
"slot": "back",
|
||||
"capacity_weight": 10,
|
||||
"capacity_volume": 10,
|
||||
"emoji": "\ud83c\udf92"
|
||||
},
|
||||
"hiking_backpack": {
|
||||
"name": "Hiking Backpack",
|
||||
"description": "A quality backpack with multiple compartments.",
|
||||
"weight": 1.5,
|
||||
"volume": 0,
|
||||
"type": "equipment",
|
||||
"slot": "back",
|
||||
"capacity_weight": 20,
|
||||
"capacity_volume": 20,
|
||||
"emoji": "\ud83c\udf92"
|
||||
},
|
||||
"flashlight": {
|
||||
"name": "Flashlight",
|
||||
"description": "A battery-powered flashlight. Batteries low but working.",
|
||||
"weight": 0.3,
|
||||
"volume": 0.2,
|
||||
"type": "equipment",
|
||||
"slot": "tool",
|
||||
"emoji": "\ud83d\udd26"
|
||||
},
|
||||
"old_photograph": {
|
||||
"name": "Old Photograph",
|
||||
"weight": 0.01,
|
||||
"volume": 0.01,
|
||||
"type": "quest",
|
||||
"emoji": "\ud83d\udcf7"
|
||||
},
|
||||
"key_ring": {
|
||||
"name": "Key Ring",
|
||||
"weight": 0.1,
|
||||
"volume": 0.05,
|
||||
"type": "quest",
|
||||
"emoji": "\ud83d\udd11"
|
||||
}
|
||||
}
|
||||
}
|
||||
1438
gamedata/locations.json
Normal file
1438
gamedata/locations.json
Normal file
File diff suppressed because it is too large
Load Diff
465
gamedata/npcs.json
Normal file
465
gamedata/npcs.json
Normal file
@@ -0,0 +1,465 @@
|
||||
{
|
||||
"npcs": {
|
||||
"feral_dog": {
|
||||
"npc_id": "feral_dog",
|
||||
"name": "Feral Dog",
|
||||
"description": "A wild, mangy dog with desperate hunger in its eyes. Its ribs are visible beneath matted fur.",
|
||||
"emoji": "🐕",
|
||||
"hp_min": 15,
|
||||
"hp_max": 25,
|
||||
"damage_min": 3,
|
||||
"damage_max": 7,
|
||||
"defense": 0,
|
||||
"xp_reward": 10,
|
||||
"loot_table": [
|
||||
{
|
||||
"item_id": "raw_meat",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"drop_chance": 0.6
|
||||
},
|
||||
{
|
||||
"item_id": "animal_hide",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.3
|
||||
}
|
||||
],
|
||||
"corpse_loot": [
|
||||
{
|
||||
"item_id": "raw_meat",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 3,
|
||||
"required_tool": null
|
||||
},
|
||||
{
|
||||
"item_id": "animal_hide",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"required_tool": "knife"
|
||||
}
|
||||
],
|
||||
"flee_chance": 0.3,
|
||||
"status_inflict_chance": 0.15,
|
||||
"image_url": "images/npcs/feral_dog.png",
|
||||
"death_message": "The feral dog whimpers and collapses. Perhaps it was just hungry..."
|
||||
},
|
||||
"raider_scout": {
|
||||
"npc_id": "raider_scout",
|
||||
"name": "Raider Scout",
|
||||
"description": "A lone raider wearing makeshift armor. They eye you with hostile intent.",
|
||||
"emoji": "🏴☠️",
|
||||
"hp_min": 30,
|
||||
"hp_max": 45,
|
||||
"damage_min": 5,
|
||||
"damage_max": 12,
|
||||
"defense": 2,
|
||||
"xp_reward": 25,
|
||||
"loot_table": [
|
||||
{
|
||||
"item_id": "water_bottle",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.4
|
||||
},
|
||||
{
|
||||
"item_id": "canned_food",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"drop_chance": 0.5
|
||||
},
|
||||
{
|
||||
"item_id": "bandage",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 3,
|
||||
"drop_chance": 0.6
|
||||
},
|
||||
{
|
||||
"item_id": "rusty_pipe",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.3
|
||||
}
|
||||
],
|
||||
"corpse_loot": [
|
||||
{
|
||||
"item_id": "scrap_metal",
|
||||
"quantity_min": 2,
|
||||
"quantity_max": 4,
|
||||
"required_tool": null
|
||||
},
|
||||
{
|
||||
"item_id": "cloth",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"required_tool": "knife"
|
||||
}
|
||||
],
|
||||
"flee_chance": 0.2,
|
||||
"status_inflict_chance": 0.1,
|
||||
"image_url": "images/npcs/raider_scout.png",
|
||||
"death_message": "The raider scout falls with a final gasp. Their supplies are yours."
|
||||
},
|
||||
"mutant_rat": {
|
||||
"npc_id": "mutant_rat",
|
||||
"name": "Mutant Rat",
|
||||
"description": "A grotesquely large rat, its fur patchy and eyes glowing with unnatural light.",
|
||||
"emoji": "🐀",
|
||||
"hp_min": 10,
|
||||
"hp_max": 18,
|
||||
"damage_min": 2,
|
||||
"damage_max": 5,
|
||||
"defense": 0,
|
||||
"xp_reward": 8,
|
||||
"loot_table": [
|
||||
{
|
||||
"item_id": "raw_meat",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.4
|
||||
}
|
||||
],
|
||||
"corpse_loot": [
|
||||
{
|
||||
"item_id": "raw_meat",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"required_tool": null
|
||||
},
|
||||
{
|
||||
"item_id": "mutant_tissue",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"required_tool": "knife"
|
||||
}
|
||||
],
|
||||
"flee_chance": 0.5,
|
||||
"status_inflict_chance": 0.25,
|
||||
"image_url": "images/npcs/mutant_rat.png",
|
||||
"death_message": "The mutant rat squeals its last and goes still."
|
||||
},
|
||||
"infected_human": {
|
||||
"npc_id": "infected_human",
|
||||
"name": "Infected Human",
|
||||
"description": "Once human, now something else. Their movements are jerky and their skin shows signs of advanced infection.",
|
||||
"emoji": "🧟",
|
||||
"hp_min": 35,
|
||||
"hp_max": 50,
|
||||
"damage_min": 6,
|
||||
"damage_max": 10,
|
||||
"defense": 1,
|
||||
"xp_reward": 30,
|
||||
"loot_table": [
|
||||
{
|
||||
"item_id": "medical_supplies",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.2
|
||||
},
|
||||
{
|
||||
"item_id": "antibiotics",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.15
|
||||
}
|
||||
],
|
||||
"corpse_loot": [
|
||||
{
|
||||
"item_id": "infected_tissue",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"required_tool": "knife"
|
||||
},
|
||||
{
|
||||
"item_id": "bone",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 3,
|
||||
"required_tool": "knife"
|
||||
}
|
||||
],
|
||||
"flee_chance": 0.1,
|
||||
"status_inflict_chance": 0.3,
|
||||
"image_url": "images/npcs/infected_human.png",
|
||||
"death_message": "The infected human finally finds peace in death."
|
||||
},
|
||||
"scavenger": {
|
||||
"npc_id": "scavenger",
|
||||
"name": "Hostile Scavenger",
|
||||
"description": "Another survivor, but this one sees you as competition. They won't share territory.",
|
||||
"emoji": "💀",
|
||||
"hp_min": 25,
|
||||
"hp_max": 40,
|
||||
"damage_min": 4,
|
||||
"damage_max": 9,
|
||||
"defense": 3,
|
||||
"xp_reward": 20,
|
||||
"loot_table": [
|
||||
{
|
||||
"item_id": "water_bottle",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"drop_chance": 0.5
|
||||
},
|
||||
{
|
||||
"item_id": "canned_food",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"drop_chance": 0.5
|
||||
},
|
||||
{
|
||||
"item_id": "bandage",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"drop_chance": 0.4
|
||||
},
|
||||
{
|
||||
"item_id": "knife",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.2
|
||||
},
|
||||
{
|
||||
"item_id": "flashlight",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 1,
|
||||
"drop_chance": 0.3
|
||||
}
|
||||
],
|
||||
"corpse_loot": [
|
||||
{
|
||||
"item_id": "cloth",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 3,
|
||||
"required_tool": null
|
||||
},
|
||||
{
|
||||
"item_id": "scrap_metal",
|
||||
"quantity_min": 1,
|
||||
"quantity_max": 2,
|
||||
"required_tool": null
|
||||
}
|
||||
],
|
||||
"flee_chance": 0.25,
|
||||
"status_inflict_chance": 0.05,
|
||||
"image_url": "images/npcs/scavenger.png",
|
||||
"death_message": "The scavenger's struggle ends. Survival has no mercy."
|
||||
}
|
||||
},
|
||||
"danger_levels": {
|
||||
"start_point": {
|
||||
"danger_level": 0,
|
||||
"encounter_rate": 0.0,
|
||||
"wandering_chance": 0.0
|
||||
},
|
||||
"gas_station": {
|
||||
"danger_level": 0,
|
||||
"encounter_rate": 0.0,
|
||||
"wandering_chance": 0.0
|
||||
},
|
||||
"residential": {
|
||||
"danger_level": 1,
|
||||
"encounter_rate": 0.10,
|
||||
"wandering_chance": 0.20
|
||||
},
|
||||
"park": {
|
||||
"danger_level": 1,
|
||||
"encounter_rate": 0.10,
|
||||
"wandering_chance": 0.20
|
||||
},
|
||||
"clinic": {
|
||||
"danger_level": 2,
|
||||
"encounter_rate": 0.20,
|
||||
"wandering_chance": 0.35
|
||||
},
|
||||
"plaza": {
|
||||
"danger_level": 2,
|
||||
"encounter_rate": 0.15,
|
||||
"wandering_chance": 0.30
|
||||
},
|
||||
"warehouse": {
|
||||
"danger_level": 2,
|
||||
"encounter_rate": 0.18,
|
||||
"wandering_chance": 0.32
|
||||
},
|
||||
"warehouse_interior": {
|
||||
"danger_level": 2,
|
||||
"encounter_rate": 0.22,
|
||||
"wandering_chance": 0.40
|
||||
},
|
||||
"overpass": {
|
||||
"danger_level": 3,
|
||||
"encounter_rate": 0.30,
|
||||
"wandering_chance": 0.45
|
||||
},
|
||||
"office_building": {
|
||||
"danger_level": 3,
|
||||
"encounter_rate": 0.25,
|
||||
"wandering_chance": 0.40
|
||||
},
|
||||
"office_interior": {
|
||||
"danger_level": 3,
|
||||
"encounter_rate": 0.35,
|
||||
"wandering_chance": 0.50
|
||||
},
|
||||
"subway": {
|
||||
"danger_level": 4,
|
||||
"encounter_rate": 0.35,
|
||||
"wandering_chance": 0.50
|
||||
},
|
||||
"subway_tunnels": {
|
||||
"danger_level": 4,
|
||||
"encounter_rate": 0.45,
|
||||
"wandering_chance": 0.65
|
||||
}
|
||||
},
|
||||
"spawn_tables": {
|
||||
"start_point": [],
|
||||
"gas_station": [],
|
||||
"residential": [
|
||||
{
|
||||
"npc_id": "feral_dog",
|
||||
"weight": 60
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 40
|
||||
}
|
||||
],
|
||||
"park": [
|
||||
{
|
||||
"npc_id": "feral_dog",
|
||||
"weight": 50
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 50
|
||||
}
|
||||
],
|
||||
"clinic": [
|
||||
{
|
||||
"npc_id": "infected_human",
|
||||
"weight": 40
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 30
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 30
|
||||
}
|
||||
],
|
||||
"plaza": [
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 40
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 35
|
||||
},
|
||||
{
|
||||
"npc_id": "feral_dog",
|
||||
"weight": 25
|
||||
}
|
||||
],
|
||||
"warehouse": [
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 45
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 35
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 20
|
||||
}
|
||||
],
|
||||
"warehouse_interior": [
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 50
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 30
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 20
|
||||
}
|
||||
],
|
||||
"overpass": [
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 50
|
||||
},
|
||||
{
|
||||
"npc_id": "infected_human",
|
||||
"weight": 30
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 20
|
||||
}
|
||||
],
|
||||
"office_building": [
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 45
|
||||
},
|
||||
{
|
||||
"npc_id": "infected_human",
|
||||
"weight": 35
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 20
|
||||
}
|
||||
],
|
||||
"office_interior": [
|
||||
{
|
||||
"npc_id": "infected_human",
|
||||
"weight": 50
|
||||
},
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 30
|
||||
},
|
||||
{
|
||||
"npc_id": "scavenger",
|
||||
"weight": 20
|
||||
}
|
||||
],
|
||||
"subway": [
|
||||
{
|
||||
"npc_id": "infected_human",
|
||||
"weight": 50
|
||||
},
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 30
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 20
|
||||
}
|
||||
],
|
||||
"subway_tunnels": [
|
||||
{
|
||||
"npc_id": "infected_human",
|
||||
"weight": 60
|
||||
},
|
||||
{
|
||||
"npc_id": "raider_scout",
|
||||
"weight": 25
|
||||
},
|
||||
{
|
||||
"npc_id": "mutant_rat",
|
||||
"weight": 15
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user