Dungeon system
Dungeon world nodes now open temporary expedition instances rather than granting an immediate reward.
Implemented:
- Five-room dungeon progression.
- Entrance chamber.
- Trap room.
- Elite encounter.
- Skill-check puzzle.
- Final boss fight.
- Strength, Intelligence, and Charisma checks.
- Equipment-aware combat calculations.
- Weapon and armour durability loss.
- Solo difficulty.
- Guild difficulty with stronger enemies and better rewards.
- Three daily solo attempts per dungeon.
- Two daily guild attempts per dungeon.
- Guild membership validation.
- Two-hour temporary instance lifetime.
- Server-side location validation before entry.
- Server-authoritative room actions and rewards.
- Dungeon health tracking.
- Failure state when health reaches zero.
- Dungeon completion XP and gold.
- Rare dungeon equipment drops.
- Quest-event integration for dungeon completion.
- Automatic cleanup of expired instances.
Equipment investigation
The equip issue was caused by two separate equipment storage systems.
Earlier characters and starter items were stored in:
dodst_player_inventory
The newer equipment interface only operated on:
dodst_equipment_items
Items visible in the general inventory therefore had no matching equipment record that the Equip endpoint could own or update.
Equipment fixes
- Legacy weapons and armour are migrated into the authoritative equipment table.
- Rusty Sword migration.
- Traveller’s Clothes migration to Traveller’s Armour.
- Equip buttons now appear directly in the main Inventory.
- Unequip buttons now appear for equipped items.
- Added a server-side Unequip endpoint.
- Dedicated Equipment screen now supports Equip and Unequip.
- Inventory refreshes after equipment changes.
- Equipment screen refreshes after dungeon rewards.
- Level requirements use XP-derived character level.
- Broken-item restrictions remain server-authoritative.
- Maximum-health equipment bonuses are recalculated when equipping or unequipping.
- Progression synchronization now preserves equipment health bonuses.
