修复持续掉血问题

This commit is contained in:
aozhiwei 2021-08-16 16:50:30 +08:00
commit d64d12e503

View File

@ -2522,12 +2522,23 @@ void Creature::ProcOnceChgAttrBuff(MetaData::Buff* buff_meta)
{
if (buff_meta->int_param2 == 1) {
//绝对值
ability.hp += buff_meta->param3;
ability.hp = std::min(ability.max_hp, ability.hp);
if (buff_meta->param3 > 0) {
AddHp(buff_meta->param3);
} else if (buff_meta->param3 < 0) {
#if 01
DecHP(std::abs(buff_meta->param3), 1, "", 1);
#endif
}
} else if (buff_meta->int_param2 == 2) {
//百分比
ability.hp *= 1 + buff_meta->param3;
ability.hp = std::min(ability.max_hp, ability.hp);
float chg_hp = ability.hp * buff_meta->param3;
if (chg_hp > 0.0001f) {
AddHp(chg_hp);
} else if (chg_hp < 0.0001f){
#if 1
DecHP(std::abs(chg_hp), 1, "", 1);
#endif
}
}
SyncAroundPlayers(__FILE__, __LINE__, __func__);
}