Since I can't edit my original post. Revised new version.
New
Code:
if(attacker->IsClient())
{
int SkillMod = 0;
if(attacker->spellbonuses.MeleeSkillCheckSkill == skillinuse || attacker->spellbonuses.MeleeSkillCheckSkill == 255)
{
SkillMod += attacker->spellbonuses.MeleeSkillCheckSkill;
}
if(attacker->itembonuses.MeleeSkillCheckSkill == skillinuse || attacker->itembonuses.MeleeSkillCheckSkill == 255)
{
SkillMod += attacker->itembonuses.MeleeSkillCheckSkill;
}
chancetohit -= (RuleR(Combat,WeaponSkillFalloff) * (attacker->CastToClient()->MaxSkill(skillinuse) - (SkillMod * attacker->GetSkill(skillinuse) /100) + attacker->GetSkill(skillinuse)));
mlog(COMBAT__TOHIT, "Chance to hit after weapon falloff calc (attack) %.2f", chancetohit);
}
if(defender->IsClient())
{
int SkillMod = 0;
if(defender->spellbonuses.MeleeSkillCheckSkill == DEFENSE || defender->spellbonuses.MeleeSkillCheckSkill == 255)
{
SkillMod += defender->spellbonuses.MeleeSkillCheckSkill;
}
if(defender->itembonuses.MeleeSkillCheckSkill == DEFENSE || defender->itembonuses.MeleeSkillCheckSkill == 255)
{
SkillMod += defender->itembonuses.MeleeSkillCheckSkill;
}
chancetohit += (RuleR(Combat,WeaponSkillFalloff) * (defender->CastToClient()->MaxSkill(DEFENSE) - (SkillMod * defender->GetSkill(DEFENSE) /100) + defender->GetSkill(DEFENSE)));
}