--- a/data/json/npcs/island_prison/prisoners.json +++ b/data/json/npcs/island_prison/prisoners.json @@ -0,0 +1,634 @@ +[ + { + "type": "npc", + "id": "prisoner_generic", + "//": "Former prisoner with a melee or ranged weapon and prison clothing. Sometimes they also have prison guards' gear.", + "name_suffix": "prisoner", + "class": "NC_THUG_PRISONER", + "attitude": 0, + "mission": 8, + "chat": "TALK_PRISONER_GENERIC", + "faction": "prisoners" + }, + { + "type": "npc", + "id": "prisoner_greeter", + "//": "Former prisoner with a melee or ranged weapon and prison clothing. Sometimes they also have prison guards' gear.", + "name_suffix": "gatekeeper", + "class": "NC_THUG_PRISONER", + "attitude": 0, + "mission": 8, + "chat": "TALK_PRISONER_GREET", + "faction": "prisoners" + }, + { + "type": "npc", + "id": "prisoner_leader", + "//": "Former prisoner with a melee or ranged weapon and prison clothing. Sometimes they also have prison guards' gear.", + "name_suffix": "leader of prisoners", + "class": "NC_THUG_PRISONER", + "attitude": 0, + "mission": 8, + "chat": "TALK_PRISONER_LEADER_GREET", + "faction": "prisoners", + "mission_offered": "MISSION_PRISONER_LEADER_GET_ID_CARD" + }, + { + "type": "npc_class", + "id": "NC_THUG_PRISONER", + "name": { "str": "Prisoner" }, + "job_description": "I'm here to kick ass.", + "traits": [ + { "group": "BG_survival_story_CRIMINAL" }, + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" } + ], + "bonus_str": { "rng": [ 2, 4 ] }, + "bonus_dex": { "rng": [ 0, 2 ] }, + "skills": [ + { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -4 } ] } }, + { "skill": "dodge", "bonus": { "rng": [ 1, 3 ] } }, + { "skill": "melee", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 1, 3 ] } }, + { "skill": "bashing", "bonus": { "rng": [ 1, 5 ] } }, + { "skill": "stabbing", "bonus": { "rng": [ 1, 5 ] } }, + { "skill": "cutting", "bonus": { "rng": [ 1, 5 ] } } + ], + "worn_override": "NC_THUG_PRISONER_worn", + "weapon_override": "NC_THUG_PRISONER_wield" + }, + { + "type": "item_group", + "id": "NC_THUG_PRISONER_worn", + "subtype": "collection", + "entries": [ + { "group": "male_underwear" }, + { "distribution": [ { "group": "clothing_prisoner_shoes" }, { "group": "cop_shoes" } ] }, + { "distribution": [ { "item": "striped_shirt" }, { "group": "cop_torso" } ] }, + { "distribution": [ { "item": "striped_pants" }, { "group": "cop_pants" } ] }, + { "distribution": [ { "item": "tacvest" }, { "item": "kevlar" } ], "prob": 15 }, + { "group": "socks_unisex" }, + { "group": "cop_gloves", "prob": 20 }, + { "distribution": [ { "item": "bandana" }, { "group": "cop_helmet" } ], "prob": 50 }, + { "group": "clothing_glasses", "prob": 20 }, + { "group": "clothing_watch", "prob": 20 }, + { "item": "police_belt", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_THUG_PRISONER_wield", + "items": [ + [ "baton-extended", 50 ], + [ "PR24-retracted", 50 ], + [ "knife_steak", 30 ], + [ "knife_chef", 30 ], + [ "knife_paring", 30 ], + [ "knife_butcher", 30 ], + [ "knife_meat_cleaver", 30 ], + [ "knife_carving", 30 ], + [ "pointy_stick", 30 ], + [ "cudgel", 20 ], + [ "knuckle_nail", 20 ], + [ "spear_spike", 20 ], + [ "spear_knife", 15 ], + [ "makeshift_sap", 15 ], + [ "homewrecker", 15 ], + [ "makeshift_knife", 15 ], + [ "nailboard", 15 ], + [ "sword_wood", 10 ], + [ "glass_shiv", 5 ], + [ "rock_sock", 5 ], + [ "sharp_toothbrush", 5 ], + [ "chisel", 5 ], + [ "scissors", 5 ], + [ "screwdriver", 5 ], + [ "knife_steak", 5 ], + [ "knuckle_brass", 5 ], + [ "switchblade", 5 ], + [ "throwing_knife", 5 ], + { + "distribution": [ { "group": "longguns_cop", "prob": 50, "contents-item": "shoulder_strap" }, { "group": "sidearms_cop", "prob": 50 } ], + "prob": 40 + } + ] + }, + { + "id": "TALK_PRISONER_GENERIC", + "type": "talk_topic", + "dynamic_line": "", + "responses": [ + { "text": "Ok, sorry, I'm already leaving!", "topic": "TALK_DONE" }, + { "text": "Hey, !", "topic": "TALK_DONE", "effect": "hostile" } + ] + }, + { + "id": "TALK_PRISONER_GREET", + "type": "talk_topic", + "dynamic_line": { + "u_has_var": "first_meeting", + "type": "dialogue", + "context": "first_meeting", + "value": "yes", + "no": "Hey, who the fuck are you? I haven't seen you 'round. Ah, fuck it, it doesn't matter.\nHere's the rules. The first and most important one: ALWAYS CLOSE THE FUCKING ENTRY DOOR BEHIND YOUR ASS! If you're okay with that, the following rules are: don't fuck with us, don't steal from us, don't start a fight without a reason with someone from us. Got it, punk? Now get lost.", + "yes": "" + }, + "speaker_effect": { "effect": { "u_add_var": "first_meeting", "type": "dialogue", "context": "first_meeting", "value": "yes" } }, + "responses": [ + { + "text": "Yeah, I got it. See ya.", + "topic": "TALK_DONE", + "condition": { "not": { "u_has_var": "first_meeting", "type": "dialogue", "context": "first_meeting", "value": "yes" } } + }, + { + "text": "I just wanted to ask if you have a job for me.", + "topic": "TALK_PRISONER_ANNOYED", + "condition": { + "and": [ + { "u_has_var": "first_meeting", "type": "dialogue", "context": "first_meeting", "value": "yes" }, + { + "not": { "u_has_var": "talked_to_greeter", "type": "dialogue", "context": "annoyed_greeter", "value": "yes" } + } + ] + } + }, + { + "text": "I'm just hungry, and I thought you might give me some food for some job.", + "topic": "TALK_PRISONER_ANGRY", + "condition": { + "and": [ + { "u_has_var": "first_meeting", "type": "dialogue", "context": "first_meeting", "value": "yes" }, + { "u_has_var": "talked_to_greeter", "type": "dialogue", "context": "annoyed_greeter", "value": "yes" }, + { + "not": { "u_has_var": "talked_to_greeter", "type": "dialogue", "context": "angry_greeter", "value": "yes" } + } + ] + } + }, + { + "text": "Can we just talk it over?", + "topic": "TALK_PRISONER_READY_TO_MUG", + "condition": { + "and": [ + { "u_has_var": "first_meeting", "type": "dialogue", "context": "first_meeting", "value": "yes" }, + { "u_has_var": "talked_to_greeter", "type": "dialogue", "context": "angry_greeter", "value": "yes" } + ] + } + }, + { "text": "Hey, !", "topic": "TALK_DONE", "effect": "hostile" } + ] + }, + { + "id": "TALK_PRISONER_ANNOYED", + "type": "talk_topic", + "dynamic_line": { + "u_has_var": "talked_to_greeter", + "type": "dialogue", + "context": "annoyed_greeter", + "value": "yes", + "no": "Do I have a exclamation sign over my head, like I'm a quest-giver from some video game?", + "yes": "" + }, + "speaker_effect": { "effect": { "u_add_var": "talked_to_greeter", "type": "dialogue", "context": "annoyed_greeter", "value": "yes" } }, + "responses": [ + { + "text": "No, of course not! Sorry, I'm leaving.", + "topic": "TALK_DONE", + "condition": { "not": { "u_has_var": "talked_to_greeter", "type": "dialogue", "context": "annoyed_greeter", "value": "yes" } } + }, + { "text": "Hey, !", "topic": "TALK_DONE", "effect": "hostile" } + ] + }, + { + "id": "TALK_PRISONER_ANGRY", + "type": "talk_topic", + "dynamic_line": { + "u_has_var": "talked_to_greeter", + "type": "dialogue", + "context": "annoyed_greeter", + "value": "yes", + "no": "", + "yes": "Are you deaf or stupid? I said I don't give a fuck for you and your problems. Bother me one more time, and you'll regret that. " + }, + "speaker_effect": { "effect": { "u_add_var": "talked_to_greeter", "type": "dialogue", "context": "angry_greeter", "value": "yes" } }, + "responses": [ + { + "text": "Ok, sorry, I promise I won't bother you anymore.", + "topic": "TALK_DONE", + "condition": { "not": { "u_has_var": "talked_to_greeter", "type": "dialogue", "context": "angry_greeter", "value": "yes" } } + }, + { "text": "Hey, !", "topic": "TALK_DONE", "effect": "hostile" } + ] + }, + { + "id": "TALK_PRISONER_READY_TO_MUG", + "type": "talk_topic", + "dynamic_line": "You think you're immortal, huh, ?", + "responses": [ + { "text": "Gee, what's the matter with you? Okay, okay, I'm leaving.", "topic": "TALK_PRISONER_MUG" }, + { + "text": "It would be you who will regret talking to me like that.", + "topic": "TALK_DONE", + "effect": "hostile" + } + ] + }, + { + "id": "TALK_PRISONER_MUG", + "type": "talk_topic", + "dynamic_line": [ "Not so fast, I think you need to pay for breaking your promise and bothering me. Give me your shit, now!" ], + "responses": [ + { "text": "Please don't hurt me! Take all that you want.", "topic": "TALK_MUG" }, + { "text": "What, !", "topic": "TALK_DONE", "effect": "hostile" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_GREET", + "type": "talk_topic", + "dynamic_line": { + "u_has_var": "prisoner_leader_mission", + "type": "mission", + "context": "military_id", + "value": "yes", + "yes": "I have nothing more to say to you. ", + "no": { + "u_has_var": "prisoner_leader_mission", + "type": "mission", + "context": "accepted", + "value": "yes", + "yes": "So, what are you waiting for?", + "no": { + "u_has_var": "prisoner_leader_mission", + "type": "mission", + "context": "completed", + "value": "yes", + "yes": "I don't know if you know, but there are sewers underneath the prison. I was planning an escape long before , and while I was working on cleaning the sewers, I noticed a damaged wall section. There was a flow of fresh air coming out of it, so I think it's leading to the surface. It could be your way to freedom. Feel free to use it.", + "no": { + "u_has_var": "talked_to_leader", + "type": "dialogue", + "context": "first_meeting", + "value": "yes", + "yes": { + "u_has_var": "talked_to_leader", + "type": "dialogue", + "context": "cannibal", + "value": "yes", + "no": "It's you again.", + "yes": "You are what you eat, as they say." + }, + "no": "Hello there. Haven't seen you around before. You must be from the other wing. Managed to survive, huh?" + } + } + } + }, + "speaker_effect": { "effect": { "u_add_var": "talked_to_leader", "type": "dialogue", "context": "first_meeting", "value": "yes" } }, + "responses": [ + { + "text": "Yeah, I've been through situations far worse than that.", + "topic": "TALK_PRISONER_LEADER_INQUIRY", + "condition": { + "and": [ + { "not": { "u_has_var": "talked_to_leader", "type": "dialogue", "context": "first_meeting", "value": "yes" } }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" } + } + ] + } + }, + { + "text": "It was a nightmare, lots of , blood everywhere! Thank god I'm among living people again.", + "topic": "TALK_PRISONER_LEADER_FROWN", + "condition": { + "and": [ + { "not": { "u_has_var": "talked_to_leader", "type": "dialogue", "context": "first_meeting", "value": "yes" } }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" } + } + ] + } + }, + { + "text": "[Cannibal] It's hard to die of hunger when there's so many tasty corpses lying around.", + "topic": "TALK_PRISONER_LEADER_LEARNED_ABOUT_CANNIBAL", + "condition": { + "and": [ + { "u_has_trait": "CANNIBAL" }, + { + "not": { "u_has_var": "talked_to_leader", "type": "dialogue", "context": "first_meeting", "value": "yes" } + }, + { "not": { "u_has_var": "talked_to_leader", "type": "dialogue", "context": "cannibal", "value": "yes" } }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" } + } + ] + } + }, + { + "text": "I want to get out of this prison. I hoped you could help me with that.", + "topic": "TALK_PRISONER_LEADER_GIVES_WORK", + "condition": { + "and": [ + { "u_has_var": "talked_to_leader", "type": "dialogue", "context": "first_meeting", "value": "yes" }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" } + }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } + } + ] + } + }, + { + "text": "I'm on my way.", + "topic": "TALK_DONE", + "condition": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + }, + { + "text": "I don't know if I'll take your advice, but thanks nevertheless.", + "topic": "TALK_DONE", + "condition": { + "and": [ + { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } + } + ] + } + }, + { + "text": "Wait, what? A can of beans?! I went through hell to get this thing for you, and all you give me as reward is a can of beans?! I demand something more substantial.", + "topic": "TALK_PRISONER_LEADER_DEMANDED_SUBSTANTIAL_REWARD", + "condition": { + "and": [ + { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } + } + ] + } + }, + { + "text": "Nice talking to ya. Farewell.", + "topic": "TALK_DONE", + "condition": { + "and": [ + { "u_has_var": "talked_to_leader", "type": "dialogue", "context": "first_meeting", "value": "yes" }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" } + }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } + } + ] + } + }, + { + "text": "Okay.", + "topic": "TALK_DONE", + "condition": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } + } + ] + }, + { + "id": "TALK_PRISONER_LEADER_LEARNED_ABOUT_CANNIBAL", + "type": "talk_topic", + "dynamic_line": [ + "Huh, even so? I'm not saying I approve your… tastes, but I definitely respect people who use all possibilities life has to offer." + ], + "speaker_effect": { "effect": { "u_add_var": "talked_to_leader", "type": "dialogue", "context": "cannibal", "value": "yes" } }, + "responses": [ { "text": "Yeah, we share the same opinions on this matter.", "topic": "TALK_NONE" } ] + }, + { + "id": "TALK_PRISONER_LEADER_INQUIRY", + "type": "talk_topic", + "dynamic_line": [ + "Well, that's a boastful statement. Not that I don't believe it, it's just…. Ah, nevermind. Let's get to the point. What do you want?" + ], + "responses": [ + { + "text": "I want to get out of this prison. I hoped you could help me with that.", + "topic": "TALK_PRISONER_LEADER_GIVES_WORK" + } + ] + }, + { + "id": "TALK_PRISONER_LEADER_FROWN", + "type": "talk_topic", + "dynamic_line": [ "Hold the horses, pal. Nobody allowed you to stay here - yet." ], + "responses": [ + { + "text": "Please! I don't want to go back there! I'm tired and hungry! I just need time to rest!", + "topic": "TALK_PRISONER_LEADER_ANNOYED" + }, + { "text": "Shit! Looks like I'm on my own now. Thanks for nothing. Bye.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_ANNOYED", + "type": "talk_topic", + "dynamic_line": [ + "We don't have much space, and there's not much food. Besides, I don't know you at all, and something tells me you won't survive another day." + ], + "responses": [ + { + "text": "[STR 11] I'm tougher than it seems!", + "topic": "TALK_PRISONER_LEADER_NO", + "condition": { "u_has_strength": 11 } + }, + { + "text": "[Survival 2] I have some survival expertise!", + "topic": "TALK_PRISONER_LEADER_NO", + "condition": { "u_has_skill": { "skill": "survival", "level": 2 } } + }, + { "text": "I guess I need to find some other place…", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_NO", + "type": "talk_topic", + "dynamic_line": [ + "The answer is still no. In fact it might be better for us to kill you right away - you know, the less mouths to feed, the better. But I'm in a good mood today, so I've decided to help you get out of this island." + ], + "responses": [ + { "text": "Ok, I'm listening.", "topic": "TALK_PRISONER_LEADER_GIVES_WORK" }, + { "text": "You know, I think I'll manage without your help. Bye.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_GIVES_WORK", + "type": "talk_topic", + "dynamic_line": { + "u_has_var": "prisoner_leader_mission", + "type": "mission", + "context": "accepted", + "value": "yes", + "no": "I need you to retrieve some stuff from a locked safe. Interested?", + "yes": "So, what are you waiting for?" + }, + "responses": [ + { + "text": "[Show the military id card] You mean this stuff?", + "topic": "TALK_PRISONER_LEADER_SHOW_MILITARY_ID", + "condition": { + "and": [ + { "u_has_item": "id_military" }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + } + ] + } + }, + { + "text": "What's in the safe?", + "topic": "TALK_PRISONER_LEADER_ASKED_ABOUT_SAFE_CONTENTS", + "condition": { + "and": [ + { "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + } + ] + } + }, + { + "text": "What for do you need it?", + "topic": "TALK_PRISONER_LEADER_ASKED_ABOUT_WHAT_FOR_DO_YOU_NEED_IT", + "condition": { + "and": [ + { "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + } + ] + } + }, + { + "text": "Yeah, sure.", + "topic": "TALK_MISSION_OFFER", + "condition": { + "and": [ + { "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } }, + { + "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + } + ] + } + }, + { + "text": "I have a bad feeling about this. Sorry, I'll pass.", + "topic": "TALK_DONE", + "condition": { "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } } + }, + { + "text": "I'm on my way.", + "topic": "TALK_DONE", + "condition": { + "and": [ + { "not": { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } }, + { "u_has_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } + ] + } + } + ] + }, + { + "id": "TALK_PRISONER_LEADER_ASKED_ABOUT_SAFE_CONTENTS", + "type": "talk_topic", + "dynamic_line": [ + "As I said, that's the thing I need. You don't need to know what's that exactly. Just grab all things you find in the safe, and call it a day." + ], + "responses": [ + { "text": "That's weird.", "topic": "TALK_NONE" }, + { "text": "I have a bad feeling about this. Sorry, I'll pass.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_ASKED_ABOUT_WHAT_FOR_DO_YOU_NEED_IT", + "type": "talk_topic", + "dynamic_line": [ "Let's say that's none of your business. Other questions?" ], + "responses": [ + { "text": "That's weird.", "topic": "TALK_NONE" }, + { "text": "I have a bad feeling about this. Sorry, I'll pass.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_SHOW_MILITARY_ID", + "type": "talk_topic", + "speaker_effect": { "effect": { "u_add_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } }, + "dynamic_line": [ "Hey, where did you get it? Nevermind, just give it to me. Just now." ], + "responses": [ + { + "text": "Hey, no need to be hostile. Here you go, I don't need it anyway.", + "topic": "TALK_DONE", + "effect": { "u_sell_item": "id_military" } + }, + { + "text": "I went through incredible hardships to get it. Please, can I keep this to myself?", + "trial": { "type": "PERSUADE", "difficulty": 5, "mod": [ [ "ALTRUISM", 3 ], [ "TRUST", 1 ] ] }, + "failure": { "topic": "TALK_DONE", "effect": "hostile" }, + "success": { "topic": "TALK_PRISONER_LEADER_TRIAL_SUCCESS" } + }, + { + "text": "I killed tons of while I was trying to get this thing. Do you really think you and your handful of losers pose a threat to me?", + "trial": { "type": "INTIMIDATE", "difficulty": 30, "mod": [ [ "BRAVERY", -1 ], [ "FEAR", 3 ] ] }, + "failure": { "topic": "TALK_DONE", "effect": "hostile" }, + "success": { "topic": "TALK_PRISONER_LEADER_TRIAL_SUCCESS" } + }, + { "text": "What, !", "topic": "TALK_DONE", "effect": "hostile" } + ] + }, + { + "id": "TALK_PRISONER_LEADER_TRIAL_SUCCESS", + "type": "talk_topic", + "dynamic_line": [ + "Okay. It was convincing. I'll still get what I want, one way or another. You better watch your back from now on." + ], + "responses": [ { "text": "Noted. Bye.", "topic": "TALK_DONE" } ] + }, + { + "id": "TALK_PRISONER_LEADER_DEMANDED_SUBSTANTIAL_REWARD", + "type": "talk_topic", + "speaker_effect": { "effect": { "u_add_var": "prisoner_leader_mission", "type": "mission", "context": "military_id", "value": "yes" } }, + "dynamic_line": [ "I'm afraid you're not in the position to demand anything from me, . " ], + "responses": [ + { "text": "Hey, ! You'll regret that!", "topic": "TALK_DONE", "effect": "hostile" }, + { "text": "Okay, fine. Cheapskate!", "topic": "TALK_DONE" } + ] + }, + { + "id": "MISSION_PRISONER_LEADER_GET_ID_CARD", + "type": "mission_definition", + "name": { "str": "Get The Thing from the chief's office" }, + "difficulty": 1, + "value": 0, + "goal": "MGOAL_FIND_ITEM", + "item": "id_military", + "origins": [ "ORIGIN_SECONDARY" ], + "dialogue": { + "describe": "Here's the job…", + "offer": "My snitch whispered in my ear that the thing I need is located in the chief's safe in his office. You need to crack it open and bring the contents to me. Don't try to use anything you find in there! Just bring all the stuff to me, and I'll help you. Deal?", + "accepted": "Great! Don't forget that I need all stuff from the safe, try not to lose a thing.", + "rejected": "Fine, I'll get the thing in any case, sooner or later.", + "advice": "The chief's office is on the other side of the prison. I think the road there is full of , so you better find a weapon. Also you probably will need some tools to crack the safe open.", + "inquire": "Did you get the stuff already?", + "success": "At last! Give me a few moments to check if it isn't damaged. Here, take this for your troubles.", + "success_lie": "Huh. This isn't going to work like I thought.", + "failure": "You're useless. I should've killed you when I met you." + }, + "has_generic_rewards": false, + "start": { "effect": [ { "u_add_var": "prisoner_leader_mission", "type": "mission", "context": "accepted", "value": "yes" } ] }, + "end": { + "effect": [ + { "u_add_var": "prisoner_leader_mission", "type": "mission", "context": "completed", "value": "yes" }, + { "u_lose_var": "prisoner_leader_mission", "type": "mission", "context": "accepted" }, + { "u_buy_item": "can_beans", "container": "can_medium" } + ] + } + } +] --- a/data/json/monsters/zed_prisoner.json +++ b/data/json/monsters/zed_prisoner.json @@ -10,5 +10,32 @@ "color": "green", "melee_dice_sides": 4, "death_drops": "mon_zombie_prisoner_death_drops" + }, + { + "id": "mon_zombie_prisoner_brute", + "type": "MONSTER", + "name": { "str": "prisoner brute" }, + "description": "This muscular zombie wears black and white striped prisoner clothes.", + "copy-from": "mon_zombie_brute", + "looks_like": "mon_zombie_brute", + "death_drops": "mon_zombie_prisoner_death_drops" + }, + { + "id": "mon_zombie_prisoner_fat", + "type": "MONSTER", + "name": { "str": "fat prisoner" }, + "description": "This fat zombie wears black and white striped prisoner clothes.", + "copy-from": "mon_zombie_fat", + "looks_like": "mon_zombie_fat", + "death_drops": "mon_zombie_prisoner_death_drops" + }, + { + "id": "mon_zombie_prisoner_tough", + "type": "MONSTER", + "name": { "str": "tough prisoner" }, + "description": "This tough-looking zombie wears black and white striped prisoner clothes.", + "copy-from": "mon_zombie_tough", + "looks_like": "mon_zombie_tough", + "death_drops": "mon_zombie_prisoner_death_drops" } ] --- a/data/json/mapgen/prison_1.json +++ b/data/json/mapgen/prison_1.json @@ -25,12 +25,12 @@ " s_____________________________________s+,,,,d,|--------+---|G|h|h|h|h| ", " s_____________________________________s+,,,,dh|S,T|l,,,,,+<|,|g|g|g|g| ", " s_____________________________________s|hhh,,,+,,,|l,,,,,--|,|h|h|h|h| ", - " s____Y____Y____Y____Y____Y____Y_______s|------|---|l,3333,l|,|,,,,,,,| ", + " s____Y____Y____Y____Y____Y____Y_______s|------|---|l,5555,l|,|,,,,,,,| ", " s____Y____Y____Y____Y____Y____Y_______s|,,,,,,,,,,|l,,,,,,l|G|------G| ", - " s____Y____Y____Y____Y____Y____Y_______s@,,,,,,,,d,|l,3333,l|,,,,,,,|,| ", + " s____Y____Y____Y____Y____Y____Y_______s@,,,,,,,,d,|l,5555,l|,,,,,,,|,| ", " s____Y____Y____Y____Y____Y____Y_______s@,,,,,,,,dh|l,,,,,,l|hth,hth|,| ", - " s____Y____Y____Y____Y____Y____Y_______s|,,,,,,,,d,|l,3333,l|hth,hth|,| ", - " sssssssssssssssssssssssssssssssssssssss|33333,,,,,|l,,,,,,l|,,,,,,,|,| ", + " s____Y____Y____Y____Y____Y____Y_______s|,,,,,,,,d,|l,5555,l|hth,hth|,| ", + " sssssssssssssssssssssssssssssssssssssss|55555,,,,,|l,,,,,,l|,,,,,,,|,| ", " |---------------------------------------------@@-------@-----R-G-R--G| ", " | f ss f s s s| ", " | sssssssssssssssssssssssssssssssssHssssHsssssssssssssssssss| ", @@ -168,9 +168,20 @@ "^": "t_concrete", "P": "t_concrete", "Y": "t_pavement_y", + "C": "t_floor", + "L": "t_floor", + "5": "t_floor", "Z": "t_door_bar_o" }, - "furniture": { "X": "f_exercise", "C": "f_counter", "P": "f_rack", "2": "f_home_furnace", "4": "f_water_heater", "L": "f_locker" }, + "furniture": { + "X": "f_exercise", + "C": "f_counter", + "5": "f_bench", + "P": "f_rack", + "2": "f_home_furnace", + "4": "f_water_heater", + "L": "f_locker" + }, "items": { "l": [ { "item": "prison_weapons", "chance": 30 }, @@ -465,7 +476,14 @@ ], "?": { "item": "autodoc_supplies", "chance": 100 } }, - "monster": { "Z": { "monster": "mon_zombie_prisoner" }, "C": { "monster": "mon_broken_cyborg" } } + "monster": { + "Z": [ + { "monster": "mon_zombie_prisoner" }, + { "monster": "mon_zombie_prisoner_fat" }, + { "monster": "mon_zombie_prisoner_tough" } + ], + "C": { "monster": "mon_broken_cyborg" } + } } }, { @@ -602,7 +620,6 @@ "L": [ "t_floor" ], "M": [ "t_floor" ], "N": [ "t_floor" ], - "O": [ "t_floor" ], "P": [ "t_floor" ], "Q": [ "t_floor" ], "R": [ "t_floor" ], @@ -628,7 +645,6 @@ "L": [ "f_drill_press" ], "M": [ "f_heavy_lathe" ], "N": [ "f_utility_shelf" ], - "O": [ "f_shredder" ], "P": [ "f_workbench" ], "Q": [ "f_cupboard" ], "R": [ "f_locker" ], @@ -663,7 +679,7 @@ "U": { "item": "prison_canine_bowl", "chance": 70 }, "Y": { "item": "clothing_outdoor_torso", "chance": 60 }, "q": { "item": "trash_cart", "chance": 50, "repeat": [ 2, 3 ] }, - "n": { "item": "oven", "chance": 70 }, + "n": { "item": "SUS_oven", "chance": 70 }, "r": { "item": "cleaning", "chance": 50 }, ":": { "item": "animalshelter_toys", "chance": 5 }, "1": { "item": "office_paper", "chance": 50 }, @@ -672,19 +688,39 @@ "2": [ { "item": "cannedfood", "chance": 70, "repeat": [ 1, 3 ] }, { "item": "pasta", "chance": 70, "repeat": [ 1, 3 ] } ] }, "monster": { - ",": [ { "monster": "mon_zombie_cop", "chance": 1 }, { "monster": "mon_zombie_prisoner", "chance": 2 } ], - "_": [ { "monster": "mon_zombie_cop", "chance": 1 }, { "monster": "mon_zombie_prisoner", "chance": 2 } ], - "(": [ { "monster": "mon_zombie_cop", "chance": 1 }, { "monster": "mon_zombie_prisoner", "chance": 2 } ], - "#": [ { "monster": "mon_zombie_cop", "chance": 1 }, { "monster": "mon_zombie_prisoner", "chance": 2 } ], + ",": [ + { "monster": "mon_zombie_cop", "chance": 1 }, + { "monster": "mon_zombie_prisoner", "chance": 2 }, + { "monster": "mon_zombie_prisoner_fat", "chance": 2 }, + { "monster": "mon_zombie_prisoner_tough", "chance": 2 } + ], + "_": [ + { "monster": "mon_zombie_cop", "chance": 1 }, + { "monster": "mon_zombie_prisoner", "chance": 2 }, + { "monster": "mon_zombie_prisoner_fat", "chance": 2 }, + { "monster": "mon_zombie_prisoner_tough", "chance": 2 } + ], + "(": [ + { "monster": "mon_zombie_cop", "chance": 1 }, + { "monster": "mon_zombie_prisoner", "chance": 2 }, + { "monster": "mon_zombie_prisoner_fat", "chance": 2 }, + { "monster": "mon_zombie_prisoner_tough", "chance": 2 } + ], + "#": [ + { "monster": "mon_zombie_cop", "chance": 1 }, + { "monster": "mon_zombie_prisoner", "chance": 2 }, + { "monster": "mon_zombie_prisoner_fat", "chance": 2 }, + { "monster": "mon_zombie_prisoner_tough", "chance": 2 } + ], "`": { "monster": "mon_zhark", "chance": 1 }, ".": { "monster": "mon_zombie_cop", "chance": 1 }, - "^": { "monster": "mon_zombie_brute", "chance": 1 }, + "^": { "monster": "mon_zombie_prisoner_brute", "chance": 1 }, " ": { "monster": "mon_dog_zombie_cop", "chance": 1 }, "U": { "monster": "mon_dog_gshepherd", "chance": 10 }, ":": { "monster": "mon_dog_gshepherd", "chance": 1 }, "<": { "monster": "mon_turret_riot" } }, - "place_monster": [ { "monster": "mon_zombie_hulk", "x": 45, "y": 3 }, { "monster": "mon_zombie_brute", "x": 60, "y": 56 } ], + "place_monster": [ { "monster": "mon_zombie_hulk", "x": 45, "y": 3 }, { "monster": "mon_zombie_prisoner_brute", "x": 60, "y": 56 } ], "place_graffiti": [ { "text": "Dufresne was here", "x": 19, "y": 22 } ], "computers": { "a": { @@ -740,7 +776,7 @@ " ", " ", " ", - " 54444444444444444445 54444444444444444444444444445 ", + " Ю444444444444444444Ю Ю444444444444444444444444444Ю ", " 1..................1 1...........................1 ", " 1..................1 1...........................1 ", " 1..................1 1...........................1 ", @@ -757,7 +793,7 @@ " wdh,,qw(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((wq,,hdw ", " |-w+w-| |-w+w-| ", " (^( (^( ", - " (^( 5444444444444444444444444444444444444444444444444444444444444444444444445 (^( ", + " (^( Ю44444444444444444444444444444444444444444444444444444444444444444444444Ю (^( ", " (^( 1.......................................................................1 (^( ", " (^( 1.......................................................................1 (^( ", " (^( 1.......................................................................1 (^( ", @@ -783,10 +819,10 @@ " (^( 1.......................1 1...............................1 (^( ", " (^( 1.......................1 1...............................1 (^( ", " (^( 1.......................1 1...............................1 (^( ", - " (^( 54444444444441..........1 1...............................1 (^( ", + " (^( Ю4444444444441..........1 1...............................1 (^( ", " (^( 1 1..........1 1...............................1 (^( ", " (^( 1 1..........1 1...............................1 (^( ", - " (^( 1444444444444444444444445444444444444444544444444444444444444444444444445 (^( ", + " (^( 144444444444444444444444Ю444444444444444Ю4444444444444444444444444444444Ю (^( ", " (^( (^( ", " |-w+w-| |-w+w-| ", " wdh,,qw(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((wq,,hdw ", @@ -806,7 +842,7 @@ "^": [ "t_concrete" ], "1": [ "t_gutter_north" ], "4": [ "t_gutter_west" ], - "5": [ "t_gutter_drop" ], + "Ю": [ "t_gutter_drop" ], "q": [ "t_floor" ] }, "furniture": { "q": [ "f_locker" ] }, @@ -816,6 +852,682 @@ } }, { + "type": "mapgen", + "method": "json", + "om_terrain": [ + [ "prison_island_1_1", "prison_island_1_2", "prison_island_1_3", "prison_island_1_4", "prison_island_1_5" ], + [ "prison_island_1_6", "prison_island_1_7", "prison_island_1_8", "prison_island_1_9", "prison_island_1_10" ], + [ "prison_island_1_11", "prison_island_1_12", "prison_island_1_13", "prison_island_1_14", "prison_island_1_15" ] + ], + "object": { + "faction_owner": [ { "id": "prisoners", "x": [ 5, 18 ], "y": [ 33, 47 ] }, { "id": "prisoners", "x": [ 5, 18 ], "y": [ 48, 56 ] } ], + "fill_ter": "t_region_groundcover_barren", + "rows": [ + "````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", + "````````````###*********````````````````№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№````````````````````", + "```````*****###****#¦***```````````````№№''''''''''''''''''''''''''''''''''''''''''''''''''''''''''№````````````````````", + "``******###***##***#****``````````````№№'' |----------| '№№№№№'№````````````````````", + "``*####*###***##***#******####```````№№'' |7Б7Б77Б7Б7| '№..>№'№````````````````````", + "***########******###******######````№№'' |7Б7Б77Б7Б7| '№...№'№````````````````````", + "*#############*###################`№№'' |7ББББББББ7| '№№@№№'№````````````````````", + "*№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№'' |----?-----| '''''''№````````````````````", + "*№''''''''''''''''''''''''''''''''''' /|,,,,,,,,,,| ' №````````````````````", + "*№'№№№№№' |--g--|XXX,,,3333|/ ' №````````````````````", + "*№'№>пп№' |-----------------------------|,,,,,|----?-----|--------------------------| ' №````````````````````", + "*№'№ппп№' |bo|bo|bo|bo|bo|bo|bo|bo|bo|bo|,,,,,,,,,,,,,,,,|bo|bo|bo|bo|bo|bo|bo|bo|b<| ' №````````````````````", + "`№'№№@№№' |b,|b,|b,|b,|b,|b,|b,|b,|b,|b,|,,,,,,,,,,,,,,,,|b,|b,|b,|b,|b,|b,|b,|b,|b,| ' №````````````````````", + "`№''''''' |T,|T,|T,|T,|T,|T,|T,|T,|T,|T,|,,,|---@----|,,,|T,|T,|T,|T,|T,|T,|T,|T,|T,| ' №````````````````````", + "`№'' |-G|-G|-G|-G|-G|-G|-G|-G|-G|-G|,,,|h...Y.А%|,,,|-G|-G|-G|-G|-G|-G|-G|-G|-G| ' №````````````````````", + "`№'' |,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|,,,|dd.....1|,,,|,,,,,,,,,,,,,,,,,,,,,,,,,,| ' №````````````````````", + "`№'' |,,,,,,,,,,,,,,,,,,,,,,,,,,,,,B,,,|.......1|,,,B,,,,,,,,,,,,,,,,,,,,,,,,,,| ' №````````````````````", + "`№'' g,,,3333,,,3333,,,3333,,,3333,G,,,|dh.11..6|,,,G,3333,,,3333,,,3333,,,3333g ' №````````````````````", + "`№'' |,,,,,,,,,,,,,,,,,,,,,,,,,,,,,B,,,|d..66...|,,,B,,,,,,,,,,,,,,,,,,,,,,,,,,| ' №````````````````````", + "`№'' |,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|,,,|6h..h..6|,,,|,,,,,,,,,,,,,,,,,,,,,,,,,,| ' №````````````````````", + "`№'' |-G|-G|-G|-G|-G|-G|-G|-G|-G|-G|,,,|6.....h6|,,,|-G|-G|-G|-G|-G|-G|-G|-G|-G| ' №````````````````````", + "`№'' |T,|T,|T,|T,|T,|T,|T,|T,|T,|T,|,,,|--------|,,,|T,|T,|T,|T,|T,|T,|T,|T,|T,| ' №````````````````````", + "`№'' |b,|b,|b,|b,|b,|b,|b,|b,|b,|b,|,,,,,,,,,,,,,,,,|b,|b,|b,|b,|b,|b,|b,|b,|b,| ' №````````````````````", + "`№'' |bo|bo|bo|bo|bo|bo|bo|bo|bo|bo|,,,,,,,,,,,,,,,,|bo|bo|bo|bo|bo|bo|bo|bo|bo| ' №````````````````````", + "`№'' |-----------------------------|,,,,,,,,,,,,,,,,|-----------|--------------| ' №````````````````````", + "`№'' B^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|------BGGB------|,,,,,,,,,,,|Н,,,,,,?¡¡¡¡¡¿B ' №````````````````````", + "`№'' B^E^^^888^^^E^^^^^^^^^^^^^^^^^^|bbT|,,,,,,|Tbb|L,,,P,,P,,,M|dh,,,,н|-?|¡¡¿B ' №````````````````````", + "`№'' B^^^^^^^^^^^^^^^^^^^^^^^^^^^^^8|o,,G,,,,,,G,,o|,,,,P,,P,,,,|---?---|О,|¡¡¿B ' №````````````````````", + "`№'' B^E^^^888^^^E^^^^^^^^^^^^^^^^^8|---|,,3,,,|---|L,,,P,,P,,,M|,,,,,,,|--|-----|-| ' №````````````````````", + "`№'' B^^^^^^^^^^^^^^^^^^^^^^^^^^^^^8|bbT|,,3,,,|Tbb|,,,,P,,P,,,,|,,ttt,,|,,+,hgh,=,|/ ' №````````````````````", + "`№'' B^E^^^888^^^K^^^^^^^^^^^^^^^^^^|o,,G,,3,,,G,,o|L,,,P,,P,,,M|,,,,,,,|,,|-----|,|---|№№Ĝ№№````````````````````", + "`№'' / B^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|---|,,3,,,|---|,,,,,,,,,,,,|333,333|,,+,hgh,=,=,,3| ' №````````````````````", + "`№''|-------|------|-------|))_____)_____))|bbT|,,,,,,|Tbb|lll,,,,,NNNN|,,,,,,,|,,|-----|,|,,3| ' №№```````````````````", + "`№''|°°°°°°°°°°°°°°|o,,T,,o|_))____)____))_|o,,G,,,,,,G,,o|---|,,,|----|333,333|,,+,hgh,=,|,,3| ' №№ZZZZZZZ!!{!!ZZZZZZ", + "`№''|°33333°°33333°|bb,,,bb|__))___)___))__|---|,,,,,,|---|М,ММ,,,,мммм|---?---|@-|-----|-|,,,|''''''№!!!!!!!!!!!!!!!!!Z", + "`№''|°uuuuu°°uuuuu°|-o,3,o-|f__)___)___)__f|bbT|,,3,,,|Tbb|М,,,,,,,,,,,|^^^^^^^^^^Ĝ,,,,,,,,,,,g''''''B!!!!!!!!!!!!!!!!!Z", + "`№''|°33333°°33333°|bb,3,bb|__))___)___))__|o,,G,,3,,,G,,o|М,ММ,,,,,,,,@^^^^^^^^^^Ĝ,,,,,,,,,,,@''''''Ĝ!!!!!!!!!!!!!!!!!Z", + "`№''|°°°°°°°°°°°°°°|-o,3,o-|_))____)____))_|---|,,3,,,|---|М,ММ,,,,,,,,|^^^^^|-gg-|------|,,,,g''''''B!!!!!!!!!!!!!!!!!Z", + "`№''|°°°°°°°°°°°°°°|bb,3,bb|))_____)_____))|bbT|,,3,,,|Tbb|М,,,,,,,мммм|^^^^^|hd.6|qd...o|,,,,|''''''№!!!!!!!!!!!!!!!!!Z", + "`№''|°33333°°33333°|-o,,,o-|^^^^^^^^^^^^^^^|o,,G,,,,,,G,,o|М,ММ,,,,,,,,|^^^^^|.d.6|hd..h.?,,,,| ' №№ZZZZZZZ!!{!!ZZZZZZ", + "`№''|°uuuuu°°uuu°°°|bb,,,bb|^^^^^88888^^^^-|---|-BGGB-|---|---|-?-|мммм|^^^^^@...6|......|,,,,| ' №№```````````````````", + "`№''|°33333°°33333°|---G---|--G--|--------|^^^^^^^^^^^^|,X|777|,,,|----|-BĜB-|Y..1|%А.11Y|,,,А| ' №````````````````````", + "`№''|°°°°°°°°°°°°°°|^^^^^^^^^^^^^|66666611|^^^^^^^^^^^^|,X|БББ|Л,л|йББи|^^^^^|%...|----|-|-?--|№№Ĝ№№````````````````````", + "`№''|°°°°°°°°°°°°°°ПØ^^^^^^^^^^^^|..h..h..|^^^^^^^^^^^^|,X|Б77|Л,л|КБББ=^^^^^|66..|Аd.1|vV...J| ' №````````````````````", + "`№''|°°°°°°°°°°°°°°ПØ^^^^^^^^^^^^g........@^^^^^^^^^^^^?,,?Б77|Л,л|----|^^^^^|--|?|hd.1|......g ' №±±±±±±``````````````", + "`№''|°°°°°°°°°°°°°°|Ø^^^^^^^^^^^^|.h,.....|^^^^^^^^^^^^|,3|БББ|Л,л|КБББ=^^^|-|А%|'|....|...t,A| ' №`````}``````````````", + "`№''|°33333°°°°3u3°|^^^^^^^^^^^^^|ddd66А%Y|^^|---|^^^^^|,3|777|,,,|йББи|^^^|Y...|'|A..A|A..t,A| ' №`````}``````````````", + "`№''|°uuuuu°°°°3u3°|^^^^^^^^^^^^^|--------|^^|%dq|^^^^^|--|---|-@-|----|^^^@....|'|A..A|A..t,A| ' №`````}``````````````", + "`№''|°33333°°°°3u3°|^^^^^^^^^^^^^^^^^^^^^^^^^|hd,?^^^^^^^^^^^^^^^^^^^^^^^^^|1.d.|'|....?......g ''}!!!!µ±``````````````", + "`№''|°°°°°°°°°°°°°°|^^^^^^^^^^^^^^^^^^^^^^^^^|,,,|^^^^^^^^^^^^^^^^^^^^^^^^^|1.dH|'|11.%|qА%ooа| ''¶±±±±±±``````````````", + "`№''|-------??-----|ĜĜ|------|-ĜĜ-|---?--|---|,,,|^^^^^^^^^^^^^^^^^^^^^^^^^|o.dƼ|'|----|-|----| ' №````````````````````", + "`№'' /|22²²ИИИИ³³©©|''||00000|^^^^|x,,,,y|,s,s,,s|^^^^^^^^^^^^^^^^^^^^^^^^^|----|''''''''|дддД| ' №````````````````````", + "`№'' |°°°°°°°°°°°°|''}Ĝ....0|^^^^|x,,,,y|,h,h,,h|^^^^|-@---|^^^^^^^^^^^^^^?....|-?----|'|§¢¢¢| ' №````````````````````", + "`№'' g§°°°nnnn°°°°@''||....0|^^^^|,,,,,,|,,,,,,,|^^^^|%...6|^^^^^^^^^^^^^^|....|¢¢¢¢¥¢|'|--?-| ' №````````````````````", + "`№'' g§°°°nnnn°°°°|'a||00000|^^^^|DDDWWW|,s,s,,s|^^^^|...h6|^^^^^^^^^^^^^^|ЖЖЖЖ|оЁ£|''''''В ' №````````````````````", + "`№'' |°°°°°°°°°°°°|---------|^^^^|-------|h,h,,h|^^^^|А1ddd|----G----|-@--|----|---|--|ГВВВВВВ ' №````````````````````", + "`№'' |qqИИeeИИИИSS|b|b|b|b|b|^^^^|АAAAooo|------|-G--|--|gg|bo|,,,|ob|Y..А|S44|%.dq|/ ' №````````````````````", + "`№''|--------------|bobobobob|^^^^|,,,,,,,H|b,T|.....|T,b| |b,G,,,G,b|........?..dHg''''''''''''' №````````````````````", + "`№''|U|U|U|U|З...dd|,,,,,,,,,|^^^^?,,ddd,,,|b,,G.....G,,b| |,T|,,,|T,|........|....|' |w-|w-|w-|--№````````````````````", + "`№''|Г|Г|Г|Г|1....h|T,,3333,,G^^^^|%,,h,,,H|---|.....|---| |--|,,,|--|=-|=-|=-|m.1-|' |CI|CI|CI|Кй№````````````````````", + "`№''g..............|,,,,,,,,,|^^^^|--------|b,T|.....|T,b| |bo|,,,|ob|,c|,c|,c|m.З|'' |C.|C.|C.|ББ№````````````````````", + "`№''|..........|-@-|,obobobob|^^^^@......d5|b,,G.....G,,b| |b,G,,,G,b|,,|,,|,,|---|' |.h|.h|.h|ББ№````````````````````", + "`№''|QQQRRRcccS|/''|9|b|b|b|b|^^^^|-=|Y..dH|---|.....|---| |,T|,,,|T,|bb|bb|bb|/ '' /|.d|.d|.d|Би№````````````````````", + "`№''|-------g--|'''|---------|-ĜĜ-|ББ|.....|b,T|.ddd.|T,b| |--|---|--|--------| '|--|+-|+-|+-|=-№````````````````````", + "`№'''''''В::::::'''Г'''''''''''''/|йи|11.%q|b,,G.6h..G,,b|''''''''''''''''''''''''''+..............g````````````````````", + "`№'№№@№№'В:::::::::В ''' |-----g--|---|-----|---|' №№@№№ |+-|+-|+-|+-|=-№````````````````````", + "`№'№...№'В:;;;:::::В ''''''''''''''''''''''''''''' №...№ |.d|.d|.d|.d|БЙ№````````````````````", + "`№'№>..№'В:::::::::В '' №..>№ |.h|.h|.h|.h|ББ№````````````````````", + "`№'№№№№№'ВВВВВВВВВВВ '' №№№№№ |C.|C.|C.|C.|ББ№````````````````````", + "`№''''''''''''''''''''''''''' |CI|CI|CI|CI|Б7№````````````````````", + "`№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№g№№g№№g№№g№№№№№````````````````````", + "````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````" + ], + "palettes": [ "prison_palette" ], + "terrain": { + " ": [ + [ "t_region_groundcover_urban", 20 ], + [ "t_region_groundcover_barren", 5 ], + [ "t_region_shrub", 2 ], + [ "t_region_tree", 1 ] + ], + "-": "t_brick_wall", + "|": "t_brick_wall", + "№": "t_concrete_wall", + ".": [ "t_floor" ], + ":": [ "t_region_groundcover_barren" ], + "#": [ "t_sand" ], + "*": [ "t_region_groundcover_barren" ], + ";": [ "t_trunk" ], + "/": [ "t_gutter_downspout" ], + "<": [ "t_slope_down" ], + "¦": [ "t_slope_down" ], + "§": [ "t_stairs_down" ], + "!": [ "t_dock" ], + "¡": [ "t_region_groundcover" ], + "¿": [ "t_shrub_rose" ], + "µ": [ "t_gates_control_metal" ], + "{": [ "t_dock" ], + ")": [ "t_pavement_y" ], + "}": [ "t_door_metal_locked" ], + "`": [ [ "t_water_dp", 20 ], "t_water_sh" ], + "^": [ "t_concrete" ], + "'": [ "t_concrete" ], + "Ø": [ "t_concrete" ], + "£": [ "t_thconc_floor" ], + "¢": [ "t_thconc_floor" ], + "¤": [ "t_thconc_floor" ], + "¥": [ "t_thconc_floor" ], + "²": [ "t_floor" ], + "³": [ "t_floor" ], + "©": [ "t_floor" ], + "°": [ "t_floor" ], + "¶": [ "t_card_industrial" ], + "@": [ "t_door_metal_pickable" ], + "?": [ "t_door_locked" ], + "%": [ "t_floor" ], + "±": [ "t_wall_metal" ], + "0": [ "t_floor" ], + "1": [ "t_floor" ], + "2": [ "t_floor" ], + "3": [ "t_floor" ], + "4": [ "t_floor" ], + "5": [ "t_floor" ], + "Ƽ": [ "t_floor" ], + "6": [ "t_console_broken" ], + "7": [ "t_floor" ], + "8": [ "t_concrete" ], + "9": [ "t_floor" ], + "a": [ "t_card_military" ], + "A": [ "t_floor" ], + "C": [ "t_floor" ], + "E": [ "t_concrete" ], + "f": [ "t_backboard" ], + "Ĝ": [ "t_door_bar_locked" ], + "G": [ "t_door_bar_c", "t_door_bar_o" ], + "H": [ "t_floor" ], + "I": [ "t_floor" ], + "J": [ "t_floor" ], + "K": [ "t_concrete" ], + "L": [ "t_floor" ], + "M": [ "t_floor" ], + "N": [ "t_floor" ], + "P": [ "t_floor" ], + "q": [ "t_floor" ], + "Q": [ "t_floor" ], + "R": [ "t_floor" ], + "s": [ "t_floor" ], + "u": [ "t_floor" ], + "U": [ "t_concrete" ], + "v": [ "t_floor" ], + "V": [ "t_floor" ], + "y": [ "t_floor" ], + "Y": [ "t_floor" ], + "x": [ "t_floor" ], + "X": [ "t_floor" ], + "Z": [ "t_fence_rope" ], + "А": [ "t_floor" ], + "а": [ "t_floor" ], + "Б": [ "t_linoleum_white" ], + "В": [ "t_chainfence" ], + "Г": [ "t_chaingate_l" ], + "Д": [ "t_sewage_pump" ], + "д": [ "t_sewage_pipe" ], + "Е": [ "t_water_pump" ], + "Ё": [ "t_thconc_floor" ], + "Ж": [ "t_floor" ], + "З": [ "t_floor" ], + "И": [ "t_floor" ], + "и": [ "t_linoleum_white" ], + "Й": [ "t_linoleum_white" ], + "й": [ "t_linoleum_white" ], + "К": [ "t_linoleum_white" ], + "Л": [ "t_floor" ], + "л": [ "t_floor" ], + "М": [ "t_floor" ], + "м": [ "t_floor" ], + "Н": [ "t_floor" ], + "н": [ "t_floor" ], + "О": [ "t_floor" ], + "о": [ "t_thconc_floor" ], + "П": [ "t_door_boarded" ], + "п": [ "t_floor" ] + }, + "furniture": { + "²": [ "f_cupboard" ], + "³": [ "f_cupboard" ], + "©": [ "f_cupboard" ], + "<": [ "f_bookcase" ], + "{": [ "f_bitts" ], + "%": [ "f_air_conditioner" ], + "*": [ "f_boulder_large" ], + "Ø": [ "f_dumpster" ], + "0": [ "f_locker" ], + "1": [ "f_filing_cabinet" ], + "2": [ "f_cupboard" ], + "3": [ "f_metal_bench" ], + "4": [ "f_glass_fridge" ], + "5": [ "f_safe_l" ], + "Ƽ": [ "f_safe_l" ], + "7": [ "f_shower" ], + "8": [ "f_metal_bench" ], + "9": [ "f_dumpster" ], + "A": [ "f_sofa" ], + "C": [ "f_bed" ], + "H": [ "f_armchair" ], + "I": [ "f_dresser" ], + "J": [ "f_pinball_machine" ], + "K": [ "f_floor_canvas" ], + "L": [ "f_drill_press" ], + "M": [ "f_heavy_lathe" ], + "N": [ "f_utility_shelf" ], + "P": [ "f_workbench" ], + "q": [ "f_trashcan" ], + "Q": [ "f_cupboard" ], + "R": [ "f_locker" ], + "s": [ "f_desk" ], + "u": [ "f_table" ], + "U": [ "f_fiber_mat" ], + "x": [ "f_clothing_rail" ], + "X": [ "f_rack_coat" ], + "y": [ "f_locker" ], + "Y": [ "f_rack_coat" ], + "А": [ "f_speaker_cabinet" ], + "а": [ "f_fridge" ], + "Ж": [ "f_locker" ], + "З": [ "f_bookcase" ], + "И": [ "f_counter" ], + "и": [ "f_sink" ], + "Й": [ "f_rack_coat" ], + "й": [ "f_toilet" ], + "К": [ "f_trashcan" ], + "Л": [ "f_utility_shelf" ], + "л": [ "f_rack_coat" ], + "М": [ "f_crate_c" ], + "м": [ "f_crate_c" ], + "Н": [ "f_bookcase" ], + "н": [ "f_wardrobe" ], + "О": [ "f_locker" ], + "о": [ "f_locker" ], + "п": [ "f_bookcase" ] + }, + "toilets": { "й": { } }, + "place_item": [ + { "item": "stethoscope", "x": 82, "y": 56, "chance": 100 }, + { "item": "basketball", "x": [ 29, 41 ], "y": [ 32, 38 ], "chance": 100, "repeat": [ 1, 2 ] }, + { "item": "baseball", "x": [ 28, 42 ], "y": [ 25, 28 ], "chance": 100, "repeat": [ 1, 3 ] }, + { "item": "holy_symbol", "x": 74, "y": 29, "chance": 90 }, + { "item": "holybook_bible1", "x": 75, "y": 29, "chance": 90 }, + { "item": "icon", "x": 76, "y": 29, "chance": 90 }, + { "item": "pliers", "x": 81, "y": 54, "chance": 100 }, + { "item": "hammer", "x": 59, "y": 32, "chance": 100 }, + { "item": "id_industrial", "x": 42, "y": 61, "chance": 100 }, + { "item": "id_military", "x": 79, "y": 50, "chance": 100 }, + { "item": "holster", "x": 79, "y": 50, "chance": 100 }, + { "item": "m9", "x": 79, "y": 50, "chance": 100 }, + { "item": "m9mag", "x": 79, "y": 50, "chance": 100 }, + { "item": "9mm", "x": 79, "y": 50, "chance": 100 } + ], + "item": { "н": { "item": "cassock", "chance": 95 } }, + "place_items": [ + { "item": "table_destruction", "x": 16, "y": 40, "chance": 100 }, + { "item": "table_destruction", "x": 17, "y": 40, "chance": 100 } + ], + "items": { + "²": { "item": "SUS_knife_drawer", "chance": 80 }, + "³": { "item": "SUS_cookware", "chance": 80 }, + "©": { "item": "SUS_spice_collection", "chance": 80 }, + "Ø": { "item": "trash_cart", "chance": 50, "repeat": [ 2, 3 ] }, + "c": { "item": "animalshelter_utility", "chance": 45, "repeat": [ 2, 3 ] }, + "C": { "item": "bed", "chance": 70 }, + "I": [ { "item": "cop_torso", "chance": 33 }, { "item": "cop_pants", "chance": 33 }, { "item": "cop_shoes", "chance": 33 } ], + "l": [ { "item": "hand_tools", "chance": 50 }, { "item": "tools_carpentry", "chance": 50 } ], + "m": [ { "item": "drugs_rare", "chance": 80, "repeat": [ 1, 2 ] } ], + "N": [ { "item": "hand_tools", "chance": 50 }, { "item": "tools_carpentry", "chance": 50 } ], + "n": { "item": "SUS_oven", "chance": 70 }, + "q": { "item": "trash_cart", "chance": 50, "repeat": [ 2, 3 ] }, + "Q": { "item": "prison_canine_food", "chance": 70, "repeat": [ 3, 5 ] }, + "R": [ + { "item": "animalshelter_softdrug", "chance": 70, "repeat": [ 1, 2 ] }, + { "item": "animalshelter_hardrug", "chance": 30, "repeat": [ 1, 2 ] } + ], + "u": { "item": "mil_base_mess_hall", "chance": 30 }, + "U": { "item": "prison_canine_bowl", "chance": 70 }, + "x": [ { "item": "prison_textile", "chance": 90, "repeat": [ 1, 5 ] } ], + "Y": { "item": "clothing_outdoor_torso", "chance": 60 }, + ":": { "item": "animalshelter_toys", "chance": 5 }, + "0": [ + { "item": "prison_weapons", "chance": 50, "repeat": [ 1, 3 ] }, + { "item": "prison_armor", "chance": 50, "repeat": [ 1, 3 ] } + ], + "1": { "item": "SUS_office_filing_cabinet", "chance": 50 }, + "2": { "item": "SUS_utensils", "chance": 80 }, + "4": [ { "item": "softdrugs", "chance": 50 }, { "item": "harddrugs", "chance": 50 } ], + "5": { "item": "alcohol_bottled_canned", "chance": 95, "repeat": [ 1, 3 ] }, + "9": { "item": "trash_cart", "chance": 50, "repeat": [ 2, 3 ] }, + "а": { "item": "SUS_fridge_breakroom", "chance": 65 }, + "Ж": { "item": "SUS_janitors_closet", "chance": 95 }, + "З": { "item": "doctors_books", "chance": 75, "repeat": [ 1, 2 ] }, + "Л": { "item": "prison_workshop_safety", "chance": 75 }, + "л": { "item": "prison_jumpsuit", "chance": 75 }, + "М": { "item": "wood_workshop", "chance": 75 }, + "м": { "item": "supplies_metal", "chance": 75 }, + "Н": { "item": "religious_books", "chance": 90, "repeat": [ 1, 3 ] }, + "О": [ + { "item": "tools_earthworking", "chance": 90, "repeat": [ 1, 2 ] }, + { "item": "farming_tools", "chance": 90, "repeat": [ 1, 2 ] }, + { "item": "hazmat_boots", "chance": 90 } + ], + "о": { "item": "tools_electronics", "chance": 90, "repeat": [ 1, 2 ] } + }, + "vendingmachines": { "v": { "item_group": "vending_drink" }, "V": { "item_group": "vending_food" } }, + "monster": { + ",": [ + { "monster": "mon_zombie_prisoner", "chance": 2 }, + { "monster": "mon_zombie_prisoner_fat", "chance": 2 }, + { "monster": "mon_zombie_prisoner_tough", "chance": 2 } + ], + ".": { "monster": "mon_zombie_cop", "chance": 1 }, + "¢": { "monster": "mon_zombie_technician", "chance": 20 }, + "^": { "monster": "mon_zombie_prisoner_brute", "chance": 1 }, + "`": { "monster": "mon_zhark", "chance": 1 }, + ":": { "monster": "mon_dog_gshepherd", "chance": 1 }, + "U": { "monster": "mon_dog_gshepherd", "chance": 10 }, + "'": [ { "monster": "mon_dog_zombie_cop", "chance": 1 }, { "monster": "mon_zombie_cop", "chance": 1 } ] + }, + "place_monster": [ + { "monster": "mon_zombie_brute_shocker", "x": 65, "y": 36, "name": "The Foreman" }, + { "monster": "mon_zombie_master", "x": 40, "y": 63, "name": "The Warden" }, + { "monster": "mon_zombie_kevlar_2", "x": 77, "y": 48, "name": "The Chief" }, + { "monster": "mon_zombie_scientist", "x": 81, "y": 58, "name": "The Doctor" }, + { "monster": "mon_zombie_necro", "x": 75, "y": 28, "name": "The Priest" }, + { "monster": "mon_zombie_prisoner_brute", "x": 50, "y": 33, "name": "The Bully" } + ], + "place_npcs": [ + { "class": "prisoner_generic", "x": 17, "y": 53 }, + { "class": "prisoner_greeter", "x": 17, "y": 43 }, + { "class": "prisoner_generic", "x": 15, "y": 41 }, + { "class": "prisoner_generic", "x": 10, "y": 41 }, + { "class": "prisoner_generic", "x": 8, "y": 41 }, + { "class": "prisoner_generic", "x": 9, "y": 53 }, + { "class": "prisoner_generic", "x": 17, "y": 47 } + ], + "place_zones": [ + { "type": "NPC_INVESTIGATE_ONLY", "faction": "prisoners", "x": [ 5, 18 ], "y": [ 33, 47 ] }, + { "type": "NPC_INVESTIGATE_ONLY", "faction": "prisoners", "x": [ 5, 18 ], "y": [ 48, 56 ] } + ], + "nested": { + "^": { "chunks": [ [ "corpse_blood_3x3", 5 ], [ "null", 95 ] ] }, + ".": { "chunks": [ [ "corpse_blood_3x3", 5 ], [ "null", 95 ] ] }, + ",": { "chunks": [ [ "corpse_blood_3x3", 5 ], [ "null", 95 ] ] }, + "'": { "chunks": [ [ "corpse_blood_3x3", 5 ], [ "null", 95 ] ] }, + "Б": { "chunks": [ [ "corpse_blood_3x3", 5 ], [ "null", 95 ] ] } + }, + "place_vehicles": [ { "vehicle": "boat_motor_single", "x": 100, "y": 45, "chance": 100, "status": 0 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ + [ + "prison_island_1_2f_1", + "prison_island_1_2f_2", + "prison_island_1_2f_3", + "prison_island_1_2f_4", + "prison_island_1_2f_5" + ], + [ + "prison_island_1_2f_6", + "prison_island_1_2f_7", + "prison_island_1_2f_8", + "prison_island_1_2f_9", + "prison_island_1_2f_10" + ], + [ + "prison_island_1_2f_11", + "prison_island_1_2f_12", + "prison_island_1_2f_13", + "prison_island_1_2f_14", + "prison_island_1_2f_15" + ] + ], + "object": { + "rows": [ + " ", + " №№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№ ", + " №№ № ", + " №№ |----------| 14w41 № ", + " №№ |..........| wd,<1 № ", + " №№ |..........| wdh,1 № ", + " №№ |..........| 14w41 № ", + " №№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№ |..........| № ", + " № |..........| № ", + " № 14w41 |-----Ю..........| № ", + " № 1<,dw |-----------------------------|................Ю--------------------------| № ", + " № 1,hdw |.........................................................................| № ", + " № 14w41 |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |.........................................................................| № ", + " № |-----------------------------|....................................|------| № ", + " № |-...................................| № ", + " № |...................................|--| № ", + " № |......................................| № ", + " № |......................................|-------| № ", + " № |..............................................| № ", + " № |..............................................Ю---| № ", + " № |..................................................| № ", + " № |---Ю------------------| |..................................................| №№ ", + " № |......................| |..................................................| №№ ", + " № |......................| |...........................|----------|...........| № ", + " № |......................| |...........................| |...........| № ", + " № |......................| |...........................| |...........| № ", + " № |......................| |...........................| |----|...........| № ", + " № |......................| |...........................| |................| № ", + " № |......................| |...........................| |................| №№ ", + " № |......................| -|-----------|...............| |................| №№ ", + " № |..............|-------| |--------| |...............| |................| № ", + " № |..............| |........| |...............| |................| № ", + " № |..............| |........| |...............| |................| № ", + " № |..............| |........| |...............| |..|-|...........| № ", + " № |..............| |........| |...............| |-|..| |...........| №..... ", + " № |..............| |........| |---| |...............| |....| |...........| №..... ", + " № |..............| |--------| |...| |---------------| |....| |...........| №..... ", + " № |..............| |...| |....| |...........| №..... ", + " № |..............| |...| |....| |...........| № ", + " № |-Ю............|---------| |----------|...| |....| |------|....| № ", + " № |......................| |..............| |....| |....| № ", + " № |......................| |..............| |-----| |....|------| |....| № ", + " № |......................| |..............| |.....| |...........| |----| № ", + " № |......................| |..............| |.....| |...........| № ", + " № |......................| |..............| |.....|--------------|........Ю--| № ", + " № |......................| |..............|----|..|--|.......................| № ", + " № |-|......................| |......................| |.......................| № ", + " № |........................| |......................| |.......................| |----------|№ ", + " № |........................| |......................| |......................-| |..........|№ ", + " № |........................| |......................| |......................| |..........|№ ", + " № |..........|---|.........| |......................| |..................Ю---| |..........|№ ", + " № |..........| |.........| |......................| |..................| |..........|№ ", + " № |----------| |---------| |......................| |------------------| |--Ю..........|№ ", + " № |......................| |.............|№ ", + " № 14w41 Ю----------------------| 14w41 |.............|№ ", + " № 1,hdw wdh,1 |.............|№ ", + " № 1<,dw wd,<1 |.............|№ ", + " № 14w41 44w41 |.............|№ ", + " № |-------------|№ ", + " №№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№ ", + " " + ], + "palettes": [ "prison_palette" ], + "terrain": { + " ": [ "t_open_air" ], + ".": [ "t_flat_roof" ], + "№": "t_concrete_wall", + "1": "t_brick_wall", + "4": "t_brick_wall", + "|": [ "t_gutter_north" ], + "-": [ "t_gutter_west" ], + "w": [ "t_metal_grate_window_noglass" ], + "Ю": [ "t_gutter_drop" ] + }, + "item": { ".": { "item": "feces_bird", "chance": 2 } } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ + [ + "prison_island_1_ug_1", + "prison_island_1_ug_2", + "prison_island_1_ug_3", + "prison_island_1_ug_4", + "prison_island_1_ug_5" + ], + [ + "prison_island_1_ug_6", + "prison_island_1_ug_7", + "prison_island_1_ug_8", + "prison_island_1_ug_9", + "prison_island_1_ug_10" + ], + [ + "prison_island_1_ug_11", + "prison_island_1_ug_12", + "prison_island_1_ug_13", + "prison_island_1_ug_14", + "prison_island_1_ug_15" + ] + ], + "object": { + "faction_owner": [ { "id": "prisoners", "x": [ 8, 23 ], "y": [ 50, 57 ] } ], + "rows": [ + " ", + " ", + " @ ", + " ` |----------| ", + " ```````` |~~~~~~~~~~| ", + " ` |---|~|----| ", + " ``````` |~| ", + " ` |---|~|----| ", + " ``` |~~~~~~~~~~| ", + " ` |---|~|----| ", + " ` |~| ", + " ` |~| ", + " `` |---------------------------------------|~|-------------------------------| ", + " `` |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@| ", + " ` |---------------------------------------|~|-------------------------------| ", + " `` |~| ", + " ` |~| ", + " ` |~| ", + " ` |~| ", + " ` |~| ", + " ` |---------------------------------------|~|-------------------------------| ", + " `` |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| ", + " ``` |--------------------------------|~|-------------------|~|----------------| ", + " `` |~| |~| ", + " ` ^^^^^^ |~| |~| ", + " `` ^ ^^^^' |~| |~| ", + " ` ^ ' |~| |~| ", + " ``` ^ ' |~| |~| ", + " `` ^^^^^^^^^ ' |~| |~| ", + " ` ^ ^ ' |~| |~| ", + " ` ^ ^ '' |~| |~| ", + " ` ^ ' |~| |~| ", + " ` ^^^^ '' |~| |~| ", + " `` ^^^^^^^ ' |~| |~| ", + " ` ^^^ ^^^^^^^^ '' |~| |~| ", + " ` ^^^ ^^ ^ ' |~| |~| ", + " `` ^^^ ^^ ^ ' |~| |~| ", + " ` ^^^ ^ ' |~| |~| ", + " ` ^^^ ^ ' |~| |~| ", + " ` ^^^ ^^ ' |~| |~| ", + " ` ^^^````` ^^ '' |~| |-| |~| ", + " ` ````` '' |~| |~| |~| ", + " ``````````` '' |~|-----------|~|-----|~| ", + " ' |~~~~~~~~~~~~~~~~~~~~~~~| ", + " '' |~|-----------|~|-----|~| ", + " '' |~| |~| |~| ", + " ' |~| |~| |~| ", + " ' |~| |-| |~| ", + " ' |~| |~| ", + " !!!!!!!!!!!!!!!!! '''' |~| |~| |----| ", + " !1.2!3.4!5.6!7.8! ' |------------|~|--------------------~|-------------------|____| ", + " !1:2!3:4!5:6!7:8! ' |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~д___| ", + " !!!!?!!!?!!!?!!!?!! '' |~|---|~|----|~|-------------------|~|-----------------|~|>___| ", + " !>.d..:.......:...! ''' |~| ||~|| |~| |~| |~|----| ", + " !>.h..:.......:...! ' |~| |~~~| |~| |~| |~| ", + " !!!!?!!!?!!!?!!!?!! |--/---~| |---| |~| |~| |~| ", + " !9:9!0:A!B:C!D:D! |~~~~~~~| |~| |~| |~| ", + " !9.9!0.A!B.C!D.D! |-------| |~| |~| |~| ", + " !!!!!!!!!!!!!!!!! |~| |~| |~| ", + " |~| |~| |~| ", + " |~| |~| |~| ", + " |~| |~| |~| ", + " |-------------------------------|~|-------------------|~|-----------------|~|---------| ", + " |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| ", + " |-----------------------------------------------------------------------------------|~| ", + " |~| ", + " |~| ", + " |~| ", + " |~| ", + " |~| ", + " |-| ", + " " + ], + "palettes": [ "prison_palette" ], + "terrain": { + " ": [ "t_rock" ], + "^": [ "t_rock_floor" ], + "_": [ "t_grate" ], + "~": [ "t_sewage" ], + "'": [ "t_water_sh_murky_underground" ], + "`": [ "t_swater_dp_underground" ], + "|": [ "t_brick_wall" ], + "-": [ "t_brick_wall" ], + "/": [ "t_brick_wall_halfway" ], + ">": [ "t_stairs_up" ], + "@": [ "t_slope_up" ], + ".": [ "t_thconc_floor" ], + ":": [ "t_thconc_floor_olight" ], + "!": [ "t_concrete_wall" ], + "?": [ "t_door_bar_locked" ], + "1": [ "t_thconc_floor" ], + "2": [ "t_thconc_floor" ], + "3": [ "t_thconc_floor" ], + "4": [ "t_thconc_floor" ], + "5": [ "t_thconc_floor" ], + "6": [ "t_thconc_floor" ], + "7": [ "t_thconc_floor" ], + "8": [ "t_thconc_floor" ], + "9": [ "t_thconc_floor" ], + "0": [ "t_thconc_floor" ], + "A": [ "t_thconc_floor" ], + "B": [ "t_thconc_floor" ], + "C": [ "t_thconc_floor" ], + "D": [ "t_thconc_floor" ], + "d": [ "t_thconc_floor" ], + "h": [ "t_thconc_floor" ], + "д": [ "t_sewage_pipe" ] + }, + "furniture": { + "1": "f_crate_o", + "2": "f_crate_o", + "3": "f_crate_o", + "4": "f_crate_o", + "5": "f_crate_o", + "6": "f_crate_o", + "7": "f_crate_o", + "8": "f_crate_o", + "9": "f_utility_shelf", + "0": "f_utility_shelf", + "A": "f_utility_shelf", + "B": "f_utility_shelf", + "C": "f_utility_shelf", + "D": "f_fridge" + }, + "item": { + "1": { "item": "carrot", "chance": 95, "repeat": [ 1, 20 ] }, + "2": { "item": "potato", "chance": 95, "repeat": [ 1, 20 ] }, + "3": { "item": "onion", "chance": 95, "repeat": [ 1, 20 ] }, + "4": { "item": "cabbage", "chance": 95, "repeat": [ 1, 20 ] }, + "5": { "item": "corn", "chance": 95, "repeat": [ 1, 20 ] }, + "6": { "item": "garlic", "chance": 95, "repeat": [ 1, 10 ] }, + "7": { "item": "apple", "chance": 95, "repeat": [ 1, 20 ] }, + "8": { "item": "lemon", "chance": 95, "repeat": [ 1, 10 ] } + }, + "items": { + "9": { "item": "SUS_pantry", "chance": 95 }, + "0": { "item": "teabag_box", "chance": 95, "repeat": [ 1, 20 ] }, + "A": { "item": "groce_ingredient", "chance": 95, "repeat": [ 1, 20 ] }, + "B": { "item": "groce_bread", "chance": 95, "repeat": [ 1, 20 ] }, + "C": { "item": "groce_cereal", "chance": 95, "repeat": [ 1, 20 ] }, + "D": { "item": "butcher_raw_meat", "chance": 95, "repeat": [ 1, 20 ] }, + "d": { "item": "magazines", "chance": 50 } + }, + "monster": { "~": { "monster": "mon_sewer_fish", "chance": 2 }, "'": { "monster": "mon_sewer_snake", "chance": 10 } }, + "place_npcs": [ + { "class": "prisoner_leader", "x": 9, "y": 54 }, + { "class": "prisoner_generic", "x": 14, "y": 53 }, + { "class": "prisoner_generic", "x": 18, "y": 54 }, + { "class": "prisoner_generic", "x": 22, "y": 53 } + ] + } + }, + { + "id": "table_destruction", + "type": "item_group", + "subtype": "collection", + "items": [ + { "item": "2x4", "count": [ 2, 4 ] }, + { "item": "wood_panel", "count": [ 0, 1 ] }, + { "item": "nail", "charges": [ 4, 8 ] }, + { "item": "splinter", "count": 1 } + ] + }, + { "id": "prison_canine_food", "type": "item_group", "items": [ { "item": "dogfood", "prob": 100, "container-item": "can_medium" } ] @@ -839,5 +1552,63 @@ [ "jerky", 40 ], [ "rope_6", 15 ] ] + }, + { + "type": "item_group", + "id": "prison_workshop_safety", + "subtype": "collection", + "items": [ + { "item": "mask_dust", "prob": 75, "damage": [ 1, 4 ] }, + { "item": "gloves_work", "prob": 75, "damage": [ 1, 4 ] }, + { "item": "glasses_safety", "prob": 75, "damage": [ 1, 4 ] } + ] + }, + { + "id": "prison_jumpsuit", + "type": "item_group", + "items": [ { "item": "jumpsuit", "prob": 75, "damage": [ 1, 4 ] } ] + }, + { + "type": "item_group", + "id": "prisoner_or_cop_clothes", + "subtype": "collection", + "entries": [ + { "group": "male_underwear", "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "collection": [ + { "item": "striped_shirt", "damage": [ 1, 4 ] }, + { "item": "striped_pants", "damage": [ 1, 4 ] }, + { "group": "clothing_prisoner_shoes", "damage": [ 1, 4 ], "prob": 20 }, + { "item": "bandana", "damage": [ 1, 4 ] } + ] + }, + { + "collection": [ + { "group": "cop_pants", "damage": [ 1, 4 ] }, + { "group": "cop_shoes", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "cop_torso", "damage": [ 1, 4 ] }, + { "group": "clothing_watch", "prob": 20 }, + { "item": "police_belt", "damage": [ 1, 4 ], "prob": 20 } + ] + } + ], + "prob": 90 + }, + { "group": "socks_unisex", "damage": [ 1, 4 ] }, + { "group": "clothing_glasses", "prob": 20 }, + { "item": "corpse_generic_human", "damage": 4 } + ] + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "corpse_blood_3x3", + "object": { + "mapgensize": [ 3, 3 ], + "place_items": [ { "item": "prisoner_or_cop_clothes", "x": 0, "y": 0, "chance": 30 } ], + "place_fields": [ { "field": "fd_blood", "x": [ 0, 2 ], "y": [ 0, 2 ], "intensity": 1, "age": 10 } ] + } } ] --- a/data/json/itemgroups/Weapons_Mods_Ammo/guns.json +++ b/data/json/itemgroups/Weapons_Mods_Ammo/guns.json @@ -733,31 +743,42 @@ }, { "type": "item_group", - "id": "guns_cop", - "//": "Police issue weapons of all types", + "id": "longguns_cop", "items": [ - { "group": "nested_ar15", "prob": 15 }, - { "group": "nested_cx4", "prob": 20 }, - { "group": "nested_fn57", "prob": 20 }, - { "group": "nested_fn_p90", "prob": 5 }, - { "group": "nested_glock_19", "prob": 15 }, - { "group": "nested_glock_22", "prob": 20 }, - { "group": "nested_hk_mp5", "prob": 10 }, - { "group": "nested_m9", "prob": 5 }, - { "group": "nested_mossberg_500", "prob": 15 }, - { "group": "nested_remington_700", "prob": 5 }, - { "group": "nested_remington_870", "prob": 20 }, - { "group": "nested_sig_40", "prob": 20 }, - { "group": "nested_usp_45", "prob": 10 }, - { "group": "nested_usp_9mm", "prob": 10 }, - { "group": "nested_kp32", "prob": 1 }, - { "group": "nested_kp3at", "prob": 2 }, - { "group": "nested_rugerlcp", "prob": 2 }, - { "group": "nested_kpf9", "prob": 3 } + { "group": "nested_ar15", "prob": 15 }, + { "group": "nested_mossberg_500", "prob": 15 }, + { "group": "nested_remington_700", "prob": 5 }, + { "group": "nested_remington_870", "prob": 20 } ] }, { "type": "item_group", + "id": "sidearms_cop", + "items": [ + { "group": "nested_cx4", "prob": 20 }, + { "group": "nested_fn57", "prob": 20 }, + { "group": "nested_glock_19", "prob": 15 }, + { "group": "nested_glock_22", "prob": 20 }, + { "group": "nested_m9", "prob": 5 }, + { "group": "nested_sig_40", "prob": 20 }, + { "group": "nested_usp_9mm", "prob": 10 }, + { "group": "nested_usp_45", "prob": 10 }, + { "group": "nested_kp32", "prob": 1 }, + { "group": "nested_kp3at", "prob": 2 }, + { "group": "nested_rugerlcp", "prob": 2 }, + { "group": "nested_kpf9", "prob": 3 }, + { "group": "nested_hk_mp5", "prob": 10 }, + { "group": "nested_fn_p90", "prob": 5 } + ] + }, + { + "type": "item_group", + "id": "guns_cop", + "//": "Police issue weapons of all types", + "items": [ { "group": "longguns_cop", "prob": 50 }, { "group": "sidearms_cop", "prob": 50 } ] + }, + { + "type": "item_group", "id": "guns_swat", "//": "Guns issued to paramilitary forces in addition to standard police issue.", "items": [ --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -948,6 +982,67 @@ }, { "type": "overmap_special", + "id": "Island prison", + "overmaps": [ + { "point": [ -1, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 2, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 3, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 4, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, -1, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, 1, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, 2, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 4, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 3, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 2, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ -1, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ -1, 2, 0 ], "overmap": "lake_surface" }, + { "point": [ -1, 1, 0 ], "overmap": "lake_surface" }, + { "point": [ -1, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 0, 0 ], "overmap": "prison_island_1_1_north" }, + { "point": [ 1, 0, 0 ], "overmap": "prison_island_1_2_north" }, + { "point": [ 2, 0, 0 ], "overmap": "prison_island_1_3_north" }, + { "point": [ 3, 0, 0 ], "overmap": "prison_island_1_4_north" }, + { "point": [ 4, 0, 0 ], "overmap": "prison_island_1_5_north" }, + { "point": [ 0, 1, 0 ], "overmap": "prison_island_1_6_north" }, + { "point": [ 1, 1, 0 ], "overmap": "prison_island_1_7_north" }, + { "point": [ 2, 1, 0 ], "overmap": "prison_island_1_8_north" }, + { "point": [ 3, 1, 0 ], "overmap": "prison_island_1_9_north" }, + { "point": [ 4, 1, 0 ], "overmap": "prison_island_1_10_north" }, + { "point": [ 0, 2, 0 ], "overmap": "prison_island_1_11_north" }, + { "point": [ 1, 2, 0 ], "overmap": "prison_island_1_12_north" }, + { "point": [ 2, 2, 0 ], "overmap": "prison_island_1_13_north" }, + { "point": [ 3, 2, 0 ], "overmap": "prison_island_1_14_north" }, + { "point": [ 4, 2, 0 ], "overmap": "prison_island_1_15_north" }, + { "point": [ 0, 0, 1 ], "overmap": "prison_island_1_2f_1_north" }, + { "point": [ 1, 0, 1 ], "overmap": "prison_island_1_2f_2_north" }, + { "point": [ 2, 0, 1 ], "overmap": "prison_island_1_2f_3_north" }, + { "point": [ 3, 0, 1 ], "overmap": "prison_island_1_2f_4_north" }, + { "point": [ 4, 0, 1 ], "overmap": "prison_island_1_2f_5_north" }, + { "point": [ 0, 1, 1 ], "overmap": "prison_island_1_2f_6_north" }, + { "point": [ 1, 1, 1 ], "overmap": "prison_island_1_2f_7_north" }, + { "point": [ 2, 1, 1 ], "overmap": "prison_island_1_2f_8_north" }, + { "point": [ 3, 1, 1 ], "overmap": "prison_island_1_2f_9_north" }, + { "point": [ 4, 1, 1 ], "overmap": "prison_island_1_2f_10_north" }, + { "point": [ 0, 2, 1 ], "overmap": "prison_island_1_2f_11_north" }, + { "point": [ 1, 2, 1 ], "overmap": "prison_island_1_2f_12_north" }, + { "point": [ 2, 2, 1 ], "overmap": "prison_island_1_2f_13_north" }, + { "point": [ 3, 2, 1 ], "overmap": "prison_island_1_2f_14_north" }, + { "point": [ 4, 2, 1 ], "overmap": "prison_island_1_2f_15_north" } + ], + "locations": [ "lake_surface" ], + "city_distance": [ 3, -1 ], + "city_sizes": [ 4, 12 ], + "occurrences": [ 50, 100 ], + "flags": [ "CLASSIC", "LAKE", "UNIQUE" ] + }, + { + "type": "overmap_special", "id": "Prison Hidden Lab", "overmaps": [ { "point": [ 0, -1, 0 ], "overmap": "road_end_north" }, --- a/data/json/overmap/overmap_terrain/overmap_terrain_public_institutional.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_public_institutional.json @@ -256,7 +285,52 @@ "prison_alcatraz_12_2f", "prison_alcatraz_13_2f", "prison_alcatraz_14_2f", - "prison_alcatraz_15_2f" + "prison_alcatraz_15_2f", + "prison_island_1_1", + "prison_island_1_2", + "prison_island_1_3", + "prison_island_1_4", + "prison_island_1_5", + "prison_island_1_6", + "prison_island_1_7", + "prison_island_1_8", + "prison_island_1_9", + "prison_island_1_10", + "prison_island_1_11", + "prison_island_1_12", + "prison_island_1_13", + "prison_island_1_14", + "prison_island_1_15", + "prison_island_1_2f_1", + "prison_island_1_2f_2", + "prison_island_1_2f_3", + "prison_island_1_2f_4", + "prison_island_1_2f_5", + "prison_island_1_2f_6", + "prison_island_1_2f_7", + "prison_island_1_2f_8", + "prison_island_1_2f_9", + "prison_island_1_2f_10", + "prison_island_1_2f_11", + "prison_island_1_2f_12", + "prison_island_1_2f_13", + "prison_island_1_2f_14", + "prison_island_1_2f_15", + "prison_island_1_ug_1", + "prison_island_1_ug_2", + "prison_island_1_ug_3", + "prison_island_1_ug_4", + "prison_island_1_ug_5", + "prison_island_1_ug_6", + "prison_island_1_ug_7", + "prison_island_1_ug_8", + "prison_island_1_ug_9", + "prison_island_1_ug_10", + "prison_island_1_ug_11", + "prison_island_1_ug_12", + "prison_island_1_ug_13", + "prison_island_1_ug_14", + "prison_island_1_ug_15" ], "name": "prison", "sym": "p", --- a/data/json/start_locations.json +++ b/data/json/start_locations.json @@ -303,11 +348,17 @@ { "type": "start_location", "id": "sloc_prison_alcatraz", - "name": "Island prison", + "name": "Island prison type A", "terrain": [ "prison_alcatraz_3" ] }, { "type": "start_location", + "id": "sloc_prison_island", + "name": "Island prison type B", + "terrain": [ "prison_island_1_1" ] + }, + { + "type": "start_location", "id": "sloc_mi-go_camp", "name": "Mi-go camp", "terrain": [ "mi-go_camp1" ]