0x30D0 - SERVER_AGENT_ENTITY_UPDATE_MOVE_SPEED is generally not a safe way to determine if a player used zerk.
Using...
0x30BF - SERVER_AGENT_ENTITY_UPDATE_STATE
Code:
4 uint UniqueID
1 byte stateType
1 byte state
if(stateType == StateType.BodyState)
{
if(state == BodyState.Berzerk)
{
1 byte IsEnhanced //20% damage buff when cuddling in blue zerk
}
}
...might be a better way.
However you won't avoid the problem, that (GObj related) S->C packets only contain the UniqueID which you can only match to player names by either reading
or client's memory.
An C->S approach in filter code using
0x70A7 - CLIENT_AGENT_CHARACTER_UPDATE_BODYSTATE_REQUEST is much easier to log/prevent/ban.