Files
RPG_FromClaude/data/world.json
Maxim Dolgolyov ac1f348311 Initial commit: RPG game project
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 01:01:02 +03:00

352 lines
20 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"locations": {
"village": { "name":"Деревня", "safe":true },
"tavern": { "name":"Таверна", "safe":true },
"forest": { "name":"Лес", "safe":false },
"dungeon": { "name":"Подземелье", "safe":false },
"cave": { "name":"Пещера", "safe":false },
"mountain": { "name":"Горы", "safe":false },
"swamp": { "name":"Болото", "safe":false },
"ruins": { "name":"Руины", "safe":false },
"abyss": { "name":"Бездна", "safe":false }
},
"spawns": {
"forest": [
{"t":"goblin", "lOff":0, "x":3, "y":3 },
{"t":"wolf", "lOff":0, "x":10, "y":2 },
{"t":"goblin", "lOff":1, "x":5, "y":9 },
{"t":"slime", "lOff":0, "x":2, "y":10},
{"t":"bandit", "lOff":1, "x":11, "y":8 },
{"t":"wolf", "lOff":1, "x":7, "y":4 },
{"t":"goblin_king", "lOff":5, "x":8, "y":7 }
],
"dungeon": [
{"t":"skeleton", "lOff":2, "x":2, "y":2 },
{"t":"skeleton", "lOff":2, "x":11, "y":3 },
{"t":"zombie", "lOff":2, "x":6, "y":10},
{"t":"troll", "lOff":4, "x":10, "y":11},
{"t":"skeleton", "lOff":2, "x":3, "y":8 },
{"t":"zombie", "lOff":3, "x":8, "y":5 },
{"t":"corvus", "lOff":6, "x":5, "y":6 }
],
"cave": [
{"t":"bat", "lOff":2, "x":3, "y":3 },
{"t":"slime", "lOff":1, "x":8, "y":5 },
{"t":"orc", "lOff":3, "x":10, "y":8 },
{"t":"dragon", "lOff":7, "x":12, "y":2 },
{"t":"bat", "lOff":2, "x":5, "y":11},
{"t":"orc", "lOff":4, "x":11, "y":11},
{"t":"stone_colossus", "lOff":8, "x":6, "y":7 }
],
"mountain":[
{"t":"yeti", "lOff":3, "x":3, "y":3 },
{"t":"golem", "lOff":5, "x":11, "y":4 },
{"t":"yeti", "lOff":4, "x":6, "y":10},
{"t":"golem", "lOff":6, "x":10, "y":10},
{"t":"wolf", "lOff":2, "x":4, "y":7 },
{"t":"frost_giant", "lOff":7, "x":8, "y":7 }
],
"swamp": [
{"t":"spider", "lOff":2, "x":3, "y":4 },
{"t":"spider", "lOff":2, "x":11, "y":3 },
{"t":"witch", "lOff":4, "x":7, "y":11},
{"t":"slime", "lOff":1, "x":2, "y":9 },
{"t":"zombie", "lOff":3, "x":10, "y":9 },
{"t":"lich", "lOff":8, "x":12, "y":2 },
{"t":"hydra", "lOff":7, "x":5, "y":6 }
],
"ruins": [
{"t":"ghost", "lOff":3, "x":3, "y":3 },
{"t":"ghost", "lOff":3, "x":10, "y":4 },
{"t":"ghost", "lOff":4, "x":5, "y":10},
{"t":"wyvern", "lOff":5, "x":11, "y":10},
{"t":"wyvern", "lOff":6, "x":12, "y":3 },
{"t":"skeleton", "lOff":2, "x":2, "y":9 },
{"t":"zombie", "lOff":3, "x":9, "y":11},
{"t":"shadow_assassin", "lOff":8, "x":7, "y":7 }
],
"abyss": [
{"t":"shadow_assassin", "lOff":7, "x":3, "y":3 },
{"t":"lich", "lOff":8, "x":11, "y":3 },
{"t":"ghost", "lOff":6, "x":2, "y":11},
{"t":"chaos_lord", "lOff":12,"x":7, "y":5 }
]
},
"npcs": {
"village": [
{"name":"Торговец", "x":2, "y":5, "color":"#3498db", "type":"shop"},
{"name":"Стражник", "x":5, "y":1, "color":"#8b0000", "type":"quest"},
{"name":"Целитель", "x":10, "y":3, "color":"#27ae60", "type":"healer"},
{"name":"Старик", "x":8, "y":8, "color":"#aaa", "type":"quest"}
],
"tavern": [
{"name":"Трактирщик", "x":7, "y":5, "color":"#c8a060", "type":"branch"}
],
"forest": [{"name":"Эльф", "x":10, "y":10, "color":"#2ecc71", "type":"quest"}],
"dungeon": [{"name":"Призрак", "x":7, "y":7, "color":"#aaffff", "type":"quest"}],
"swamp": [{"name":"Шаман", "x":3, "y":3, "color":"#8e44ad", "type":"quest"}],
"mountain": [{"name":"Старик", "x":5, "y":5, "color":"#aaa", "type":"quest"}],
"ruins": [{"name":"Страж", "x":6, "y":6, "color":"#88aacc", "type":"quest"}]
},
"decos": {
"village": [
{"x":2, "y":2, "type":"house"},
{"x":11, "y":2, "type":"house"},
{"x":2, "y":9, "type":"house"},
{"x":4, "y":6, "type":"tree"},
{"x":10, "y":6, "type":"tree"},
{"x":12, "y":8, "type":"tree"},
{"x":3, "y":4, "type":"fountain"},
{"x":8, "y":2, "type":"well"},
{"x":7, "y":9, "type":"tavern", "name":"Таверна"},
{"x":7, "y":9, "type":"portal", "destination":"tavern", "name":"🍺 Таверна"},
{"x":13, "y":7, "type":"portal", "destination":"forest", "name":"Лес"},
{"x":7, "y":13, "type":"portal", "destination":"dungeon", "name":"Подземелье"},
{"x":1, "y":7, "type":"portal", "destination":"cave", "name":"Пещера"},
{"x":13, "y":1, "type":"portal", "destination":"mountain", "name":"Горы"},
{"x":1, "y":13, "type":"portal", "destination":"swamp", "name":"Болото"},
{"x":13, "y":13, "type":"portal", "destination":"ruins", "name":"Руины"}
],
"tavern": [
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"🚪 Выход"},
{"x":3, "y":3, "type":"torch"},
{"x":11, "y":3, "type":"torch"},
{"x":3, "y":10, "type":"torch"},
{"x":11, "y":10, "type":"torch"},
{"x":4, "y":6, "type":"table"},
{"x":4, "y":8, "type":"table"},
{"x":10, "y":6, "type":"table"},
{"x":10, "y":8, "type":"table"}
],
"forest": [
{"x":2, "y":2, "type":"tree"},
{"x":4, "y":3, "type":"tree"},
{"x":6, "y":4, "type":"tree"},
{"x":8, "y":5, "type":"tree"},
{"x":10, "y":6, "type":"tree"},
{"x":12, "y":7, "type":"tree"},
{"x":4, "y":4, "type":"rock"},
{"x":10, "y":10, "type":"rock"},
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"Деревня"}
],
"dungeon": [
{"x":1, "y":1, "type":"pillar"},
{"x":13, "y":1, "type":"pillar"},
{"x":1, "y":13, "type":"pillar"},
{"x":13, "y":13, "type":"pillar"},
{"x":4, "y":4, "type":"torch"},
{"x":9, "y":4, "type":"torch"},
{"x":4, "y":9, "type":"torch"},
{"x":9, "y":9, "type":"torch"},
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"Деревня"}
],
"cave": [
{"x":2, "y":2, "type":"crystal"},
{"x":11, "y":3, "type":"crystal"},
{"x":8, "y":8, "type":"crystal"},
{"x":3, "y":11, "type":"crystal"},
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"Деревня"}
],
"mountain": [
{"x":3, "y":3, "type":"rock"},
{"x":10, "y":3, "type":"rock"},
{"x":5, "y":8, "type":"rock"},
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"Деревня"}
],
"swamp": [
{"x":2, "y":2, "type":"rock"},
{"x":11, "y":4, "type":"rock"},
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"Деревня"}
],
"ruins": [
{"x":2, "y":2, "type":"pillar"},
{"x":11, "y":2, "type":"pillar"},
{"x":2, "y":11, "type":"pillar"},
{"x":11, "y":11, "type":"pillar"},
{"x":5, "y":5, "type":"rock"},
{"x":8, "y":3, "type":"rock"},
{"x":3, "y":8, "type":"rock"},
{"x":10, "y":9, "type":"rock"},
{"x":4, "y":4, "type":"torch"},
{"x":9, "y":4, "type":"torch"},
{"x":4, "y":9, "type":"torch"},
{"x":7, "y":13, "type":"portal", "destination":"village", "name":"Деревня"},
{"x":7, "y":1, "type":"portal", "destination":"abyss", "name":"Бездна"}
],
"abyss": [
{"x":2, "y":2, "type":"pillar"},
{"x":12, "y":2, "type":"pillar"},
{"x":2, "y":12, "type":"pillar"},
{"x":12, "y":12, "type":"pillar"},
{"x":4, "y":4, "type":"torch"},
{"x":10, "y":4, "type":"torch"},
{"x":4, "y":10, "type":"torch"},
{"x":10, "y":10, "type":"torch"},
{"x":7, "y":13, "type":"portal", "destination":"ruins", "name":"Руины"}
]
},
"weather": {
"village": ["none","none","rain","sunny"],
"tavern": ["none"],
"forest": ["rain","rain","fog","none"],
"dungeon": ["none","fog"],
"cave": ["none","fog"],
"mountain": ["snow","snow","none"],
"swamp": ["fog","fog","rain"],
"ruins": ["fog","fog","none"],
"abyss": ["fog","fog","fog"]
},
"dialogs": {
"Трактирщик": {
"start": {
"text": "Добро пожаловать в «Золотой Кубок»! Что желаете?",
"opts": [
{ "label": "Отдохнуть (20 🪙)", "next": "rest", "cost": 20 },
{ "label": "Купить напиток (10 🪙)", "next": "drink", "cost": 10 },
{ "label": "Послушать слухи", "next": "rumors" },
{ "label": "До свидания", "next": null }
]
},
"rest": {
"text": "Хорошо, комната готова. Ложитесь — утром будете как новенький!",
"opts": [{ "label": "Спасибо!", "next": null, "reward": { "hp": 9999, "mp": 9999 } }]
},
"drink": {
"text": "Вот кружка доброго эля. Придаст сил на бой!",
"opts": [{ "label": "За удачу!", "next": null, "reward": { "buff": "str" } }]
},
"rumors": {
"text": "Говорят, в Руинах видели странный свет по ночам... А ещё что Бездна всё расширяется. Путники туда заходят — и не возвращаются.",
"opts": [{ "label": "Занятно...", "next": null }]
}
},
"Стражник": {
"start": { "text":"Путник! Тут неспокойно. Гоблины снова шалят в лесу. Чем могу помочь?",
"opts": [
{ "label":"📍 Расскажи о локациях", "next":"lore" },
{ "label":"💰 Заплатить за совет (15 💰)", "next":"tip", "cost":15 },
{ "label":"❌ Ничего, спасибо", "next":null }
]},
"lore": { "text":"Лес к северу опасен — там волки и гоблины. В подземелье орудует нежить. В пещере — дракон. На болоте засела Ведьма. Горы охраняет Голем.",
"opts": [
{ "label":"Понятно, спасибо", "next":null }
]},
"tip": { "text":"Тайный совет: Паук ядовит — возьми антидот. Голем неуязвим к физике, только магия берёт. Ну и не суйся на болото ночью.",
"opts": [
{ "label":"Ценная информация!", "next":null, "reward":{ "exp":30 } }
]}
},
"Старик": {
"start": { "text":"Хм... Давненько не видел таких юных искателей приключений. Что тебя интересует?",
"opts": [
{ "label":"📖 История Эйдона", "next":"history" },
{ "label":"🧙 Тайны магии", "next":"magic" },
{ "label":"🎁 Благословение (50 💰)", "next":"bless", "cost":50 },
{ "label":"❌ Ничего", "next":null }
]},
"history": { "text":"Эйдон — земля, рождённая из хаоса. Когда-то здесь жили древние маги. Они создали Голема и Лича в качестве стражей. Но амбиции взяли верх, и мир погрузился в войну...",
"opts": [
{ "label":"Что случилось дальше?", "next":"history2" },
{ "label":"Понятно", "next":null }
]},
"history2": { "text":"Войну остановил Первый Герой — он запечатал Лича в болоте, а Голем заснул в горах. Но печать слабеет... Лич снова собирает силы.",
"opts": [
{ "label":"Мне нужно остановить его", "next":null, "reward":{ "exp":50 } }
]},
"magic": { "text":"Магия идёт из земли. Кристаллы пещер — её источники. Но у каждой стихии есть противоположность: огонь слаб против льда, яд — против антидота.",
"opts": [
{ "label":"Полезно знать", "next":null, "reward":{ "exp":25 } }
]},
"bless": { "text":"Пусть удача сопутствует тебе. Прими моё благословение — пусть следующий бой будет в твою пользу.",
"opts": [
{ "label":"Благодарю, мудрец", "next":null, "reward":{ "exp":40, "buff":"def" } }
]}
},
"Эльф": {
"start": { "text":"О, смертный... Ты пришёл в лес в неспокойное время. Что тебе нужно?",
"opts": [
{ "label":"🌿 Собрать травы", "next":"herbs" },
{ "label":"⚔️ Где самые опасные враги?", "next":"danger" },
{ "label":"🎁 Дар природы", "next":"gift" },
{ "label":"❌ Просто проходил мимо", "next":null }
]},
"herbs": { "text":"В этом лесу много целебных трав. Возьми — пригодятся для зелий.",
"opts": [
{ "label":"Спасибо!", "next":null, "reward":{ "item":"herb", "qty":3 } }
]},
"danger": { "text":"Глубже в лес — волки и бандиты. Осторожнее с пауками — их яд силён. А тролль у болота регенерирует — нужен огонь.",
"opts": [
{ "label":"Буду осторожен", "next":null }
]},
"gift": { "text":"Природа даёт дары тем, кто уважает её. Прими этот амулет леса.",
"opts": [
{ "label":"Прекрасно!", "next":null, "reward":{ "exp":60, "item":"slime_gel", "qty":2 } }
]}
},
"Шаман": {
"start": { "text":"Я чувствую силу в тебе... и тьму вокруг. Болото охраняет тайны. Что ты ищешь?",
"opts": [
{ "label":"🧪 Исцели меня", "next":"heal" },
{ "label":"📜 Секрет болота", "next":"secret" },
{ "label":"🔮 Предсказание", "next":"predict" },
{ "label":"❌ Ухожу", "next":null }
]},
"heal": { "text":"Болото очищает. Постой на этой земле... готово, яды ушли.",
"opts": [
{ "label":"Благодарю шаман", "next":null, "reward":{ "cure":true, "hp":30 } }
]},
"secret": { "text":"Ведьма черпает силу из болотных трясин. Вытащи её на твёрдую землю — и она ослабнет. Святой огонь сожжёт её договор с тьмой.",
"opts": [
{ "label":"Это важно", "next":null, "reward":{ "exp":45 } }
]},
"predict": { "text":"Я вижу... тебя окружают враги. Один из них обманет тебя. Но ты победишь. Цена предсказания — немного твоей силы.",
"opts": [
{ "label":"Принять предсказание", "next":null, "reward":{ "exp":35 } }
]}
},
"Призрак": {
"start": { "text":"...ты слышишь меня? Хорошо. Я был солдатом. Погиб здесь давно. Чего ты хочешь, живой?",
"opts": [
{ "label":"Кто ты?", "next":"who" },
{ "label":"Как победить Лича?", "next":"lich" },
{ "label":"Покойся с миром", "next":null }
]},
"who": { "text":"Рядовой Эрик из армии Короля. Мы пришли зачистить подземелье от нежити. Никто не вернулся. Лич поглотил наши души... кроме моей. Я слишком упрямый.",
"opts": [
{ "label":"Мне жаль", "next":"lich" },
{ "label":"Покойся с миром", "next":null }
]},
"lich": { "text":"Лич хранит свою душу в филактерии — магическом сосуде. Пока он цел — Лич не умрёт. Разбей его святым заклинанием... или просто бей достаточно сильно. Удачи тебе, живой.",
"opts": [
{ "label":"Я уничтожу Лича", "next":null, "reward":{ "exp":80 } }
]}
},
"Страж": {
"start": { "text":"Стоп! Ты живой? Странно видеть здесь живых... Руины опасны. Духи воинов и виверны охраняют эти камни. Что тебе нужно?",
"opts": [
{ "label":"Расскажи об этом месте", "next":"history" },
{ "label":"Где найти виверн?", "next":"wyvern" },
{ "label":"Дай задание", "next":"quest" },
{ "label":"Ничего, спасибо", "next":null }
]},
"history": { "text":"Когда-то здесь стоял великий замок короля Эйдора. Армия тьмы уничтожила его за одну ночь. Я был среди защитников. Теперь мы здесь навсегда — ждём героя, который упокоит проклятие.",
"opts": [
{ "label":"Как снять проклятие?", "next":"curse" },
{ "label":"Я помогу", "next":null, "reward":{ "exp":60 } }
]},
"curse": { "text":"Убей Виверну-Матриарха в северо-восточном углу. Она — источник проклятия. Её смерть ослабит духов. Это единственный путь.",
"opts": [
{ "label":"Я её найду", "next":null, "reward":{ "exp":90, "item":"ghost_essence" } }
]},
"wyvern": { "text":"Виверны гнездятся в разрушенных башнях — смотри на северо-восток. Яд виверны — ценный алхимический компонент. Удача тебе нужна больше, чем смелость.",
"opts": [
{ "label":"Спасибо за совет", "next":null, "reward":{ "exp":40 } }
]},
"quest": { "text":"Упокой трёх призраков в этих руинах. Они страдают. Их имена я знаю, но произнести не могу. Просто уничтожь их — это лучшее, что ты можешь сделать.",
"opts": [
{ "label":"Хорошо, займусь этим", "next":null, "reward":{ "exp":50 } }
]}
}
}
}