diff --git a/server/gameserver/attr.cc b/server/gameserver/attr.cc index c4b12970..adf4d4fe 100644 --- a/server/gameserver/attr.cc +++ b/server/gameserver/attr.cc @@ -2,10 +2,19 @@ #include "attr.h" +#include "creature.h" + float Attr::CalcDmg(Creature* target, int weapon_uniid) { float total_atk = (GetTotalAtk() / 100 + 1) * GetWeaponAtk(); float normal_dmg = total_atk * (1 - target->attr->GetDef() / 1000); + float crit = IsCrit() ? 1 + GetCritRate() : 1; + float dodge = IsDodge() ? 1 + GetDodgeRate() : 1; + } + +float Attr::GetTotalAtk() +{ + return 0; } float Attr::GetDef() @@ -33,3 +42,14 @@ bool Attr::IsDodge() { return true; } + +float Attr::GetCritRate() +{ + return 0; +} + + +float Attr::GetDodgeRate() +{ + return 0; +} diff --git a/server/gameserver/attr.h b/server/gameserver/attr.h index de6896d4..802f7330 100644 --- a/server/gameserver/attr.h +++ b/server/gameserver/attr.h @@ -21,10 +21,13 @@ class Attr float GetDef(); private: + float GetTotalAtk(); float GetHeroTotalAtk(); float GetWeaponAtk(); bool IsCrit(); + float GetCritRate(); bool IsDodge(); + float GetDodgeRate(); private: CreatureWeakPtr owner_;