diff --git a/Semesterprojekt/docs/enhancement-ideas.md b/Semesterprojekt/docs/enhancement-ideas.md index 0990c2f..c404a7e 100644 --- a/Semesterprojekt/docs/enhancement-ideas.md +++ b/Semesterprojekt/docs/enhancement-ideas.md @@ -86,8 +86,13 @@ Farb-Rollen: Items / NPCs / Exits / Heading / Gefahr. > ✅ #3.2 umgesetzt (Branch `feature/quests`): condition-driven Quests > (Quest/QuestStage), QuestEngine mit Auto-Advance + Ansagen, START_QUEST-Effekt, > Konsolen-Befehl `quests` und GUI-Quest-Box unter der Karte. Demo-Quest -> `restore_power`. Offen: #3.3 Win-Condition/Enden sowie Licht/Dunkelheit & -> Item-Kombination. +> `restore_power`. +> +> ✅ #3.3 umgesetzt (Branch `feature/endings`): priorisierte, condition-driven +> Enden (`endings.yaml`) + End-Screen mit Summary (Züge, Quests X/Y, Rang). +> Demo: Sieg-Ende (`manor_secured`) und Flucht-Ende (Front Door → `fled`). +> **Damit ist das Quest-System (#3) komplett.** Offen: Licht/Dunkelheit & +> Item-Kombination sowie #4 Content-Ausbau. - Aktuelles NPC-System: Begrüßung + Geschenk-Reaktion (Item → Item). diff --git a/Semesterprojekt/src/main/resources/world/endings.yaml b/Semesterprojekt/src/main/resources/world/endings.yaml new file mode 100644 index 0000000..cab9b91 --- /dev/null +++ b/Semesterprojekt/src/main/resources/world/endings.yaml @@ -0,0 +1,14 @@ +- id: victory + title: "The Manor Reclaimed" + victory: true + when: [{ flag: manor_secured }] + text: | + The lights hold steady and the whispers fade to nothing. Whatever held + this place has loosened its grip. The manor is yours now. +- id: fled + title: "Into the Night" + victory: false + when: [{ flag: fled }] + text: | + You wrench the front door open and bolt into the dark. Safe — but the + manor keeps its secrets, and they will keep you awake for years. diff --git a/Semesterprojekt/src/main/resources/world/items.yaml b/Semesterprojekt/src/main/resources/world/items.yaml index 70a52d5..8db6c63 100644 --- a/Semesterprojekt/src/main/resources/world/items.yaml +++ b/Semesterprojekt/src/main/resources/world/items.yaml @@ -34,3 +34,15 @@ You pull the lever back; the manor falls dark again. effects: - { setFlag: power_on } + +- type: switchable + id: front_door + name: Front Door + description: The heavy front door. It would let you leave the manor for good. + initialState: false + onText: | + You haul the front door open and step out into the cold night. + offText: | + You ease the door shut again. + effects: + - { setFlag: fled } diff --git a/Semesterprojekt/src/main/resources/world/rooms.yaml b/Semesterprojekt/src/main/resources/world/rooms.yaml index 2ce13cb..0fb43ef 100644 --- a/Semesterprojekt/src/main/resources/world/rooms.yaml +++ b/Semesterprojekt/src/main/resources/world/rooms.yaml @@ -7,7 +7,7 @@ north: hallway east: cellar south: dungeon - items: [letter, lamp] + items: [letter, lamp, front_door] npcs: [old_man] exitLocks: - direction: east