RF455-030 rf455 v0.1.1 - 12 class skills are disabled placeholders on the server (Counter Attack, Guard Break, Bull's Eye, Snipe)
De-sync in Skills (Counter Attack, Guard Break, Bull's Eye, Snipe) ,
Claude full report;
rf455 v0.1.1 - 12 class skills are disabled placeholders on the server (Counter Attack, Guard Break, Bull's Eye, Snipe) Symptom A Cora warrior (CWB0 -> CWF1 -> CWS1, Templar) gets Counter Attack at the first class change and Guard Break and Bull's Eye at the second. The client lists them in the Skill window. Using them does nothing: no buff, no error, nothing in the log. Vision, Faith and Grace from the same class work.
Server log (classskill requests are 11/07, first u16 = classskill index):
08:03:02 recv 11/07 320000... -> continuous effect applied {"index": 50, ...} Grace OK 08:03:24 recv 11/07 2b0000... -> continuous effect applied {"index": 43, ...} Faith OK 08:03:29 recv 11/07 2a0000... -> continuous effect applied {"index": 42, ...} Vision OK 08:03:34 recv 11/07 3e0000... -> (nothing) Bull's Eye 08:03:49 recv 11/07 3c0000... -> (nothing) Counter Attack 08:03:52 recv 11/07 3d0000... -> (nothing) Guard Break Cause classskill matches the client's SkillForce.edf class-skill table index for index (504 rows), except at 12 indices. There the client has a real skill and the server has a disabled stub with a different code, no effect, and m_strActableDst = 00000000. The client's codes do not exist anywhere in the server table.
index client (4.55 SkillForce.edf) server classskill 18, 19, 20 7F004 Counter Attack, 7F005 Guard Break, 7F006 Bull's Eye 7F02A/7F02B/7F02C "BW3 1 1/2/3", m_bEnable 0 60, 61, 62 8F004, 8F005, 8F006 8F054/8F055/8F056 "CW3 1 1/2/3", m_bEnable 0 102, 103, 104 4F004, 4F005, 4F006 4F07E/4F07F/4F080 "AW3 1 1/2/3", m_bEnable 0 144, 186, 228 7F012/8F012/4F012 Snipe 7F0A8/8F0D2/4F0FC "BR3/CR3/AR3 1 1", m_bEnable 0 The stubs already carry the right icon, mastery, level, FP and delay. Only the code, the enable flag and the effect columns are missing.
Client record facts (useful for the importer) In the client, the class versions are byte-identical across the three races except for the code. They differ from the normal-skill versions (AF004/AF005/AF006/AF012) in the per-level values: a class skill is fixed at the top value for every level. Effect groups sit at +156/+196/+236/+276 (7 floats each) and durations at +424 (7 x u32 MILLISECONDS). Counter Attack, for example, is 20.0 for 1,080,000 ms at all levels, where AF004 goes 5 -> 20 and 90 s -> 1080 s. Read that way, the client records reproduce your existing rows for Grace (50), Vision (42) and Faith (43) exactly. Local workaround custom-sql/002_restore_class_skills_apply.sql (with a _revert.sql). It rebuilds the 12 rows from the stub (icon/mastery/level/FP/delay), the normal-skill row (effect type, target, parameters) and the client class record (code, name, per-level values), and sets m_bEnable = 1. Tested apply and revert on a copy of the v0.1.1 DB.
History
-
Outspacedev