← Updates

Instanced encounters and smarter spells

The big build this stretch is instanced encounters — private lairs you and your party get to yourselves — landing on top of a sharper spell-targeting pass and a clutch of fixes, including one that had been silently dropping connected players out of the world.

Instanced encounters

Some doorways now lead somewhere that’s yours. Walk onto an encounter entrance — a marked tile on a normal map — and you’re transported instantly into a private copy of a lair or boss area. No loading screen, no separate world: you step onto the tile and you’re inside. An exit tile drops you back at the parent level where you came in.

These are deliberately small, focused areas — a den, a boss room — not sprawling mega-dungeons. The design holds a few rules together:

  • Private to your group. Each party (or solo player) gets its own copy. Two parties can be running the same lair at the same moment and never see, hear, or interfere with each other — right down to which doors are open and which secret tiles have been found.
  • Party-capped. A configurable ceiling (five by default) keeps the encounter small-group sized.
  • Facet-independent. Instances live above the usual world shards, so switching facets has no effect on where you stand with a lair.
  • Timed lockout. Each encounter has a reset period measured in hours (roughly weekly out of the box, but tunable). Within a period you stay bound to your instance — leave and come back and you return to the same one.
  • Clears that stick. Kill the boss and the encounter is marked cleared for the rest of the period. Come back before it resets and the trash has repopulated but the boss stays dead — no farming the same boss twice in a window. When the period rolls over, you get a fresh, killable boss again.

Both solo and group runs go through the exact same path, and respawning after death sends you back to the parent level’s safe room rather than stranding you in the instance.

Spells that hit what you mean

Individual-target spells used to strike whichever creature happened to be first on a shared tile. Now a spell locks onto a specific entity, the same way a melee attack does — you target the orc you meant, not its tilemate.

Path-based casts got the same honesty treatment. A bolt now traces its route from the caster, shoving closed doors open as it passes, and fizzles against walls or hidden tiles instead of teleporting through them. (A fizzle on an obstacle doesn’t refund the mana — aim carefully.) Area spells also now open closed doors caught in the blast, matching what already happened when you walked into them — and that finally works for lingering area spells like Fireball, not just instant ones.

Gather-quests that count what you carry

Collection quests now track what you’re actually holding, recomputed from your bag and locker every time items come or go. Drop or sell quest items and the counter ticks back down; a quest that was ready to turn in quietly reverts to active if you no longer have enough. Moving items between bag and locker doesn’t change the count, since your held total is the same either way.

Two related drop bugs got fixed in the same pass: dropping a stack of items now leaves the right number of individual items on the ground instead of collapsing to one, and items dropped on death run through the same shared drop logic — so dying with quest items correctly decrements your progress instead of leaving the quest wedged.

Fixes & polish

  • Sessions no longer go silently dead. A change in the Redis client surfaced idle connections as timeouts after a few seconds, which was tearing down the world’s action loop and the gateway’s push loop — connected players just stopped getting snapshots and stat updates. Idle windows are now handled gracefully and transient drops reconnect on their own.
  • Reconnecting from inside a lair no longer dumps you into a bare, empty copy of the interior map. Interior position isn’t persisted, so a disconnect (even across a facet switch) returns you to the parent entrance.
  • New characters now start at an explicit, configured zone instead of whatever map happened to sort first — which had begun dropping fresh characters straight into a troll lair.
  • Instanced interior maps no longer spawn and tick critters in their shared copy — creatures only populate a real, occupied instance.
  • The loot indicator now draws just above the ground, so objects, creatures, and the visibility mask layer correctly on top of it instead of the icon floating over everything.
  • Added an id debug command that prints your saved encounter instances as a tidy fixed-width table (id, name, and whether you’ve cleared it).