commit 9367cc817e8985aeab1729d00d7bb901aabccc0a Author: iisaev Date: Thu Sep 10 10:59:40 2026 +0300 init diff --git a/avatars/murakami/fear_1.png b/avatars/murakami/fear_1.png new file mode 100644 index 0000000..041b451 Binary files /dev/null and b/avatars/murakami/fear_1.png differ diff --git a/avatars/murakami/fear_2.png b/avatars/murakami/fear_2.png new file mode 100644 index 0000000..fc07ff4 Binary files /dev/null and b/avatars/murakami/fear_2.png differ diff --git a/avatars/murakami/normal_1.png b/avatars/murakami/normal_1.png new file mode 100644 index 0000000..e685a7b Binary files /dev/null and b/avatars/murakami/normal_1.png differ diff --git a/avatars/murakami/normal_2.png b/avatars/murakami/normal_2.png new file mode 100644 index 0000000..fe32c5a Binary files /dev/null and b/avatars/murakami/normal_2.png differ diff --git a/backgrounds/town/meetingmurakami/00002-1920617752.png b/backgrounds/town/meetingmurakami/00002-1920617752.png new file mode 100644 index 0000000..fa515d2 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00002-1920617752.png differ diff --git a/backgrounds/town/meetingmurakami/00002-1920617752_depth.png b/backgrounds/town/meetingmurakami/00002-1920617752_depth.png new file mode 100644 index 0000000..1d78f01 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00002-1920617752_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00014-1724512349.png b/backgrounds/town/meetingmurakami/00014-1724512349.png new file mode 100644 index 0000000..3778aad Binary files /dev/null and b/backgrounds/town/meetingmurakami/00014-1724512349.png differ diff --git a/backgrounds/town/meetingmurakami/00014-1724512349_depth.png b/backgrounds/town/meetingmurakami/00014-1724512349_depth.png new file mode 100644 index 0000000..422d7be Binary files /dev/null and b/backgrounds/town/meetingmurakami/00014-1724512349_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00024-3950100873.png b/backgrounds/town/meetingmurakami/00024-3950100873.png new file mode 100644 index 0000000..45988d8 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00024-3950100873.png differ diff --git a/backgrounds/town/meetingmurakami/00024-3950100873_depth.png b/backgrounds/town/meetingmurakami/00024-3950100873_depth.png new file mode 100644 index 0000000..60f5e24 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00024-3950100873_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00031-3535505844.png b/backgrounds/town/meetingmurakami/00031-3535505844.png new file mode 100644 index 0000000..ac5bf7c Binary files /dev/null and b/backgrounds/town/meetingmurakami/00031-3535505844.png differ diff --git a/backgrounds/town/meetingmurakami/00031-3535505844_depth.png b/backgrounds/town/meetingmurakami/00031-3535505844_depth.png new file mode 100644 index 0000000..b3dbd0d Binary files /dev/null and b/backgrounds/town/meetingmurakami/00031-3535505844_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00055-1920617752.png b/backgrounds/town/meetingmurakami/00055-1920617752.png new file mode 100644 index 0000000..6eab09b Binary files /dev/null and b/backgrounds/town/meetingmurakami/00055-1920617752.png differ diff --git a/backgrounds/town/meetingmurakami/00055-1920617752_depth.png b/backgrounds/town/meetingmurakami/00055-1920617752_depth.png new file mode 100644 index 0000000..fdf02ad Binary files /dev/null and b/backgrounds/town/meetingmurakami/00055-1920617752_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00078-2783395178.png b/backgrounds/town/meetingmurakami/00078-2783395178.png new file mode 100644 index 0000000..23a596d Binary files /dev/null and b/backgrounds/town/meetingmurakami/00078-2783395178.png differ diff --git a/backgrounds/town/meetingmurakami/00078-2783395178_depth.png b/backgrounds/town/meetingmurakami/00078-2783395178_depth.png new file mode 100644 index 0000000..4885142 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00078-2783395178_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00079-2783395178.png b/backgrounds/town/meetingmurakami/00079-2783395178.png new file mode 100644 index 0000000..9b92301 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00079-2783395178.png differ diff --git a/backgrounds/town/meetingmurakami/00079-2783395178_depth.png b/backgrounds/town/meetingmurakami/00079-2783395178_depth.png new file mode 100644 index 0000000..123749f Binary files /dev/null and b/backgrounds/town/meetingmurakami/00079-2783395178_depth.png differ diff --git a/backgrounds/town/meetingmurakami/00136-3647329618.png b/backgrounds/town/meetingmurakami/00136-3647329618.png new file mode 100644 index 0000000..72afee3 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00136-3647329618.png differ diff --git a/backgrounds/town/meetingmurakami/00136-3647329618_depth.png b/backgrounds/town/meetingmurakami/00136-3647329618_depth.png new file mode 100644 index 0000000..1b38f05 Binary files /dev/null and b/backgrounds/town/meetingmurakami/00136-3647329618_depth.png differ diff --git a/characters/characters.json b/characters/characters.json new file mode 100644 index 0000000..d6e6de6 --- /dev/null +++ b/characters/characters.json @@ -0,0 +1,3 @@ +{ "Items": [ + ${player/murakami} +]} \ No newline at end of file diff --git a/characters/player/murakami.json b/characters/player/murakami.json new file mode 100644 index 0000000..1acd1f7 --- /dev/null +++ b/characters/player/murakami.json @@ -0,0 +1,13 @@ +{ + "Id": "Murakami", + "Name": "characters/player/murakami", + "Image": "characters/player/murakami", + + "Level": 1, + "Point": 2, + "Health": 10, + "Defence": 0, + "Attack": 2, + + "Actions": ["physics/attack", "physics/stun"] +} \ No newline at end of file diff --git a/characters/player/murakami.png b/characters/player/murakami.png new file mode 100644 index 0000000..3e4fcb7 Binary files /dev/null and b/characters/player/murakami.png differ diff --git a/locale/en.properties b/locale/en.properties new file mode 100644 index 0000000..6706650 --- /dev/null +++ b/locale/en.properties @@ -0,0 +1,11 @@ +mod_murakami_name = Murakami +mod_murakami_desc = Murakami line + +meeting_murakami/growl = [A muffled growl came from the darkness] +meeting_murakami/opt_home = Return home +meeting_murakami/opt_alley = Check the alley +quest/meeting/murakami = Meeting Murakami +characters/player/murakami = Murakami +quest/meeting/murakami/0 = I met a wild wolf in the city; it was trying to get into a locked house. +quest/meeting/murakami/1 = I think I saved some girl. +quest/meeting/murakami/2 = The girl is safe. \ No newline at end of file diff --git a/locale/ru.properties b/locale/ru.properties new file mode 100644 index 0000000..42688e9 --- /dev/null +++ b/locale/ru.properties @@ -0,0 +1,11 @@ +mod_murakami_name = Мураками +mod_murakami_desc = Сюжетная линия Мураками + +meeting_murakami/growl = [Из темноты донеслось глухое рычание] +meeting_murakami/opt_home = Вернуться к дому +meeting_murakami/opt_alley = Проверить переулок +quest/meeting/murakami = Встреча с Мураками +characters/player/murakami = Мураками +quest/meeting/murakami/0 = Я встретил дикого волка в городе, он пытался попасть в закрытый дом. +quest/meeting/murakami/1 = Кажется я спас какую то девочку. +quest/meeting/murakami/2 = Девочка в безопасности. \ No newline at end of file diff --git a/locale/scenarios_en.properties b/locale/scenarios_en.properties new file mode 100644 index 0000000..0794a37 --- /dev/null +++ b/locale/scenarios_en.properties @@ -0,0 +1,49 @@ +meeting_murakami/growl = [A muffled growl came from the darkness] +meeting_murakami/opt_home = Return home +meeting_murakami/opt_alley = Check the alley +meeting_murakami/wolf_appear = [A hungry wolf, wandered into the city in search of prey, bared its fangs, blocking the way] +meeting_murakami/marao_scared = - Oh, crap... +meeting_murakami/battle_inevitable = [No doubt remained: a fight was inevitable] +meeting_murakami/after_wolf/tracks = [The wolf was definitely aiming for this house — the tracks led straight to the doorstep] +meeting_murakami/after_wolf/inspect = [Marao decided to inspect the dwelling] +meeting_murakami/after_wolf/opt_approach = Approach the door +meeting_murakami/after_wolf/greeting = - Fair lady! +meeting_murakami/after_wolf/alone = - What are you doing here all alone? +meeting_murakami/after_wolf/dot1 = . +meeting_murakami/after_wolf/dot2 = .. +meeting_murakami/after_wolf/dot3 = ... +meeting_murakami/after_wolf/help = - Help me... +meeting_murakami/after_wolf/inside = - It's in there... inside... +meeting_murakami/after_wolf/fear = [The girl trembles with fear] +meeting_murakami/after_wolf/opt_enter = Enter +meeting_murakami/after_wolf/enter = [Marao, without hesitation, stepped over the threshold] +meeting_murakami/after_wolf/look_around = - Well, well... +meeting_murakami/after_wolf/scream = - AAH?! +meeting_murakami/after_wolf/why = - Why are you go... +meeting_murakami/after_wolf/explain = - Fair lady, it's a long story. Bear with me, I need to check something here. +meeting_murakami/after_wolf/hmm = - Hmm... +meeting_murakami/after_wolf/atmosphere = - The atmosphere here sure is shitty... — [he sniffed] — ass..., ahem, my gut tells me something's off... +meeting_murakami/after_wolf/they_inside = - They're in that room... +meeting_murakami/after_wolf/choose_enter = +meeting_murakami/after_wolf/opt_enter_room = Enter the room +meeting_murakami/after_wolf/werewolf_gaze = [Marao froze, caught off guard by the bloody gleam of werewolf eyes.] +meeting_murakami/after_wolf/inevitable = [Inevitability itself loomed over him in that moment.] +meeting_murakami/after_wolf/oh_shit = - Holy shit... — was all he could exhale. +meeting_murakami/after_boss/whew = - Phew... — Marao wiped his blade. — What a creature... +meeting_murakami/after_boss/dot1 = . +meeting_murakami/after_boss/dot2 = .. +meeting_murakami/after_boss/dot3 = ... +meeting_murakami/after_boss/you_killed = - You... you killed that monster? +meeting_murakami/after_boss/yep = - Yep. Won't bother anyone anymore. +meeting_murakami/after_boss/silence = [Marao fell silent, studying the girl.] +meeting_murakami/after_boss/come_with_me = - Alright. — [he sighed.] — Come with me. I'll take you somewhere safe. +meeting_murakami/after_boss/outside = [They stepped outside. The city greeted them with silence and the smell of ash.] +meeting_murakami/end/arrived = - We're here. +meeting_murakami/end/door_open = [Marao pushed the door open with his shoulder, letting her go first. The hinges creaked pitifully — the door hadn't been opened in a long time.] +meeting_murakami/end/make_yourself = - This is... — [he glanced at the threshold.] — Well, you could call it that. Make yourself at home. +meeting_murakami/end/step_in = [She stepped over the threshold. Her boots cautiously touched the floor — as if she couldn't believe one could actually walk here.] +meeting_murakami/end/dust = [The air was heavy, smelling of dust and something old. Through the cracks in the walls, narrow strips of light broke through, snatching lonely dust motes from the darkness.] +meeting_murakami/end/silence = [Silence. Somewhere above, a floorboard creaked — the old house slowly waking, accepting a new tenant.] +meeting_murakami/end/cozy = - Cozy... — [quietly, almost under her breath.] +meeting_murakami/end/supplies = [Marao glanced sideways at the meager supply bag hanging on the wall. Looks like he'd have to bust his ass even harder for food now.] +meeting_murakami/end/your_home = - Well, — [he muttered, averting his gaze.] — This is your place now too. diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..a7408d1 --- /dev/null +++ b/manifest.json @@ -0,0 +1,8 @@ +{ + "id": "murakami", + "name": "Murakami", + "version": "1.0.0", + "author": "dyn", + "description": "Murakami line", + "depends": [ "core>=1", "interface>=1" ] +} diff --git a/mod.png b/mod.png new file mode 100644 index 0000000..2edfb90 Binary files /dev/null and b/mod.png differ diff --git a/quests/quests.json b/quests/quests.json new file mode 100644 index 0000000..a3b9b3e --- /dev/null +++ b/quests/quests.json @@ -0,0 +1,13 @@ +{ + "Items": [ + { + "Id": "MeetingMurakamiQuest", + "Name": "quest/meeting/murakami", + "StatusToDescription": { + "0": "quest/meeting/murakami/0", + "1": "quest/meeting/murakami/1", + "2": "quest/meeting/murakami/2" + } + } + ] +} diff --git a/scenarios/murakami/meeting/murakami_meeting_after_battle.scenario b/scenarios/murakami/meeting/murakami_meeting_after_battle.scenario new file mode 100644 index 0000000..697e91f --- /dev/null +++ b/scenarios/murakami/meeting/murakami_meeting_after_battle.scenario @@ -0,0 +1,58 @@ +scene: town_entry +priority: 20 +condition: MeetingMurakamiQuest.hasTag("wolf_battle") && MeetingMurakamiQuest.notHasTag("boss_battle") +--- +background "town/meetingmurakami/00002-1920617752" +text "[Волк определённо целился в этот дом — следы вели прямо к порогу]" key=meeting_murakami/after_wolf/tracks + +select "[Марао решил осмотреть жилище]" key=meeting_murakami/after_wolf/inspect +option "Подойти к двери" key=meeting_murakami/after_wolf/opt_approach -> :approach + +:approach +background "town/meetingmurakami/00014-1724512349" +text "- Милая леди!" key=meeting_murakami/after_wolf/greeting first=marao/think +text "- Что вы тут делаете в одиночестве?" key=meeting_murakami/after_wolf/alone first=marao/think +text "." key=meeting_murakami/after_wolf/dot1 +text ".." key=meeting_murakami/after_wolf/dot2 +text "..." key=meeting_murakami/after_wolf/dot3 +text "- Помогите..." key=meeting_murakami/after_wolf/help second=murakami/fear_1 +text "- Оно там... внутри..." key=meeting_murakami/after_wolf/inside second=murakami/fear_2 + +select "[Девушка дрожит от страха]" key=meeting_murakami/after_wolf/fear +option "Войти" key=meeting_murakami/after_wolf/opt_enter -> :enter + +:enter +light_set [{"x":0.8433963,"y":0.037922725,"radius":600,"influence":1,"color":"#ffff00"},{"x":0.29016176,"y":0.16111115,"radius":600,"influence":1,"color":"#ffff00"}] +background "town/meetingmurakami/00079-2783395178" +text "[Марао, не колеблясь, перешагнул порог]" key=meeting_murakami/after_wolf/enter +text "- Так-так..." key=meeting_murakami/after_wolf/look_around first=marao/think + +background "town/meetingmurakami/00078-2783395178" +light_set [{"x":0.8433963,"y":0.037922725,"radius":600,"influence":1,"color":"#ffff00"},{"x":0.29016176,"y":0.16111115,"radius":600,"influence":1,"color":"#ffff00"}] +text "- ААА?!" key=meeting_murakami/after_wolf/scream second=murakami/fear_1 +text "- Почему вы го..." key=meeting_murakami/after_wolf/why second=murakami/fear_1 +text "- Милая леди, это долгая история. Потерпите, мне нужно здесь кое-что проверить." key=meeting_murakami/after_wolf/explain first=marao/what + +background "town/meetingmurakami/00136-3647329618" +light_set +text "- М-да..." key=meeting_murakami/after_wolf/hmm first=marao/think +text "- Атмосфера тут, конечно, хреновая... — [он принюхался] — жоп..., кхм, нутром чую, чё-то не то..." key=meeting_murakami/after_wolf/atmosphere first=marao/think + +action character.add_to_party type=Murakami +action character.send_notification type=Murakami + +text "- Они в той комнате..." key=meeting_murakami/after_wolf/they_inside second=murakami/fear_1 + +select "" key=meeting_murakami/after_wolf/choose_enter +option "Зайти в комнату" key=meeting_murakami/after_wolf/opt_enter_room -> :enter_room + +:enter_room +background "town/meetingmurakami/00031-3535505844" +text "[Марао замер, застигнутый врасплох кровавым блеском вервольфьих глаз.]" key=meeting_murakami/after_wolf/werewolf_gaze +text "[Сама неизбежность нависла над ним в этот миг.]" key=meeting_murakami/after_wolf/inevitable +text "- Твою ж мать... — только и выдохнул он." key=meeting_murakami/after_wolf/oh_shit first=marao/what + +action battle.init scene=town_entry enemies=wolf_2,werewolf_girl_1 quest_id=MeetingMurakamiQuest new_tag=boss_battle + +switch_scene Battle +end \ No newline at end of file diff --git a/scenarios/murakami/meeting/murakami_meeting_after_boss.scenario b/scenarios/murakami/meeting/murakami_meeting_after_boss.scenario new file mode 100644 index 0000000..31c7852 --- /dev/null +++ b/scenarios/murakami/meeting/murakami_meeting_after_boss.scenario @@ -0,0 +1,23 @@ +scene: town_entry +priority: 30 +condition: MeetingMurakamiQuest.hasTag("boss_battle") && MeetingMurakamiQuest.notHasTag("go_home") +--- +background "town/meetingmurakami/00024-3950100873" +text "- Уф-ф... — Марао вытер клинок. — Ну и тварь..." key=meeting_murakami/after_boss/whew first=marao/what + +text "." key=meeting_murakami/after_boss/dot1 second=murakami/fear_2 +text ".." key=meeting_murakami/after_boss/dot2 second=murakami/fear_2 +text "..." key=meeting_murakami/after_boss/dot3 second=murakami/fear_2 +text "- Вы... вы убили этого монстра?" key=meeting_murakami/after_boss/you_killed second=murakami/fear_1 + +text "- Ага. Больше не побеспокоит." key=meeting_murakami/after_boss/yep first=marao/think +text "[Марао помолчал, разглядывая девчонку.]" key=meeting_murakami/after_boss/silence +text "- Ладно. — [вздохнул он.] — Идём со мной. Отведу в безопасное место." key=meeting_murakami/after_boss/come_with_me first=marao/relax + +background "town/meetingmurakami/00024-3950100873" +text "[Они вышли на улицу. Город встретил их тишиной и запахом гари.]" key=meeting_murakami/after_boss/outside + +action quest.add_tag quest_id=MeetingMurakamiQuest tag=go_home +action quest.set_data_status quest_id=MeetingMurakamiQuest level=2 + +end \ No newline at end of file diff --git a/scenarios/murakami/meeting/murakami_meeting_end.scenario b/scenarios/murakami/meeting/murakami_meeting_end.scenario new file mode 100644 index 0000000..a13b90c --- /dev/null +++ b/scenarios/murakami/meeting/murakami_meeting_end.scenario @@ -0,0 +1,17 @@ +scene: home_vestibule +priority: 10 +condition: MeetingMurakamiQuest.IsActive && MeetingMurakamiQuest.hasTag("go_home") +--- +text "- Пришли." key=meeting_murakami/end/arrived first=marao/smile +text "[Марао толкнул дверь плечом, пропуская её вперёд. Петли жалобно скрипнули — дверь давно не открывали.]" key=meeting_murakami/end/door_open +text "- Это... — [оглядел порог.] — Ну, можно и так сказать. Располагайся." key=meeting_murakami/end/make_yourself first=marao/think +text "[Она переступила порог. Ботинки осторожно коснулись пола — будто не веря, что здесь правда можно ходить.]" key=meeting_murakami/end/step_in +text "[Воздух тяжёлый, пахнет пылью и чем-то старым. Сквозь щели в стенах пробиваются узкие полосы света, выхватывая из темноты одинокие пылинки.]" key=meeting_murakami/end/dust +text "[Тишина. Где-то сверху скрипнула доска — старый дом потихоньку просыпается, принимая нового жильца.]" key=meeting_murakami/end/silence +text "- Уютно... — [тихо, почти себе под нос.]" key=meeting_murakami/end/cozy second=murakami/normal_2 +text "[Марао покосился на тощую сумку с припасами, которая висела на стене. Похоже, рвать жопу ради еды теперь придётся ещё больше.]" key=meeting_murakami/end/supplies +text "- Ну что, — [буркнул он, пряча взгляд.] — Это теперь и твоя хата." key=meeting_murakami/end/your_home first=marao/think + +action quest.set_status quest_id=MeetingMurakamiQuest status=End level=3 + +end \ No newline at end of file diff --git a/scenarios/murakami/meeting/murakami_meeting_start.scenario b/scenarios/murakami/meeting/murakami_meeting_start.scenario new file mode 100644 index 0000000..92402c9 --- /dev/null +++ b/scenarios/murakami/meeting/murakami_meeting_start.scenario @@ -0,0 +1,23 @@ +scene: town_entry +priority: 10 +condition: MeetingMurakamiQuest.notHasTag("wolf_battle") +--- +select "[Из темноты донеслось глухое рычание]" key=meeting_murakami/growl +option "Вернуться к дому" key=meeting_murakami/opt_home -> :home +option "Проверить переулок" key=meeting_murakami/opt_alley -> :alley + +:home +switch_scene home_outside +end + +:alley +action quest.set_status quest_id=MeetingMurakamiQuest status=Progress +background "town/meetingmurakami/00055-1920617752" +text "[Голодный волк, забредший в город в поисках поживы, оскалил пасть, преграждая путь]" key=meeting_murakami/wolf_appear +text "- Ох, ёбушки..." key=meeting_murakami/marao_scared first=marao/what +text "[Сомнений не осталось: схватка неизбежна]" key=meeting_murakami/battle_inevitable + +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle + +switch_scene Battle +end \ No newline at end of file