You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix 6 bugs found in nitan6's deep functional test (F_DBASE bootstrapping trap + type-mismatch)
Ported nitan170911's 4 documented F_DBASE bare-call fixes (AGENTS.md
§7.15) after confirming byte-identical pre-fix shapes:
- feature/name.lpc, feature/command.lpc: this_object() redirects on
bare set()/query() calls, which otherwise silently hit the shared
simul_efun dbase instead of the caller's own.
- adm/daemons/databased.lpc: guarded db_restore_all()'s ten
restore_variable() calls against NULL/unpopulated DB columns.
- adm/kernel/simul_efun/message.lpc: forward prototype + varargs so
tell_room()/etc. bind to the local exclude-normalizing wrapper
instead of the raw efun.
Found a 5th instance of the same F_DBASE class (missed by nitan170911's
own pass): feature/apprentice.lpc's sect/family accessors were reading
and writing the shared dbase, corrupting every character's family data.
Live-reproduced (a character's 门派 field changed with no bai ever
succeeding) and fixed identically.
Also fixed a new, unrelated bug: d/city/npc/gongzi.lpc and guidao.lpc
called is_killing(who) with an object where feature/attack.lpc's
is_killing() takes a string id, a hard compile-time type mismatch that
silently prevented these NPCs from ever spawning. Fixed to match the
query("id", who) convention used at every other call site.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VyQCUoTo1Z93Py9aVFHQi1
0 commit comments