public override void CalcAttribute()
{
//先更新基础属性--
GameStruct.BaseAttributeInfo attinfo = ConfigManager.Instance().GetAttributeInfo(GetBaseAttr().profession, GetBaseAttr().level);
PlayerAttribute baseAttr = GetBaseAttr();
baseAttr.resetAttr();
if (attinfo != null)
{
baseAttr.life_max = attinfo.GetLife();
baseAttr.attack_max = baseAttr.attack = attinfo.GetAttack();
baseAttr.doage = attinfo.GetDoage();
//亡灵巫师 异能者 血族也有蓝的
//if (baseAttr.profession == JOB.MAGE)
//{
baseAttr.mana_max = attinfo.GetMana();
baseAttr.magic_attack = baseAttr.magic_attack_max = attinfo.GetMagicAttack();
// }
}
//装备属性--
for (int i = NetMsg.MsgItemInfo.ITEMPOSITION_HELMET; i < NetMsg.MsgItemInfo.ITEMPOSITION_SHOES; i++)
{
GameStruct.RoleItemInfo info = GetItemSystem().GetEquipByPostion((byte)i);
if (info != null)
{
GameStruct.ItemTypeInfo baseitem = ConfigManager.Instance().GetItemTypeInfo(info.itemid);
if (baseitem != null)
{
baseAttr.attack += baseitem.attack_min;
baseAttr.attack_max += baseitem.attack_max;
baseAttr.magic_attack += baseitem.magic_attack_min;
baseAttr.magic_attack_max += baseitem.magic_attck_max;
baseAttr.doage += baseitem.dodge;
baseAttr.hitrate += baseitem.hitrate;
baseAttr.defense += baseitem.defense;
baseAttr.magic_defense += baseitem.magic_defense;
//装备强化加成--
GameStruct.ItemAdditionInfo itemaddition = ConfigManager.Instance().GetItemAdditionInfo((byte)i, info.GetStrongLevel());
if (itemaddition != null)
{
baseAttr.attack += itemaddition.min_attack;
baseAttr.attack_max += itemaddition.max_attack;
baseAttr.life += itemaddition.life;
baseAttr.defense += itemaddition.defense;
baseAttr.magic_attack += itemaddition.min_magic_attack;
baseAttr.magic_attack_max += itemaddition.max_magic_attack;
baseAttr.magic_defense += itemaddition.magic_defense;
baseAttr.doage += itemaddition.dodge;
}
}
}
}
//计算战斗力
this.CalcFightSoul();
}