From 89d41e7714a3e788e670f646c7875b0ac719b4a0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 25 Jul 2026 22:14:12 +0000 Subject: [PATCH] Expand guest corridor and add lobby/hallway room access Widen the 24th-floor hallway with east/west wings and north alcoves so there is more space to explore. Connect registration and the tower elevator lobby directly to the guest floor and Room 24-118 (key-gated), and align hallway NPCs with the north room door. Co-authored-by: Jack J Burleson // LJM --- docs/rpg/js/data/maps/guest_corridor.json | 129 ++++++++++++++++-- docs/rpg/js/data/maps/hotel_tower.json | 39 ++++++ docs/rpg/js/data/maps/registration_lobby.json | 45 ++++++ docs/rpg/js/data/npcs.json | 28 +++- docs/rpg/js/data/triggers.json | 20 +++ scripts/_author_maps.py | 54 +++++++- 6 files changed, 293 insertions(+), 22 deletions(-) diff --git a/docs/rpg/js/data/maps/guest_corridor.json b/docs/rpg/js/data/maps/guest_corridor.json index e9da0d1..a489faa 100644 --- a/docs/rpg/js/data/maps/guest_corridor.json +++ b/docs/rpg/js/data/maps/guest_corridor.json @@ -11,10 +11,38 @@ "rects": [ { "tile": "CARPET", - "x": 11, + "x": 9, "y": 2, - "w": 8, + "w": 12, "h": 26 + }, + { + "tile": "CARPET", + "x": 3, + "y": 11, + "w": 7, + "h": 8 + }, + { + "tile": "CARPET", + "x": 20, + "y": 11, + "w": 7, + "h": 8 + }, + { + "tile": "CARPET", + "x": 5, + "y": 4, + "w": 5, + "h": 4 + }, + { + "tile": "CARPET", + "x": 20, + "y": 4, + "w": 5, + "h": 4 } ], "decor": [ @@ -22,24 +50,76 @@ "tile": "PLANT", "points": [ [ - 12, - 6 + 10, + 8 + ], + [ + 19, + 8 + ], + [ + 10, + 22 ], [ - 17, - 6 + 19, + 22 ], [ - 12, - 20 + 6, + 15 ], [ - 17, - 20 + 24, + 15 ] ] } ], + "signs": [ + { + "x": 15, + "y": 26.2, + "text": "ELEVATORS ↓", + "color": "#ffe890", + "stroke": "#684810" + }, + { + "x": 15, + "y": 3.4, + "text": "ROOM 24-118 ↑", + "color": "#ffe890", + "stroke": "#684810" + }, + { + "x": 5, + "y": 14.5, + "text": "← LOBBY", + "color": "#a8e8ff", + "stroke": "#184868" + }, + { + "x": 24.5, + "y": 14.5, + "text": "SUITE WING →", + "color": "#ffe890", + "stroke": "#684810" + }, + { + "x": 7, + "y": 5.5, + "text": "24-112", + "color": "#ffe890", + "stroke": "#684810" + }, + { + "x": 23, + "y": 5.5, + "text": "24-124", + "color": "#ffe890", + "stroke": "#684810" + } + ], "clear": [ { "tile": "CARPET", @@ -48,6 +128,27 @@ "w": 3, "h": 3 }, + { + "tile": "CARPET", + "x": 6, + "y": 1, + "w": 3, + "h": 3 + }, + { + "tile": "CARPET", + "x": 22, + "y": 1, + "w": 3, + "h": 3 + }, + { + "tile": "CARPET", + "x": 2, + "y": 14, + "w": 3, + "h": 3 + }, { "tile": "CARPET", "x": 14, @@ -73,6 +174,14 @@ "toY": 26, "message": "Room 24-118 — key card.", "requiresRoomKey": true + }, + { + "x": 3, + "y": 15, + "to": "registration_lobby", + "toX": 8, + "toY": 4, + "message": "West elevators down to registration." } ] } diff --git a/docs/rpg/js/data/maps/hotel_tower.json b/docs/rpg/js/data/maps/hotel_tower.json index 6d59ae6..8d5dd55 100644 --- a/docs/rpg/js/data/maps/hotel_tower.json +++ b/docs/rpg/js/data/maps/hotel_tower.json @@ -54,6 +54,29 @@ ] } ], + "signs": [ + { + "x": 15, + "y": 3.4, + "text": "GUEST FLOOR ↑", + "color": "#ffe890", + "stroke": "#684810" + }, + { + "x": 21, + "y": 3.4, + "text": "ROOM 24-118 ↑", + "color": "#ffe890", + "stroke": "#684810" + }, + { + "x": 15, + "y": 26.2, + "text": "REGISTRATION ↓", + "color": "#a8e8ff", + "stroke": "#184868" + } + ], "clear": [ { "tile": "LOBBY", @@ -82,6 +105,13 @@ "y": 14, "w": 3, "h": 3 + }, + { + "tile": "LOBBY", + "x": 20, + "y": 2, + "w": 3, + "h": 3 } ], "doors": [ @@ -116,6 +146,15 @@ "toX": 15, "toY": 26, "message": "Skyfall Lounge, 43rd floor." + }, + { + "x": 21, + "y": 2, + "to": "guest_room", + "toX": 15, + "toY": 26, + "message": "Express to Room 24-118 — key card.", + "requiresRoomKey": true } ] } diff --git a/docs/rpg/js/data/maps/registration_lobby.json b/docs/rpg/js/data/maps/registration_lobby.json index f4f7720..54789c7 100644 --- a/docs/rpg/js/data/maps/registration_lobby.json +++ b/docs/rpg/js/data/maps/registration_lobby.json @@ -139,6 +139,20 @@ "text": "BLVD ↓", "color": "#a8e8ff", "stroke": "#184868" + }, + { + "x": 8, + "y": 4.5, + "text": "GUEST FLOOR ↑", + "color": "#a8e8ff", + "stroke": "#184868" + }, + { + "x": 21, + "y": 4.5, + "text": "ROOM 24-118 ↑", + "color": "#ffe890", + "stroke": "#684810" } ], "clear": [ @@ -169,6 +183,20 @@ "y": 14, "w": 3, "h": 3 + }, + { + "tile": "LOBBY", + "x": 7, + "y": 2, + "w": 3, + "h": 3 + }, + { + "tile": "LOBBY", + "x": 20, + "y": 2, + "w": 3, + "h": 3 } ], "doors": [ @@ -203,6 +231,23 @@ "toX": 15, "toY": 26, "message": "Gold elevators to the tower." + }, + { + "x": 8, + "y": 3, + "to": "guest_corridor", + "toX": 3, + "toY": 15, + "message": "Guest elevators — 24th floor." + }, + { + "x": 21, + "y": 3, + "to": "guest_room", + "toX": 15, + "toY": 26, + "message": "Express lift — Room 24-118.", + "requiresRoomKey": true } ] } diff --git a/docs/rpg/js/data/npcs.json b/docs/rpg/js/data/npcs.json index 41b5373..1901cdb 100644 --- a/docs/rpg/js/data/npcs.json +++ b/docs/rpg/js/data/npcs.json @@ -496,7 +496,7 @@ { "id": "clerk_carmen", "name": "Clerk Carmen", - "x": 15, + "x": 12, "y": 9, "sprite": "npc_pink", "dialogueId": "clerk_carmen_greet", @@ -518,8 +518,8 @@ { "id": "housekeeper_hana", "name": "Housekeeper Hana", - "x": 15, - "y": 12, + "x": 18, + "y": 14, "sprite": "npc_green", "dialogueId": "housekeeper_hana_greet", "direction": "down", @@ -538,12 +538,30 @@ { "id": "hotel_room_door", "name": "Room 24-118", - "x": 12, - "y": 8, + "x": 15, + "y": 3, "sprite": "npc_gold", "dialogueId": "hotel_room_door", "encounter": "hotel_hallway", + "direction": "down" + }, + { + "id": "neighbor_ned", + "name": "Neighbor Ned", + "x": 7, + "y": 5, + "sprite": "npc_silver", + "dialogueId": "tourist_tina", "direction": "right" + }, + { + "id": "neighbor_nora", + "name": "Neighbor Nora", + "x": 23, + "y": 5, + "sprite": "npc_pink", + "dialogueId": "tourist_tina", + "direction": "left" } ], "guest_room": [ diff --git a/docs/rpg/js/data/triggers.json b/docs/rpg/js/data/triggers.json index c21aace..c9dc480 100644 --- a/docs/rpg/js/data/triggers.json +++ b/docs/rpg/js/data/triggers.json @@ -141,6 +141,26 @@ "type": "zone_message", "message": "Room 24-118. The drapes are open on the whole valley." }, + { + "id": "tower_elevator_lobby", + "mapId": "hotel_tower", + "x": 14, + "y": 20, + "width": 3, + "height": 1, + "type": "zone_message", + "message": "Gold elevators — guest floor, Delano bridge, and the lounge above." + }, + { + "id": "guest_corridor_arrival", + "mapId": "guest_corridor", + "x": 14, + "y": 20, + "width": 3, + "height": 1, + "type": "zone_message", + "message": "24th floor — ice machines hum behind brass room numbers." + }, { "id": "back_of_house", "mapId": "staff_corridor", diff --git a/scripts/_author_maps.py b/scripts/_author_maps.py index ec7d007..e5bb8a7 100644 --- a/scripts/_author_maps.py +++ b/scripts/_author_maps.py @@ -133,18 +133,25 @@ def sign(x, y, text, color="#ffe890", stroke="#684810"): sign(4.5, 12.5, "\u2190 VALET", **COOL_SIGN), sign(25.5, 12.5, "TOWER \u2192"), sign(15, 26.2, "BLVD \u2193", **COOL_SIGN), + sign(8, 4.5, "GUEST FLOOR \u2191", **COOL_SIGN), + sign(21, 4.5, "ROOM 24-118 \u2191"), ], "clear": [ rect("LOBBY", 14, 2, 3, 3), rect("LOBBY", 14, 26, 3, 3), rect("LOBBY", 2, 14, 3, 3), rect("LOBBY", 25, 14, 3, 3), + rect("LOBBY", 7, 2, 3, 3), + rect("LOBBY", 20, 2, 3, 3), ], "doors": [ door(15, 27, "strip_sidewalk", 15, 4, "Out to the Boulevard."), door(15, 3, "main_resort", 15, 26, "Casino floor — north."), door(2, 15, "valet_garage", 15, 26, "Down to the garage."), door(27, 15, "hotel_tower", 15, 26, "Gold elevators to the tower."), + door(8, 3, "guest_corridor", 3, 15, "Guest elevators — 24th floor."), + door(21, 3, "guest_room", 15, 26, "Express lift — Room 24-118.", + requiresRoomKey=True), ], }, { @@ -427,17 +434,25 @@ def sign(x, y, text, color="#ffe890", stroke="#684810"): rect("BAR", 12, 7, 7, 1), points("PLANT", [(5, 6), (24, 6), (5, 24), (24, 24)]), ], + "signs": [ + sign(15, 3.4, "GUEST FLOOR \u2191"), + sign(21, 3.4, "ROOM 24-118 \u2191"), + sign(15, 26.2, "REGISTRATION \u2193", **COOL_SIGN), + ], "clear": [ rect("LOBBY", 14, 26, 3, 3), rect("LOBBY", 14, 2, 3, 3), rect("LOBBY", 2, 14, 3, 3), rect("LOBBY", 25, 14, 3, 3), + rect("LOBBY", 20, 2, 3, 3), ], "doors": [ door(15, 27, "registration_lobby", 26, 15, "Down to registration."), door(15, 2, "guest_corridor", 15, 26, "Guest floor — 24th."), door(2, 15, "delano_wing", 26, 15, "Sky bridge to the Delano wing."), door(27, 15, "skyfall_lounge", 15, 26, "Skyfall Lounge, 43rd floor."), + door(21, 2, "guest_room", 15, 26, "Express to Room 24-118 — key card.", + requiresRoomKey=True), ], }, { @@ -446,15 +461,36 @@ def sign(x, y, text, color="#ffe890", stroke="#684810"): "bgm": "lobby", "spawn": {"x": 15, "y": 26}, "base": "WALL", - "rects": [rect("CARPET", 11, 2, 8, 26)], + "rects": [ + rect("CARPET", 9, 2, 12, 26), + rect("CARPET", 3, 11, 7, 8), + rect("CARPET", 20, 11, 7, 8), + rect("CARPET", 5, 4, 5, 4), + rect("CARPET", 20, 4, 5, 4), + ], "decor": [ - points("PLANT", [(12, 6), (17, 6), (12, 20), (17, 20)]), + points("PLANT", [(10, 8), (19, 8), (10, 22), (19, 22), (6, 15), (24, 15)]), + ], + "signs": [ + sign(15, 26.2, "ELEVATORS \u2193"), + sign(15, 3.4, "ROOM 24-118 \u2191"), + sign(5, 14.5, "\u2190 LOBBY", **COOL_SIGN), + sign(24.5, 14.5, "SUITE WING \u2192"), + sign(7, 5.5, "24-112"), + sign(23, 5.5, "24-124"), + ], + "clear": [ + rect("CARPET", 14, 1, 3, 3), + rect("CARPET", 6, 1, 3, 3), + rect("CARPET", 22, 1, 3, 3), + rect("CARPET", 2, 14, 3, 3), + rect("CARPET", 14, 26, 3, 3), ], - "clear": [rect("CARPET", 14, 1, 3, 3), rect("CARPET", 14, 26, 3, 3)], "doors": [ door(15, 27, "hotel_tower", 15, 4, "Back to the elevators."), door(15, 2, "guest_room", 15, 26, "Room 24-118 — key card.", requiresRoomKey=True), + door(3, 15, "registration_lobby", 8, 4, "West elevators down to registration."), ], }, { @@ -877,19 +913,23 @@ def sign(x, y, text, color="#ffe890", stroke="#684810"): "dialogueId": "sommelier_sy_greet", "encounter": "bar", "direction": "down"}, ], "hotel_tower": [ - {"id": "clerk_carmen", "name": "Clerk Carmen", "x": 15, "y": 9, "sprite": "npc_pink", + {"id": "clerk_carmen", "name": "Clerk Carmen", "x": 12, "y": 9, "sprite": "npc_pink", "dialogueId": "clerk_carmen_greet", "encounter": "hotel_front_desk", "direction": "down"}, {"id": "concierge_cleo", "name": "Concierge Cleo", "x": 21, "y": 12, "sprite": "npc_teal", "dialogueId": "concierge_cleo_greet", "encounter": "guest_directory", "direction": "left"}, ], "guest_corridor": [ - {"id": "housekeeper_hana", "name": "Housekeeper Hana", "x": 15, "y": 12, + {"id": "housekeeper_hana", "name": "Housekeeper Hana", "x": 18, "y": 14, "sprite": "npc_green", "dialogueId": "housekeeper_hana_greet", "direction": "down", "sight": {"dir": "down", "range": 5}, "challengeDialogueId": "housekeeper_hana_challenge", "schedule": {"late": {"x": 15, "y": 22}}}, - {"id": "hotel_room_door", "name": "Room 24-118", "x": 12, "y": 8, "sprite": "npc_gold", - "dialogueId": "hotel_room_door", "encounter": "hotel_hallway", "direction": "right"}, + {"id": "hotel_room_door", "name": "Room 24-118", "x": 15, "y": 3, "sprite": "npc_gold", + "dialogueId": "hotel_room_door", "encounter": "hotel_hallway", "direction": "down"}, + {"id": "neighbor_ned", "name": "Neighbor Ned", "x": 7, "y": 5, "sprite": "npc_silver", + "dialogueId": "tourist_tina", "direction": "right"}, + {"id": "neighbor_nora", "name": "Neighbor Nora", "x": 23, "y": 5, "sprite": "npc_pink", + "dialogueId": "tourist_tina", "direction": "left"}, ], "guest_room": [ {"id": "room_console", "name": "Room Console", "x": 15, "y": 12, "sprite": "npc_gold",