Yes, there is a 1handed bonus, which we already have calculated correctly in the file. The whole finished product would resemble....
Replacing lines 1935 through 1971
Code:
int Mob::GetWeaponDamageBonus(const Item_Struct* Weapon)
{
// Kaiyodo - Calculate the damage bonus for a weapon on the main hand
if (GetLevel() < 28)
return(0);
// Check we're on of the classes that gets a damage bonus
if (!IsWarriorClass())
return 0;
int BasicBonus = ((GetLevel() - 25) / 3) + 1;
if(!Weapon)
return(BasicBonus);
// If we have no weapon, or only a single handed weapon, just return the default
// damage bonus of (Level - 25) / 3
if (Weapon->ItemClass == ItemClassCommon)
return BasicBonus;
if ((Weapon->ItemType == ItemType1HS) || (Weapon->ItemType == ItemTypePierce) || (Weapon->ItemType == ItemType1HB))
return BasicBonus;
//begin Reno's untested code
if (Weapon->Delay <=27)
return (BasicBonus + 1);
if (Weapon->Delay <=39)
return (BasicBonus + ((GetLevel()-27)/4));
if (Weapon->Delay <= 41)
return (BasicBonus + ((GetLevel()-27)/4) + 1);
if (Weapon->Delay >= 42)
if (GetLevel() > 54)
int levelint = 1;
if (GetLevel() > 56)
levelint += 1;
if (GetLevel() > 58)
levelint += 1;
if (GetLevel() > 59)
levelint += 1;
if (GetLevel() > 66)
levelint += 1;
if (GetLevel() > 71)
levelint += 1;
if (Weapon->Delay > 42)
int delayint = 1;
if (Weapon->Delay >44)
delayint += 1;
return (((Weapon->Delay-37)/3) + ((GetLevel()-25)/ 5) + ((Weapon->Delay * (GetLevel()-50 + levelint))/40) + delayint + BasicBonus);
}