Files
IC.Rebuild/Core/CurrentProtocolEvidence.cs
T

26 lines
937 B
C#

namespace ICRebuild.Core;
public static class CurrentProtocolEvidence
{
// Only fill missing names/slots; do not rewrite explicit mappings or the cache file.
private static readonly (int Opcode,string Name)[] Downstream =
[
(338,"DOWN_PingRsp"),
(671,"DOWN_UpdateHate"),
(558,"DOWN_UpdateHater"),
(697,"DOWN_EffectResultBasic"),
// ActorGauge already exists at a different explicit slot in the cache; use an evidence label.
(614,"DOWN_JobGauge"),
(788,"DOWN_UpdateClassInfo"),
(214,"DOWN_FirstAttack")
];
public static int AddMissing(string version,Dictionary<int,string> down)
{
if(version!=PacketParser.AuditedClientVersion) return 0;
var added=0;
foreach(var (opcode,name) in Downstream)
if(!down.ContainsKey(opcode) && !down.ContainsValue(name)) { down[opcode]=name; added++; }
return added;
}
}