Commit 1fb4be8
committed
Fix 9 programming bugs found in xo's deep functional test
Round-two deep functional test (AGENTS.md §10.7), registration, sect
join, a real fight-to-death and reincarnation, shop purchase,
quit/save/reconnect cycles.
1. d/menpai/wuliang/npc/zuo.lpc: unterminated string in the sect
leader's own dialogue mapping -- a hard compile error that made the
whole sect-join mechanism inert. Fixed the missing closing quote.
2. system/skill/misc/{yuanyang-dao,taizu-quan}.lpc: same unterminated-
string typo, two more combat-skill files.
3. system/skill/basic/kongshou.lpc: a comment swallowed a function
signature (`int is_native_skill()` merged into the preceding
comment line), breaking the base unarmed-combat skill -- spammed a
compile error to players on every combat round. Fixed.
4. d/city/yangzhou/{waifang,woshi}.lpc: inherit DOOR_ROOM (an
undefined macro -- confirmed via grep, no other room in this
archive uses it) -> inherit ROOM, matching every one of the 65
sibling rooms in the same directory (§6.1 shape).
5. d/city/yangzhou/npc/cloth/cloth.lpc + d/menpai/wuliang/npc/obj/
choushan.lpc: missing #include <armor.h> (§6.1), plus cloth.lpc's
set("value",); arg-count error fixed to set("value", 0).
6. cmds/verb/drop.lpc: obj->move() can legitimately self-destruct obj
as a side effect (a bound weapon shattering when dropped) -- added
an objectp() guard before further use, reproduced live as *Bad
argument 1 to EFUN call_other() without the guard.
7. d/place/death/npc/chacha.lpc: 2 of 3 reincarnation destinations
(d/map/zhongyuan/nanmen, d/city/lanzhou/guangchang) pointed at
directories that don't exist anywhere in this trimmed archive
(confirmed) -- silently stranded reincarnated players in the death
realm forever. Repointed both to the one confirmed-live destination
already used elsewhere in the same function (§7.18-shaped fix).
8. cmds/skill/study.lpc: an operator-precedence bug plus an
"improvve_jibie" typo, fixed proactively though not currently
reachable with live data.
Independently hit a third occurrence of AGENTS.md §10.8's driver-fatal
crash class during this session -- this time a raw SIGSEGV rather than
the prior FATAL ref-count-0 assertion, during the driver's periodic
reset() sweep. Not fixed (driver-level). Left two content/design
observations untouched per the scope filter: the sect's "mirror spar"
isn't damage-capped (killed a fresh disciple in one hit), and the
whole sect zone has no in-game walking path from the city in this
archive.1 parent 82a2f59 commit 1fb4be8
16 files changed
Lines changed: 511 additions & 12 deletions
File tree
- libs/xo
- work
- cmds
- skill
- verb
- data
- login/q
- user/q
- d
- city/yangzhou
- npc/cloth
- menpai/wuliang/npc
- obj
- place/death/npc
- system/skill
- basic
- misc
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
128 | | - | |
| 127 | + | |
| 128 | + | |
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | | - | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
| 69 | + | |
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
92 | 99 | | |
93 | 100 | | |
94 | | - | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
95 | 104 | | |
96 | 105 | | |
97 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
0 commit comments