well it's one of my first posts in epvp, though I'm member already 2 years
By the first, I know there is some programing misstakes but please ignore them and do not flame me, becouse system works well. (On LOTF too)
So, go to character.cs and search for
Code:
else if (PTarget.RBCount == 2) reborn = 0.4;
Code:
double Dodge = (double)((100 - PTarget.Dodge) / 100); if (Dodge == 0) Dodge = 1; Damage = (int)((double)Atk * ((double)(100 - PTarget.Dodge) / 100) * reborn);
public static uint CalculateDamage(Character Attacker, Character Attacked, byte AttackType, ushort SkillId, byte SkillLvl)
and change all fallowing code to this:
Code:
public static uint CalculateDamage(Character Attacker, Character Attacked, byte AttackType, ushort SkillId, byte SkillLvl) { int Damage = 0; ushort[] SkillAttributes = ExternalDatabase.SkillAttributes[SkillId][SkillLvl]; int ExtraDamage = (int)SkillAttributes[3]; double reborn = 0.7; if (Attacked.RBCount == 1) reborn = 0.7; else if (Attacked.RBCount == 2) reborn = 0.4; if (AttackType == 0 || AttackType == 1) // Direct Attack { Damage = General.Rand.Next((int)Attacker.MinAtk, (int)Attacker.MaxAtk); if (AttackType == 0) Damage += ExtraDamage; else Damage = (int)((ExtraDamage / (double)100) * Damage); Damage = (int)(Damage * Attacker.AddAtkPc); if (Attacker.StigBuff) Damage = (int)(Damage * (1 + ((10 + Attacker.StigLevel) / (double)100))); if (Attacker.SMOn) Damage *= 2; Damage = (int) (Damage * reborn - Attacked.Defense); if (Damage < 1) Damage = 1; } else if (AttackType == 2) // Ranged { Damage = General.Rand.Next((int)Attacker.MinAtk, (int)Attacker.MaxAtk); Damage += ExtraDamage; Damage = (int)(Damage * Attacker.AddAtkPc); if (Attacker.SMOn) Damage *= 2; if (Attacker.StigBuff) Damage = (int)(Damage * (1 + ((10 + Attacker.StigLevel) / (double)100))); Damage = (int)(Damage * ((105 - Attacked.Dodge) / (double)100) * reborn); if (Damage < 1) Damage = 1; } else if (AttackType == 3 || AttackType == 4)//Magic Attack { if (AttackType == 3) Damage = (int)+ExtraDamage; else Damage = (int)((double)ExtraDamage * Attacker.MAtk); Damage = (int)((Attacker.MAtk - Attacked.MDefense) * reborn); if (Damage < 1) Damage = 1; } else { Damage = 1; } return (uint)Damage; }
Done, happy using, and enjoy my little share
Remis