This commit is contained in:
cthangover committed 2026-10-21 15:10:30 +03:00
commit dd53b6f08a
28 files changed
+631

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
# Line endings: LF everywhere, on every OS, whatever core.autocrlf says.
* text=auto eol=lf
# cmd.exe misreads labels and goto in LF batch files, so they stay CRLF.
*.bat text eol=crlf
*.cmd text eol=crlf
# Binaries: never converted, never diffed as text.
*.png binary
*.jpg binary
*.jpeg binary
*.webp binary
*.svg text
*.ogg binary
*.wav binary
*.mp3 binary
*.ttf binary
*.otf binary
*.woff binary
*.woff2 binary
*.dll binary
*.so binary
*.dylib binary
*.pdb binary
*.exe binary
*.zip binary
*.pck binary
*.moc3 binary
*.res binary
*.scn binary
+52
View File
@@ -0,0 +1,52 @@
{
"Kind": "character",
"Items": [
{
"Id": "rpg_hero",
"Name": "rpg_demo/character/hero",
"Image": "characters/village/hero",
"Level": 1,
"Point": 1,
"Health": 24,
"Defence": 0,
"Attack": 6,
"Actions": [
"physics/attack",
"physics/defence"
]
},
{
"Id": "rpg_slime",
"Name": "rpg_demo/character/slime",
"Image": "characters/village/slime",
"Behaviour": "base",
"Level": 1,
"Point": 1,
"Health": 8,
"Defence": 0,
"Attack": 2,
"Exp": 3,
"RecruitmentChance": 0,
"Actions": [
"physics/attack"
]
},
{
"Id": "rpg_wolf",
"Name": "rpg_demo/character/wolf",
"Image": "characters/village/wolf",
"Behaviour": "base",
"Level": 2,
"Point": 1,
"Health": 22,
"Defence": 0,
"Attack": 4,
"Exp": 12,
"RecruitmentChance": 0,
"Actions": [
"physics/attack",
"physics/defence"
]
}
]
}
+8
View File
@@ -0,0 +1,8 @@
mod_rpg_demo_game_name = RPG Demo
mod_rpg_demo_game_desc = Content of the RPG demo: a village, the elder's house and a forest with a wolf by the cave. Maps, events and scenarios only.
rpg_demo/map/village = Village by the Grey Forest
rpg_demo/map/elder_house = Elder's house
rpg_demo/map/forest = Grey Forest
rpg_demo/character/hero = Hero
rpg_demo/character/slime = Slime
rpg_demo/character/wolf = Wolf
+8
View File
@@ -0,0 +1,8 @@
mod_rpg_demo_game_name = RPG-демо
mod_rpg_demo_game_desc = Содержимое RPG-демо: деревня, дом старосты и лес с волком у пещеры. Только карты, события и сценарии.
rpg_demo/map/village = Деревня у Серого леса
rpg_demo/map/elder_house = Дом старосты
rpg_demo/map/forest = Серый лес
rpg_demo/character/hero = Герой
rpg_demo/character/slime = Слизень
rpg_demo/character/wolf = Волк
+19
View File
@@ -0,0 +1,19 @@
rpg_demo/chest/empty = Empty. You already took everything.
rpg_demo/elder/quest_1 = "So you came. Listen: a wolf has settled by the cave in the forest. Kills goats, howls at night, looks at me funny."
rpg_demo/elder/quest_2 = "Go east, past the pond, along the path. Drive it off, and so be it, I will stop waking you up."
rpg_demo/elder/thanks_1 = "The wolf is gone? Well, well. I did not believe in you, and you went and ruined it."
rpg_demo/elder/thanks_2 = "Off you go. Now you may sleep till noon. Not a minute longer."
rpg_demo/chest/forest = A chest in the forest. Inside: dried mushrooms and someone's lost hope. You take the mushrooms.
rpg_demo/chest/house = In the chest: old socks and a note saying "Don't touch". Too late.
rpg_demo/door/locked = Locked. Behind the door someone is trying very hard to pretend nobody is home.
rpg_demo/merchant/line1 = "The shop is closed. Out of goods, out of conscience. Come back when they bring both."
rpg_demo/slime/line1 = A slime blocks the path and gurgles defiantly.
rpg_demo/sign/village = "East: the Grey Forest. West: also a forest, but we don't go there."
rpg_demo/villager/line1 = "They say there are slimes in the forest. Small ones, but it's insulting when they crawl into your boot."
rpg_demo/wolf/line1 = A wolf sits by the cave. It looks you over the way it looks at the elder's goats.
rpg_demo/wolf/line2 = "Grrr."
rpg_demo/house/enter = The house smells of herbs, wax and, a little, of the elder.
rpg_demo/forest/enter = The Grey Forest. It is quiet the way it is only quiet where someone is being eaten.
rpg_demo/intro/title = The Village by the Grey Forest
rpg_demo/intro/line1 = Morning. The roosters went hoarse before dawn, and the elder has already sent the boy for you three times.
rpg_demo/intro/controls = Walk with WASD or the arrows. Talk, open and read with E or F.
+19
View File
@@ -0,0 +1,19 @@
rpg_demo/chest/empty = Пусто. Ты уже всё забрал.
rpg_demo/elder/quest_1 = — Явился. Слушай: у пещеры в лесу поселился волк. Режет коз, воет по ночам, на меня смотрит косо.
rpg_demo/elder/quest_2 = — Иди на восток, мимо пруда, по тропе. Прогони его — и я, так и быть, перестану тебя будить.
rpg_demo/elder/thanks_1 = — Волка нет? Ну надо же. Я в тебя не верил, а ты взял и всё испортил.
rpg_demo/elder/thanks_2 = — Ступай. Теперь можешь спать до полудня. Не дольше.
rpg_demo/chest/forest = Сундук в лесу. Внутри — сухие грибы и чья-то потерянная надежда. Грибы ты берёшь.
rpg_demo/chest/house = В сундуке — старые носки и записка: «Не трогай». Поздно.
rpg_demo/door/locked = Заперто. За дверью кто-то очень старательно делает вид, что его нет.
rpg_demo/merchant/line1 = — Лавка закрыта. Товар закончился, совесть тоже. Приходи, когда привезут и то, и другое.
rpg_demo/slime/line1 = Слизень перегородил тропу и булькает с вызовом.
rpg_demo/sign/village = «На восток — Серый лес. На запад — тоже лес, но мы туда не ходим».
rpg_demo/villager/line1 = — Говорят, в лесу слизни. Мелкие, а обидно, когда в сапог заползают.
rpg_demo/wolf/line1 = У пещеры сидит волк. Он оглядывает тебя, как старостину козу.
rpg_demo/wolf/line2 = — Р-р-р.
rpg_demo/house/enter = В доме пахнет травами, воском и немного — старостой.
rpg_demo/forest/enter = Серый лес. Здесь тихо так, как бывает тихо только там, где кого-то едят.
rpg_demo/intro/title = Деревня у Серого леса
rpg_demo/intro/line1 = Утро. Петухи охрипли ещё до рассвета, а староста уже трижды присылал за тобой мальчишку.
rpg_demo/intro/controls = Ходить — WASD или стрелки. Говорить, открывать, читать — E или F.
+9
View File
@@ -0,0 +1,9 @@
{
"id": "rpg_demo_game",
"name": "RPG Demo",
"version": "1.0.0",
"author": "ct",
"description": "Content of the RPG demo (collection rpg_demo): a village, the elder's house and a forest with a wolf at the cave, made of rpg_map files over the village_pack tileset. Shows teleports, talking NPCs, events that change with story flags, chests, a map monster with a win flag and random encounters in the forest. Only data and scenarios, no C#.",
"category": "story",
"depends": ["rpg>=1", "village_pack>=1", "characters_base>=1", "dialog_base>=1"]
}
+105
View File
@@ -0,0 +1,105 @@
{
"Kind": "rpg_map",
"Items": [
{
"Id": "rpg_elder_house",
"Name": "rpg_demo/map/elder_house",
"Tileset": "village",
"Width": 12,
"Height": 10,
"Zoom": 2,
"Layers": {
"Back": [
"7 7 7 7 7 7 7 7 7 7 7 7",
"7 7 7 7 7 7 7 7 7 7 7 7",
"7 7 7 7 7 7 7 7 7 7 7 7",
"7 7 7 7 7 7 7 7 7 7 7 7",
"7 7 7 7 6 6 6 6 7 7 7 7",
"7 7 7 7 6 6 6 6 7 7 7 7",
"7 7 7 7 6 6 6 6 7 7 7 7",
"7 7 7 7 7 7 7 7 7 7 7 7",
"7 7 7 7 7 7 7 7 7 7 7 7",
"7 7 7 7 7 7 7 7 7 7 7 7"
],
"Main": [
"16 16 16 16 16 16 16 16 16 16 16 16",
"16 16 16 17 16 16 16 16 17 16 16 16",
"16 31 31 . . . . . . . 31 16",
"16 . . . . . . . . . . 16",
"16 . . . . . . . . . . 16",
"16 . . . . . . . . . . 16",
"16 . . . . . . . . . . 16",
"16 . . . . . . . . . . 16",
"16 . . . . . . . . . . 16",
"16 16 16 16 16 16 18 16 16 16 16 16"
],
"Front": [
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . .",
". . . . . . . . . . . ."
]
},
"Collision": [],
"Spawn": {
"X": 6,
"Y": 8,
"Dir": "Up"
},
"Events": [
{
"Id": "exit",
"X": 6,
"Y": 9,
"Trigger": "Touch",
"Teleport": {
"Map": "rpg_village",
"X": 6,
"Y": 7,
"Dir": "Down"
}
},
{
"Id": "elder_quest",
"X": 6,
"Y": 3,
"Sprite": "village/elder",
"Dir": "Down",
"Scenario": "rpg_demo/events/elder_quest",
"Condition": "rpg_wolf_dead != 1"
},
{
"Id": "elder_thanks",
"X": 6,
"Y": 3,
"Sprite": "village/elder",
"Dir": "Down",
"Scenario": "rpg_demo/events/elder_thanks",
"Condition": "rpg_wolf_dead == 1"
},
{
"Id": "chest",
"X": 9,
"Y": 7,
"Tile": 14,
"Scenario": "rpg_demo/events/house_chest",
"Condition": "rpg_house_chest != 1"
},
{
"Id": "chest_open",
"X": 9,
"Y": 7,
"Tile": 15,
"Scenario": "rpg_demo/events/chest_empty",
"Condition": "rpg_house_chest == 1"
}
]
}
]
}
+154
View File
@@ -0,0 +1,154 @@
{
"Kind": "rpg_map",
"Items": [
{
"Id": "rpg_forest",
"Name": "rpg_demo/map/forest",
"Tileset": "village",
"Width": 28,
"Height": 18,
"Zoom": 2,
"Layers": {
"Back": [
"24 24 24 24 24 24 26 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 26 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 26 24 24 24 24 24 24 24 24 3 3 3 3 3 24 24 24 24 24 24 24 24 24 24 24",
"24 26 24 24 26 24 24 24 24 24 24 24 3 24 26 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 26 24 24 24 24 24 24 24 24 24 24 3 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 3 24 24 24 26 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 3 24 26 24 24 24 24 24 24 24 24 24 24 24 24 24",
" 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 26 24 24 24 24 24",
"24 24 26 24 24 24 24 24 24 24 24 26 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 26 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 26 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24",
"24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24"
],
"Main": [
" . . . . . . . . . . . . . . . . . . . . . . . . . . . .",
" 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . 8 . . . . . . . . . . . . . . 11 . . . . 8",
" 8 . . 8 . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . . . 25 . . . . . . . . . . . 8 . . . . . 8",
" 8 . . . . 8 . . . . . . . . 8 . . . . . . . . . 11 11 11 8",
" 8 . . . . . . . . . . . . . . . . 25 . . . . . . 11 11 11 8",
" . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 8",
" 8 . . . . . 8 . . . . . . . . 11 . . . 8 . . . . 11 11 11 8",
" 8 . . . . . . . . . 8 . . . . . . . . . . . . . . . . 8",
" 8 . . . 8 . . . . . . . . . . . 8 . . . . . . 8 . . . 8",
" 8 . . . . . . . . . . . . . . . . . . . 25 . . . . . . 8",
" 8 . 25 . . . . . 8 . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . . . . . . . . . . . . 8 . . . . . . 8 . 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8"
],
"Front": [
" 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . 9 . . . . . . . . . . . . . . . . . . . 9",
" 9 . . 9 . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . 9 . . . . . 9",
" 9 . . . . 9 . . . . . . . . 9 . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . 22 22 . . 9 . . . . . . . . . . . . 9 . . . . . . . 9",
" 9 . . . . . . . . . 9 . . . . . . . . . . . . . . . . 9",
" 9 . . . 9 . . . . . . . . . . . 9 . . . . . . 9 . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . 9 . . 22 22 22 . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . 9 . . . . . . 9 . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9",
" . . . . . . . . . . . . . . . . . . . . . . . . . . . ."
]
},
"Collision": [
"............................",
"............................",
"............................",
"............................",
"............................",
"............................",
"............................",
"............................",
"..........................#.",
"............................",
"............................",
"............................",
"............................",
"............................",
"............................",
"............................",
"............................",
"............................"
],
"Spawn": {
"X": 1,
"Y": 8,
"Dir": "Right"
},
"Events": [
{
"Id": "to_village",
"X": 0,
"Y": 8,
"Trigger": "Touch",
"Teleport": {
"Map": "rpg_village",
"X": 30,
"Y": 9,
"Dir": "Left"
}
},
{
"Id": "wolf_boss",
"X": 25,
"Y": 8,
"Sprite": "village/wolf",
"Dir": "Left",
"Scenario": "rpg_demo/events/wolf_boss",
"Condition": "rpg_wolf_dead != 1"
},
{
"Id": "chest",
"X": 16,
"Y": 3,
"Tile": 14,
"Scenario": "rpg_demo/events/forest_chest",
"Condition": "rpg_forest_chest != 1"
},
{
"Id": "chest_open",
"X": 16,
"Y": 3,
"Tile": 15,
"Scenario": "rpg_demo/events/chest_empty",
"Condition": "rpg_forest_chest == 1"
},
{
"Id": "slime",
"X": 10,
"Y": 8,
"Sprite": "village/slime",
"Scenario": "rpg_demo/events/slime",
"Condition": "rpg_path_slime != 1"
}
],
"Encounters": {
"Steps": 28,
"Groups": [
"rpg_slime",
"rpg_slime,rpg_slime"
]
}
}
]
}
+157
View File
@@ -0,0 +1,157 @@
{
"Kind": "rpg_map",
"Items": [
{
"Id": "rpg_village",
"Name": "rpg_demo/map/village",
"Tileset": "village",
"Width": 32,
"Height": 18,
"Zoom": 2,
"Layers": {
"Back": [
" 1 0 0 0 0 0 0 0 1 2 0 0 0 2 0 0 0 0 0 2 2 0 0 0 0 0 2 0 0 0 0 0",
" 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0",
" 0 0 0 0 0 0 0 2 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0",
" 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 0 0 0 1 2 2 0 0",
" 1 0 0 1 1 0 1 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 2 2 1 0 1 0 0 0 0 0",
" 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 1 0 0 0 0 0 0",
" 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0",
" 0 0 0 0 0 0 3 0 0 0 1 6 6 6 6 6 6 6 6 6 0 3 0 0 1 0 0 0 0 0 0 0",
" 0 2 0 1 1 0 3 0 0 0 1 6 6 6 6 6 6 6 6 6 0 3 1 0 2 2 0 0 0 0 0 1",
" 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3",
" 0 2 0 1 0 1 1 0 0 0 0 6 6 6 6 6 6 6 6 6 0 0 1 0 0 0 0 1 0 2 0 0",
" 0 0 0 0 0 1 0 1 0 0 0 6 6 6 6 6 6 6 6 6 0 2 0 0 0 1 0 1 1 0 0 0",
" 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 2 1 0 30 30 30 30 30 30 30 0 0",
" 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 3 1 0 2 0 0 0 0 5 5 5 5 5 5 5 0 0",
" 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 3 2 0 0 2 0 0 0 5 5 5 5 5 5 5 0 0",
" 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 3 1 0 0 0 0 0 0 5 5 5 5 5 5 5 0 0",
" 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 2 0 0 0 5 5 5 5 5 5 5 0 0",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0"
],
"Main": [
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .",
" 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8",
" 8 . . . 19 19 19 19 19 19 . . . . . . . . . 19 19 19 19 19 19 . . . . . . 8",
" 8 . . . 19 19 19 19 19 19 . . . . . . . . . 19 19 19 19 19 19 . . . . . . 8",
" 8 . . . 20 20 20 20 20 20 . . . . . . . . . 20 20 20 20 20 20 . . 10 . . . 8",
" 8 . . . 16 17 16 16 17 16 . . . . . . . . . 16 17 16 16 17 16 . . . . . . 8",
" 8 . . . 16 16 18 16 16 16 . . . . . . . . . 16 16 18 16 16 16 . . . 10 . . 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . . . . . . 28 . . . . . 28 . . . . . . . . . . . . 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . . . 10 . . . . . . . . . 31 31 . . . . . . . . . . 8",
" 8 . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . 8",
" 8 . 12 12 12 12 12 12 12 . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . 10 . . . . . . 10 . . . . . . . . . . . . . . . . . . . . 8",
" 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8",
" 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8"
],
"Front": [
" 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . 29 . . . . . 29 . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9",
" 9 . . . . . . . . . . . . . . . . . . . 22 . . . . . . . . . . 9",
" 9 9 9 9 22 22 9 9 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9",
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ."
]
},
"Collision": [
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"................................",
"...............#................"
],
"Spawn": {
"X": 15,
"Y": 14,
"Dir": "Up"
},
"Events": [
{
"Id": "door_elder",
"X": 6,
"Y": 6,
"Trigger": "Touch",
"Teleport": {
"Map": "rpg_elder_house",
"X": 6,
"Y": 8,
"Dir": "Up"
}
},
{
"Id": "door_merchant",
"X": 21,
"Y": 6,
"Trigger": "Action",
"Solid": true,
"Scenario": "rpg_demo/events/locked_door"
},
{
"Id": "to_forest",
"X": 31,
"Y": 9,
"Trigger": "Touch",
"Teleport": {
"Map": "rpg_forest",
"X": 1,
"Y": 8,
"Dir": "Right"
}
},
{
"Id": "sign",
"X": 16,
"Y": 11,
"Tile": 13,
"Scenario": "rpg_demo/events/village_sign"
},
{
"Id": "villager",
"X": 9,
"Y": 10,
"Sprite": "village/villager",
"Dir": "Down",
"Scenario": "rpg_demo/events/villager"
},
{
"Id": "merchant",
"X": 22,
"Y": 8,
"Sprite": "village/merchant",
"Dir": "Left",
"Scenario": "rpg_demo/events/merchant"
}
]
}
]
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

@@ -0,0 +1,2 @@
ptext "Пусто. Ты уже всё забрал." key=rpg_demo/chest/empty
end
@@ -0,0 +1,4 @@
text "— Явился. Слушай: у пещеры в лесу поселился волк. Режет коз, воет по ночам, на меня смотрит косо." key=rpg_demo/elder/quest_1
text "— Иди на восток, мимо пруда, по тропе. Прогони его — и я, так и быть, перестану тебя будить." key=rpg_demo/elder/quest_2
flag rpg_quest_taken 1
end
@@ -0,0 +1,3 @@
text "— Волка нет? Ну надо же. Я в тебя не верил, а ты взял и всё испортил." key=rpg_demo/elder/thanks_1
text "— Ступай. Теперь можешь спать до полудня. Не дольше." key=rpg_demo/elder/thanks_2
end
@@ -0,0 +1,3 @@
ptext "Сундук в лесу. Внутри — сухие грибы и чья-то потерянная надежда. Грибы ты берёшь." key=rpg_demo/chest/forest
flag rpg_forest_chest 1
end
@@ -0,0 +1,3 @@
ptext "В сундуке — старые носки и записка: «Не трогай». Поздно." key=rpg_demo/chest/house
flag rpg_house_chest 1
end
@@ -0,0 +1,2 @@
ptext "Заперто. За дверью кто-то очень старательно делает вид, что его нет." key=rpg_demo/door/locked
end
@@ -0,0 +1,2 @@
text "— Лавка закрыта. Товар закончился, совесть тоже. Приходи, когда привезут и то, и другое." key=rpg_demo/merchant/line1
end
+3
View File
@@ -0,0 +1,3 @@
ptext "Слизень перегородил тропу и булькает с вызовом." key=rpg_demo/slime/line1
action rpg.battle enemies=rpg_slime win_flag=rpg_path_slime
end
@@ -0,0 +1,2 @@
ptext "«На восток — Серый лес. На запад — тоже лес, но мы туда не ходим»." key=rpg_demo/sign/village
end
@@ -0,0 +1,2 @@
text "— Говорят, в лесу слизни. Мелкие, а обидно, когда в сапог заползают." key=rpg_demo/villager/line1
end
@@ -0,0 +1,4 @@
ptext "У пещеры сидит волк. Он оглядывает тебя, как старостину козу." key=rpg_demo/wolf/line1
text "— Р-р-р." key=rpg_demo/wolf/line2
action rpg.battle enemies=rpg_wolf,rpg_slime win_flag=rpg_wolf_dead
end
@@ -0,0 +1,7 @@
scene: rpg_elder_house
priority: 10
is_one_run: true
save_allowed: true
---
ptext "В доме пахнет травами, воском и немного — старостой." key=rpg_demo/house/enter
end
@@ -0,0 +1,7 @@
scene: rpg_forest
priority: 10
is_one_run: true
save_allowed: true
---
ptext "Серый лес. Здесь тихо так, как бывает тихо только там, где кого-то едят." key=rpg_demo/forest/enter
end
@@ -0,0 +1,11 @@
scene: rpg_village
priority: 10
is_one_run: true
save_allowed: true
---
# A new game: the hero joins the party here, the elder's quest starts in his house.
action party.add id=rpg_hero
title "Деревня у Серого леса" key=rpg_demo/intro/title
ptext "Утро. Петухи охрипли ещё до рассвета, а староста уже трижды присылал за тобой мальчишку." key=rpg_demo/intro/line1
ptext "Ходить — WASD или стрелки. Говорить, открывать, читать — E или F." key=rpg_demo/intro/controls
end
+5
View File
@@ -0,0 +1,5 @@
{
"name": "rpg_elder_house",
"defaultBackground": "village/meadow",
"defaultAmbient": ""
}
+5
View File
@@ -0,0 +1,5 @@
{
"name": "rpg_forest",
"defaultBackground": "village/forest",
"defaultAmbient": ""
}
+5
View File
@@ -0,0 +1,5 @@
{
"name": "rpg_village",
"defaultBackground": "village/meadow",
"defaultAmbient": ""
}