more rooms

more rooms, level editor changes, more logic for ability checks and trigger doors, platform body collision fixes
This commit is contained in:
2026-09-30 12:00:56 +02:00
parent 53fc17338f
commit faa8b16658
9 changed files with 935 additions and 305 deletions
+2 -1
View File
@@ -5,7 +5,8 @@
"jump_light": -12.0,
"jump_shade": -9.0,
"gravity_light": 0.5,
"gravity_shade": 0.4
"gravity_shade": 0.4,
"shade_door_grace": 0.6
},
"resources": {
+67 -23
View File
@@ -93,49 +93,56 @@
"w": 20,
"h": 160,
"group": "trigger",
"layer": 0
"layer": 0,
"quest": "quest_first_kills"
},
{
"x": 1100,
"y": 620,
"w": 320,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 800,
"y": 320,
"w": 160,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 1580,
"y": 320,
"w": 20,
"h": 580,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 1220,
"y": 760,
"w": 360,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 20,
"y": 880,
"w": 1560,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 20,
"y": 640,
"w": 20,
"h": 240,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 160,
@@ -143,28 +150,33 @@
"w": 20,
"h": 240,
"group": "trigger",
"name": "first_quest_complete"
"layer": 0,
"name": "first_quest_complete",
"quest_turned_in": "quest_first_kills"
},
{
"x": 580,
"y": 640,
"w": 20,
"h": 120,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 480,
"y": 740,
"w": 100,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 400,
"y": 400,
"w": 100,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 220,
@@ -172,6 +184,7 @@
"w": 80,
"h": 20,
"group": "moving",
"layer": 0,
"path": [
[
220,
@@ -188,41 +201,48 @@
"y": 220,
"w": 140,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
},
{
"x": 1520,
"y": 640,
"w": 60,
"h": 20,
"group": "ground"
"group": "ground",
"layer": 0
}
],
"enemies": [
{
"x": 600,
"y": 840,
"type": "enemy"
"type": "enemy",
"layer": 0
},
{
"x": 960,
"y": 840,
"type": "enemy"
"type": "enemy",
"layer": 0
},
{
"x": 200,
"y": 580,
"type": "enemy"
"type": "enemy",
"layer": 0
},
{
"x": 520,
"y": 700,
"type": "enemy"
"type": "enemy",
"layer": 0
},
{
"x": 1520,
"y": 840,
"type": "enemy"
"type": "enemy",
"layer": 0
}
],
"npcs": [],
@@ -235,6 +255,28 @@
"object_id": "quest_point",
"layer": 0,
"quest_id": "quest_first_kills"
},
{
"x": 90,
"y": 194,
"type": "reward_chest",
"radius": 180,
"object_id": null,
"layer": 0,
"quest_id": "",
"coins": [
10,
2
]
},
{
"x": 880,
"y": 320,
"type": "light_source",
"radius": 180,
"object_id": "flow_butterfly",
"layer": 0,
"quest_id": ""
}
],
"exits": [
@@ -257,12 +299,14 @@
"y": 780,
"w": 80,
"h": 100,
"to": "",
"spawn_id": "",
"to": "room_04",
"spawn_id": "room4_top_right",
"spawn": [
120,
780
]
1480,
100
],
"hint": "",
"layer": 0
}
],
"ability_doors": [],
@@ -0,0 +1,308 @@
{
"name": "room_04",
"display_name": "room_04",
"meta": {
"id": "room_04",
"name": "room_04"
},
"bounds": {},
"player_spawn": [
1440,
100
],
"entry_spawns": {
"room4_top_right": [
1480,
100
],
"hazard_respawn": [
1080,
180
],
"room4_bottom_left": [
120,
620
],
"room4_bottom_right": [
1480,
640
]
},
"platforms": [
{
"x": 1340,
"y": 160,
"w": 260,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 160,
"y": 0,
"w": 1440,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 1580,
"y": 20,
"w": 20,
"h": 140,
"group": "ground",
"layer": 0
},
{
"x": 1340,
"y": 180,
"w": 20,
"h": 60,
"group": "ground",
"layer": 0
},
{
"x": 1020,
"y": 240,
"w": 340,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 920,
"y": 240,
"w": 100,
"h": 20,
"group": "hazard",
"layer": 0,
"respawn": [
1080,
180
]
},
{
"x": 460,
"y": 240,
"w": 460,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 900,
"y": 260,
"w": 140,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 160,
"y": 20,
"w": 20,
"h": 520,
"group": "ground",
"layer": 0
},
{
"x": 20,
"y": 700,
"w": 1580,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 0,
"y": 520,
"w": 160,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 0,
"y": 540,
"w": 20,
"h": 180,
"group": "ground",
"layer": 0
},
{
"x": 240,
"y": 280,
"w": 180,
"h": 20,
"group": "moving",
"layer": 0,
"path": [
[
240,
280
],
[
240,
640
]
]
},
{
"x": 460,
"y": 260,
"w": 20,
"h": 280,
"group": "ground",
"layer": 0
},
{
"x": 480,
"y": 300,
"w": 880,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 1340,
"y": 320,
"w": 20,
"h": 220,
"group": "ground",
"layer": 0
},
{
"x": 460,
"y": 540,
"w": 20,
"h": 160,
"group": "trigger",
"layer": 0,
"name": "close_when_pass",
"lock_when_pass": true,
"open_on_miniboss_dead": true
},
{
"x": 1340,
"y": 540,
"w": 20,
"h": 160,
"group": "trigger",
"layer": 0,
"name": "open_miniboss_dead",
"open_on_miniboss_dead": true
},
{
"x": 1360,
"y": 520,
"w": 240,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 1580,
"y": 540,
"w": 20,
"h": 160,
"group": "ground",
"layer": 0
},
{
"x": 720,
"y": 620,
"w": 60,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 820,
"y": 540,
"w": 60,
"h": 20,
"group": "ground",
"layer": 0
}
],
"enemies": [
{
"x": 760,
"y": 200,
"type": "enemy",
"layer": 0
},
{
"x": 880,
"y": 640,
"type": "miniboss",
"layer": 0
}
],
"npcs": [],
"props": [
{
"x": 560,
"y": 240,
"type": "save_point",
"radius": 90,
"object_id": "lamp"
}
],
"exits": [
{
"x": 1500,
"y": 60,
"w": 80,
"h": 100,
"to": "room_03",
"spawn_id": "room3_bottom_left",
"spawn": [
140,
800
],
"hint": "",
"layer": 0
},
{
"x": 20,
"y": 600,
"w": 80,
"h": 100,
"to": "room_06",
"spawn_id": "room6_top_right",
"spawn": [
520,
240
],
"hint": "",
"layer": 0
},
{
"x": 1500,
"y": 600,
"w": 80,
"h": 100,
"to": "room_05",
"spawn_id": "room5_top_left",
"spawn": [
120,
120
],
"hint": "",
"layer": 0
}
],
"ability_doors": [
{
"x": 160,
"y": 540,
"w": 20,
"h": 160,
"layer": 0,
"kind": "shade"
}
],
"room_w": 1600,
"room_h": 900
}
@@ -0,0 +1,154 @@
{
"name": "room_05",
"display_name": "room_05",
"meta": {
"id": "room_05",
"name": "room_05"
},
"bounds": {},
"player_spawn": [
140,
100
],
"entry_spawns": {
"room5_top_left": [
120,
120
],
"room5_bottom_right": [
1400,
440
]
},
"platforms": [
{
"x": 0,
"y": 180,
"w": 240,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 0,
"y": 0,
"w": 20,
"h": 180,
"group": "ground",
"layer": 0
},
{
"x": 20,
"y": 0,
"w": 1520,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 340,
"y": 180,
"w": 240,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 700,
"y": 180,
"w": 200,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 860,
"y": 500,
"w": 680,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 1520,
"y": 380,
"w": 20,
"h": 120,
"group": "ground",
"layer": 0
},
{
"x": 1320,
"y": 360,
"w": 220,
"h": 20,
"group": "ground",
"layer": 0
},
{
"x": 1520,
"y": 20,
"w": 20,
"h": 340,
"group": "ground",
"layer": 0
}
],
"enemies": [
{
"x": 520,
"y": 140,
"type": "enemy",
"layer": 0
},
{
"x": 1000,
"y": 460,
"type": "enemy",
"layer": 0
}
],
"npcs": [],
"props": [
{
"x": 1400,
"y": 360,
"type": "save_point",
"radius": 90,
"object_id": "lamp"
}
],
"exits": [
{
"x": 20,
"y": 80,
"w": 80,
"h": 100,
"to": "room_06",
"spawn_id": "room4_bottom_right",
"spawn": [
1480,
640
],
"hint": "",
"layer": 0
},
{
"x": 1440,
"y": 400,
"w": 80,
"h": 100,
"to": "",
"spawn_id": "",
"spawn": [
1440,
400
],
"hint": "",
"layer": 0
}
],
"ability_doors": [],
"room_w": 1600,
"room_h": 900
}
@@ -0,0 +1,92 @@
{
"name": "room_06",
"display_name": "room_06",
"meta": {
"id": "room_06",
"name": "room_06"
},
"bounds": {},
"player_spawn": [
480,
240
],
"entry_spawns": {
"room6_top_right": [
520,
240
]
},
"platforms": [
{
"x": 0,
"y": 300,
"w": 660,
"h": 20,
"group": "ground"
},
{
"x": 420,
"y": 180,
"w": 240,
"h": 20,
"group": "ground"
},
{
"x": 640,
"y": 200,
"w": 20,
"h": 100,
"group": "ground"
},
{
"x": 420,
"y": 0,
"w": 20,
"h": 180,
"group": "ground"
},
{
"x": 0,
"y": 0,
"w": 420,
"h": 20,
"group": "ground"
},
{
"x": 0,
"y": 20,
"w": 20,
"h": 280,
"group": "ground"
}
],
"enemies": [],
"npcs": [],
"props": [
{
"x": 140,
"y": 260,
"type": "quest_giver",
"radius": 180,
"object_id": "quest_point",
"quest_id": "first_kills_shade"
}
],
"exits": [
{
"x": 560,
"y": 200,
"w": 80,
"h": 100,
"to": "room_04",
"spawn_id": "room4_bottom_left",
"spawn": [
120,
620
]
}
],
"ability_doors": [],
"room_w": 1600,
"room_h": 900
}