diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 76a126fb..d13b6774 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -261,7 +261,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in room->frame_event.AddPropChg ( GetWeakPtrRef(), - kPropEnergyShield, + kPropArmorShield, armor_shield, max_armor_shield, true); @@ -3399,6 +3399,17 @@ void Human::ProcPurpleStoneItem(AddItemDTO& dto) GetInventory(IS_PURPLE_STONE), false); + max_armor_shield = GetMaxHP(); + armor_shield += max_armor_shield * dto.item_meta->_float_param1; + armor_shield = std::max(armor_shield, max_armor_shield); + room->frame_event.AddPropChg + ( + GetWeakPtrRef(), + kPropArmorShield, + armor_shield, + max_armor_shield, + true); + //刷新数量 int add_num = 1; Entity* entity = room->GetEntityByUniId(dto.uniid);