Just looking over the newer H2H implementation and the delay scaling doesn't look right.
Code:
if (RuleB(Combat, UseRevampHandToHand)) {
// everyone uses this in the revamp!
int skill = GetSkill(EQEmu::skills::SkillHandtoHand);
int epic = 0;
int iksar = 0;
if (IsClient() && CastToClient()->GetItemIDAt(12) == 10652 && GetLevel() > 46)
epic = 280;
else if (GetRace() == IKSAR)
iksar = 1;
if (epic > skill)
skill = epic;
return iksar - skill / 21 + 38;
}
This results in:
Level 1: 4/38
Level 10: 10/34
Level 20: 13/31
Level 30: 16/29
Level 40: 18/27
Level 50: 21/26
Epic is 21/25, which is redundant at level 54:
Level 54: 22/25
Level 60: 23/24
Level 70: 25/23
A few years back, there was some consensus that h2h delay on live servers is always 38, unless wearing the epic which sets delay to 26.
https://forums.daybreakgames.com/eq/...3#post-3315427
Following that it looks more like this
Code:
if (RuleB(Combat, UseRevampHandToHand)) {
// everyone uses this in the revamp!
int iksar = 0;
if (GetRace() == IKSAR)
iksar = 1;
if (IsClient() && CastToClient()->GetItemIDAt(12) == 10652 && GetLevel() > 46)
return iksar + 26;
return iksar +38;
}