View Single Post
  #1  
Old 08-21-2019, 08:43 PM
jsr
Hill Giant
 
Join Date: Aug 2008
Location: melbourne
Posts: 188
Default monk hand to hand scaling

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;
	}
Reply With Quote