feat: 支持 2026.10.06 协议与强制注入脚本,移除 UI 中的 M0 诊断折叠卡片

This commit is contained in:
2026-10-14 00:11:41 +08:00
parent 16d61f7a5e
commit 8008519d8b
7 changed files with 141 additions and 41 deletions
+17 -6
View File
@@ -756,10 +756,16 @@ Test("audited protocol additions preserve explicit opcode and name assignments",
{
var down=new Dictionary<int,string>{{671,"DOWN_Explicit"},{100,"DOWN_UpdateHater"}};
Check(CurrentProtocolEvidence.AddMissing("other",down)==0);
Check(CurrentProtocolEvidence.AddMissing(PacketParser.AuditedClientVersion,down)==5);
Check(CurrentProtocolEvidence.AddMissing(PacketParser.BaselineClientVersion,down)==5);
Check(down[671]=="DOWN_Explicit" && !down.ContainsKey(558));
Check(down[697]=="DOWN_EffectResultBasic" && down[338]=="DOWN_PingRsp");
Check(CurrentProtocolEvidence.AddMissing(PacketParser.AuditedClientVersion,down)==0);
Check(CurrentProtocolEvidence.AddMissing(PacketParser.BaselineClientVersion,down)==0);
var downAudited=new Dictionary<int,string>{{673,"DOWN_Explicit"},{100,"DOWN_UpdateHater"}};
Check(CurrentProtocolEvidence.AddMissing(PacketParser.AuditedClientVersion,downAudited)==5);
Check(downAudited[673]=="DOWN_Explicit" && !downAudited.ContainsKey(171));
Check(downAudited[549]=="DOWN_EffectResultBasic" && downAudited[338]=="DOWN_PingRsp");
Check(CurrentProtocolEvidence.AddMissing(PacketParser.AuditedClientVersion,downAudited)==0);
});
Test("enmity parsers respect capacities and native byte value stride",()=>
{
@@ -813,10 +819,15 @@ Test("remaining fixed packets decode only proven fields and retain 64-bit tag id
});
Test("gauge evidence label preserves explicit ActorGauge mapping",()=>
{
var map=new Dictionary<int,string>{{8,"DOWN_ActorGauge"}};
CurrentProtocolEvidence.AddMissing(PacketParser.AuditedClientVersion,map);
Check(map[8]=="DOWN_ActorGauge" && map[614]=="DOWN_JobGauge");
Check(map[788]=="DOWN_UpdateClassInfo" && map[214]=="DOWN_FirstAttack");
var mapBaseline=new Dictionary<int,string>{{8,"DOWN_ActorGauge"}};
CurrentProtocolEvidence.AddMissing(PacketParser.BaselineClientVersion,mapBaseline);
Check(mapBaseline[8]=="DOWN_ActorGauge" && mapBaseline[614]=="DOWN_JobGauge");
Check(mapBaseline[788]=="DOWN_UpdateClassInfo" && mapBaseline[214]=="DOWN_FirstAttack");
var mapAudited=new Dictionary<int,string>{{8,"DOWN_ActorGauge"}};
CurrentProtocolEvidence.AddMissing(PacketParser.AuditedClientVersion,mapAudited);
Check(mapAudited[8]=="DOWN_ActorGauge" && mapAudited[748]=="DOWN_JobGauge");
Check(mapAudited[592]=="DOWN_UpdateClassInfo" && mapAudited[374]=="DOWN_FirstAttack");
});
Test("stage 2 upstream action, trigger and event tier parsers enforce audited sizes and capacities",()=>
{