From 1ec659038901c9c7a20938b3d6955469394d361e Mon Sep 17 00:00:00 2001 From: Halica Date: Mon, 21 Sep 2026 21:30:11 +0200 Subject: [PATCH] smol changes title screen town, boss drop for repeat, quest rewards --- .../__pycache__/pygame_test.cpython-312.pyc | Bin 0 -> 288134 bytes pygame test/data/world/rooms/room_02.json | 2 +- .../world/rooms/room_town_gloomreach.json | 6 +- pygame test/pygame_test.py | 413 +++++++++++++++++- 4 files changed, 410 insertions(+), 11 deletions(-) create mode 100644 pygame test/__pycache__/pygame_test.cpython-312.pyc diff --git a/pygame test/__pycache__/pygame_test.cpython-312.pyc b/pygame test/__pycache__/pygame_test.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d7229544a760928b1e7494b9c76f56d094b7095 GIT binary patch literal 288134 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

GSu7}0GZvBuo? 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 literal 0 HcmV?d00001 diff --git a/pygame test/data/world/rooms/room_02.json b/pygame test/data/world/rooms/room_02.json index 05f820a..7e86d0e 100644 --- a/pygame test/data/world/rooms/room_02.json +++ b/pygame test/data/world/rooms/room_02.json @@ -150,7 +150,7 @@ "type": "enemy", "pos": [ 480, - -580 + -530 ] }, { diff --git a/pygame test/data/world/rooms/room_town_gloomreach.json b/pygame test/data/world/rooms/room_town_gloomreach.json index f3ae7e3..731a677 100644 --- a/pygame test/data/world/rooms/room_town_gloomreach.json +++ b/pygame test/data/world/rooms/room_town_gloomreach.json @@ -29,10 +29,10 @@ 80, 60 ], - "to": "room_reward_01", + "to": "room_07", "spawn": [ - 1700, - 260 + -1000, + 2720 ], "hint": "Back" } diff --git a/pygame test/pygame_test.py b/pygame test/pygame_test.py index 8c4c308..5124f8d 100644 --- a/pygame test/pygame_test.py +++ b/pygame test/pygame_test.py @@ -220,6 +220,27 @@ def load_json_safe(filename: str, roots: list[Path], default: dict) -> dict: print(f"[JSON load failed] {p} -> {e} (using defaults)") return deepcopy(default) + +# ---------------------------- +# Broken ability doors (in-memory, resets on restart) +# ---------------------------- +BROKEN_DOORS: set[str] = set() + + +def broken_door_key(room_id: str, rect) -> str: + return f"{room_id}:{int(rect[0])},{int(rect[1])},{int(rect[2])},{int(rect[3])}" + + +def is_door_broken(room_id: str, rect) -> bool: + return broken_door_key(room_id, rect) in BROKEN_DOORS + + +def mark_door_broken(room_id: str, rect): + if not room_id: + return + BROKEN_DOORS.add(broken_door_key(room_id, rect)) + + # ---------------------------- # Game config (numbers & colors) # ---------------------------- @@ -1153,6 +1174,7 @@ class Projectile: continue if self.rect.colliderect(d.rect): d.open = True + mark_door_broken(getattr(d, "room_id", None), d.rect) self.t = 0 return @@ -1532,9 +1554,10 @@ class CoinPickup: class AbilityDoor: - def __init__(self, rect: pygame.Rect): + def __init__(self, rect: pygame.Rect, room_id: str | None = None): self.rect = rect self.open = False + self.room_id = room_id def draw(self, surface, cx, cy): if self.open: @@ -1544,6 +1567,18 @@ class AbilityDoor: pygame.draw.rect(surface, (40, 80, 40), r, 2) +def spawn_ability_doors(room) -> list[AbilityDoor]: + out = [] + for d in room.ability_doors: + if not isinstance(d, dict): + continue + rect = pygame.Rect(*map(int, d.get("rect", [0, 0, 0, 0]))) + door = AbilityDoor(rect, room_id=room.id) + door.open = is_door_broken(room.id, rect) + out.append(door) + return out + + class RewardChest: def __init__(self, x, y, opened=False, coins=(0, 0)): self.rect = pygame.Rect(int(x), int(y), 40, 26) @@ -4594,8 +4629,7 @@ pickup_feed = PickupFeed(font, max_lines=int(_ui(["pickup_feed", "max_lines"], 6 enemies = spawn_enemies_from_room(ROOM) npcs = spawn_npcs_from_room(ROOM) -ability_doors = [AbilityDoor(pygame.Rect(*map(int, d.get("rect", [0, 0, 0, 0])))) - for d in ROOM.ability_doors if isinstance(d, dict)] +ability_doors = spawn_ability_doors(ROOM) loot_drops: list[LootPickup] = [] shockwaves: list[Shockwave] = [] coin_drops: list[CoinPickup] = [] @@ -4706,6 +4740,9 @@ def apply_room(room: Room, set_player_spawn=True): ground_platforms = ROOM.ground_platforms platforms = ROOM.platforms + if is_town_room(ROOM): + town_title.trigger(ROOM.id, town_display_name(ROOM)) + loot_drops = [] shockwaves = [] coin_drops = [] @@ -4720,8 +4757,7 @@ def apply_room(room: Room, set_player_spawn=True): ROOM_COIN_MULT = 1.0 enemies = spawn_enemies_from_room(ROOM) npcs = spawn_npcs_from_room(ROOM) - ability_doors = [AbilityDoor(pygame.Rect(*map(int, d.get("rect", [0, 0, 0, 0])))) - for d in ROOM.ability_doors if isinstance(d, dict)] + ability_doors = spawn_ability_doors(ROOM) reward_chest = None reward_ability = None @@ -4797,6 +4833,368 @@ def mark_boss_defeated(room_id: str): DEFEATED_BOSSES.add(room_id) +# ---------------------------- +# Quest system +# ---------------------------- +def draw_token_icon(surface, x: int, y: int, size: int = 16): + """Placeholder quest-token icon: a red triangle.""" + cx = x + size // 2 + pygame.draw.polygon(surface, (220, 45, 45), [(cx, y), (x, y + size), (x + size, y + size)]) + pygame.draw.polygon(surface, (120, 10, 10), [(cx, y), (x, y + size), (x + size, y + size)], 1) + + +def _resolve_reward_base(entry: dict): + """Return a base item dict from a reward entry: {item_id} or {slot}.""" + if not isinstance(entry, dict): + return None + item_id = entry.get("item_id") + if item_id: + base = safe_get_item(str(item_id)) + if base: + return base + slot = entry.get("slot") + if slot: + pool = [it for it in ITEM_BY_ID.values() if isinstance(it, dict) and it.get("slot") == slot] + if pool: + return random.choice(pool) + return None + + +def _build_reward_item(entry: dict, rarity_fallback: str = "tempered"): + base = _resolve_reward_base(entry) + if base is None: + return None + rarity = str(entry.get("rarity", rarity_fallback)) + return build_item_instance_any(base, rarity if rarity in RARITIES else None) + + +class Quest: + def __init__(self, qdef: dict): + self.id = str(qdef.get("id", "")) + self.name = str(qdef.get("name", self.id)) + self.description = str(qdef.get("description", "")) + self.qtype = "repeatable" if str(qdef.get("type", "")) == "repeatable" else "one_time" + self.giver = str(qdef.get("giver", "")) + self.objective = dict(qdef.get("objective", {})) if isinstance(qdef.get("objective"), dict) else {} + self.reward = dict(qdef.get("reward", {})) if isinstance(qdef.get("reward"), dict) else {} + + @property + def is_repeatable(self) -> bool: + return self.qtype == "repeatable" + + def guaranteed_item(self) -> dict | None: + """One-time quests: a specific guaranteed reward item.""" + g = self.reward.get("guaranteed_item") + return _build_reward_item(g) if isinstance(g, dict) else None + + def pool_entries(self) -> list[dict]: + pool = self.reward.get("pool") + return [e for e in pool if isinstance(e, dict)] if isinstance(pool, list) else [] + + def roll_pool_item(self) -> dict | None: + """Repeatable quests: weighted random item from the loot pool.""" + weighted = [] + for e in self.pool_entries(): + item = _build_reward_item(e) + if item is not None: + weighted.append((item, float(e.get("weight", 1.0)))) + if not weighted: + return None + total = sum(w for _, w in weighted) + if total <= 0: + return weighted[0][0] + r = random.random() * total + acc = 0.0 + for item, w in weighted: + acc += w + if r < acc: + return item + return weighted[-1][0] + + def redeem_pool_item(self, pool_index: int) -> dict | None: + """Choose a specific item from the repeatable pool by index (for token redemption).""" + entries = self.pool_entries() + if pool_index < 0 or pool_index >= len(entries): + return None + return _build_reward_item(entries[pool_index]) + + def token_count(self) -> int: + return max(0, int(self.reward.get("token_count", 1 if self.is_repeatable else 0))) + + +class QuestManager: + def __init__(self): + self.quests: dict[str, Quest] = {} + self.active: dict[str, dict] = {} # quest_id -> {"progress": int} + self.completed_one_time: set[str] = set() + self.tokens = 0 + + def register(self, qdef: dict) -> Quest | None: + q = Quest(qdef) + if q.id: + self.quests[q.id] = q + return q + return None + + def register_all(self, qdefs): + for qd in qdefs: + if isinstance(qd, dict): + self.register(qd) + + def get(self, quest_id: str) -> Quest | None: + return self.quests.get(quest_id) + + def quests_from(self, giver_id: str) -> list[Quest]: + return [q for q in self.quests.values() if q.giver == giver_id] + + def can_accept(self, quest_id: str) -> bool: + q = self.quests.get(quest_id) + if q is None: + return False + if q.is_repeatable: + return quest_id not in self.active + return quest_id not in self.completed_one_time and quest_id not in self.active + + def accept(self, quest_id: str) -> bool: + if not self.can_accept(quest_id): + return False + self.active[quest_id] = {"progress": 0} + return True + + def progress(self, quest_id: str, amount: int = 1) -> bool: + st = self.active.get(quest_id) + if st is None: + return False + st["progress"] = int(st.get("progress", 0)) + max(0, int(amount)) + return True + + def _target_count(self, q: Quest) -> int: + return max(1, int(q.objective.get("count", 1))) + + def is_complete(self, quest_id: str) -> bool: + q = self.quests.get(quest_id) + st = self.active.get(quest_id) + if q is None or st is None: + return False + return int(st.get("progress", 0)) >= self._target_count(q) + + def _complete(self, quest_id: str): + q = self.quests[quest_id] + self.active.pop(quest_id, None) + if q.is_repeatable: + self.tokens += q.token_count() + else: + self.completed_one_time.add(quest_id) + + def turn_in(self, quest_id: str) -> dict | None: + """Called by the quest giver: completes the quest and returns the reward item.""" + q = self.quests.get(quest_id) + if q is None or not self.is_complete(quest_id): + return None + self._complete(quest_id) + return q.roll_pool_item() if q.is_repeatable else q.guaranteed_item() + + def add_tokens(self, amount: int): + self.tokens += max(0, int(amount)) + + def spend_tokens(self, amount: int) -> bool: + amount = max(0, int(amount)) + if self.tokens < amount: + return False + self.tokens -= amount + return True + + def redeem(self, quest_id: str, pool_index: int, cost: int = 1) -> dict | None: + """Spend tokens to pick a specific item from a repeatable quest's pool.""" + q = self.quests.get(quest_id) + if q is None or not q.is_repeatable: + return None + item = q.redeem_pool_item(pool_index) + if item is None or not self.spend_tokens(cost): + return None + return item + + +QUEST_DEFS_DEFAULT = [ + { + "id": "quest_forest_cleanup", + "name": "Forest Cleanup", + "description": "Clear 5 enemies from the forest.", + "type": "repeatable", + "giver": "npc:hunter", + "objective": {"kind": "kill", "target": "enemy", "count": 5}, + "reward": { + "token_count": 1, + "pool": [ + {"slot": "helmet", "rarity": "tempered", "weight": 1.0}, + {"slot": "chest", "rarity": "tempered", "weight": 1.0}, + {"slot": "pants", "rarity": "tempered", "weight": 1.0}, + ], + }, + }, + { + "id": "quest_first_slayer", + "name": "The First Slayer", + "description": "Defeat the miniboss of the lower depths.", + "type": "one_time", + "giver": "npc:combat_master", + "objective": {"kind": "kill", "target": "miniboss", "count": 1}, + "reward": { + "guaranteed_item": {"slot": "chest", "rarity": "attuned"}, + }, + }, +] + +quest_manager = QuestManager() +quest_manager.register_all(QUEST_DEFS_DEFAULT) + + +# ---------------------------- +# Boss trophy collection / re-fight / upgrades +# ---------------------------- +BOSS_DEFS_DEFAULT = { + "boss_01": { + "name": "Gloom Warden", + "room": "room_boss_01.json", + "trophy_name": "Warden's Heart", + }, +} + + +class BossTrophy: + def __init__(self, boss_id: str, name: str, tier: int = 0): + self.boss_id = str(boss_id) + self.name = str(name) + self.tier = int(tier) # 0 = base, higher = upgraded (harder) difficulty + + def upgrade(self) -> int: + self.tier += 1 + return self.tier + + +class BossCollection: + def __init__(self): + self.trophies: dict[str, BossTrophy] = {} + self.defeated: set[str] = set() + + def add_trophy(self, boss_id: str, name: str = "") -> BossTrophy: + t = self.trophies.get(boss_id) + if t is None: + t = BossTrophy(boss_id, name or boss_id) + self.trophies[boss_id] = t + self.defeated.add(boss_id) + return t + + def has_trophy(self, boss_id: str) -> bool: + return boss_id in self.trophies + + def get(self, boss_id: str) -> BossTrophy | None: + return self.trophies.get(boss_id) + + def upgrade(self, boss_id: str) -> int | None: + """Combat Master: upgrade a trophy so a harder version can be fought.""" + t = self.trophies.get(boss_id) + return t.upgrade() if t is not None else None + + def refight(self, boss_id: str) -> bool: + """Re-enable this boss for a re-fight. Returns True if it was defeated.""" + if boss_id not in self.defeated: + return False + self.defeated.discard(boss_id) + return True + + +def boss_room_id(boss_id: str) -> str | None: + bd = BOSS_DEFS_DEFAULT.get(boss_id) + return str(bd.get("room")) if isinstance(bd, dict) and bd.get("room") else None + + +def clear_boss_defeated(room_id: str): + """Allow a boss room to be re-fought by clearing its runtime defeated flag.""" + DEFEATED_BOSSES.discard(room_id) + + +def refight_boss(boss_id: str) -> bool: + """Re-fight a collected boss: clears its defeated flag so it respawns.""" + if not boss_collection.refight(boss_id): + return False + room = boss_room_id(boss_id) + if room: + clear_boss_defeated(room) + return True + + +boss_collection = BossCollection() + + +# ---------------------------- +# Town title banner +# ---------------------------- +TOWN_NPC_TYPES = ("vendor", "upgrader", "necklace_vendor", "combat_master") + +TOWN_DISPLAY_NAMES = { + "room_town_gloomreach.json": "Gloomreach", +} + + +def is_town_room(room) -> bool: + """A room counts as a town if marked in meta or it contains town NPCs.""" + meta = getattr(room, "meta", {}) or {} + if meta.get("is_town") or meta.get("town"): + return True + for n in getattr(room, "npcs", []) or []: + if isinstance(n, dict) and n.get("type") in TOWN_NPC_TYPES: + return True + return False + + +def town_display_name(room) -> str: + name = TOWN_DISPLAY_NAMES.get(getattr(room, "id", "")) + if name: + return name + meta = getattr(room, "meta", {}) or {} + return str(meta.get("display_name") or meta.get("name") or getattr(room, "id", "")) + + +class TownTitleBanner: + def __init__(self, font_obj: pygame.font.Font): + self.font = font_obj + self.title_font = pygame.font.SysFont(None, 64) + self.text = "" + self.timer = 0.0 + self.duration = 3.0 + self.seen: set[str] = set() + + def trigger(self, town_id: str, town_name: str): + if town_id in self.seen: + return + self.seen.add(town_id) + self.text = town_name + self.timer = self.duration + + def update(self, dt: float): + if self.timer > 0: + self.timer = max(0.0, self.timer - dt) + + @property + def active(self) -> bool: + return self.timer > 0 + + def draw(self, surface: pygame.Surface): + if not self.active or not self.text: + return + alpha = 255 + if self.timer < 0.5: + alpha = int(255 * (self.timer / 0.5)) + title_surf = self.title_font.render(self.text, True, (240, 235, 210)).convert_alpha() + title_surf.set_alpha(alpha) + x = (WIDTH - title_surf.get_width()) // 2 + y = int(HEIGHT * 0.28) # upper half of the screen + surface.blit(title_surf, (x, y)) + + +town_title = TownTitleBanner(font) + # ---------------------------- # Main loop @@ -4812,6 +5210,7 @@ while running: dt = clock.tick(60) / 1000.0 if not paused: pickup_feed.update(dt) + town_title.update(dt) for e in pygame.event.get(): @@ -5148,8 +5547,7 @@ while running: tether_shots = [] player.shatterstep_landing_pending = False player.shatterstep_landing_damage = 0.0 - ability_doors = [AbilityDoor(pygame.Rect(*map(int, d.get("rect", [0, 0, 0, 0])))) - for d in ROOM.ability_doors if isinstance(d, dict)] + ability_doors = spawn_ability_doors(ROOM) # Update enemies for en in enemies: @@ -5487,6 +5885,7 @@ while running: inv_ui.draw(screen) trade_ui.draw(screen) pickup_feed.draw(screen) + town_title.draw(screen) pygame.display.flip()