移除上帝模式buff

This commit is contained in:
aozhiwei 2020-05-15 10:54:15 +08:00
parent 616d1cbab1
commit 2affb61573
2 changed files with 16 additions and 3 deletions

View File

@ -883,9 +883,7 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id)
if (HasBuffEffect(kBET_Camouflage)) {
RemoveBuffByEffectId(kBET_Camouflage);
}
if (GetBuffByEffectId(kBET_LordMode)) {
RemoveBuffByEffectId(kBET_LordMode);
}
ClearLordMode();
int max_revive_times = MetaMgr::Instance()->GetSysParamAsInt("max_revive_times", 1);
if (weapon_id != VW_Spectate &&
dead_times <= max_revive_times &&
@ -3146,3 +3144,17 @@ void Human::CancelRevive()
FreeReviveTimer();
}
}
void Human::ClearLordMode()
{
Buff* buff = GetBuffByEffectId(kBET_LordMode);
if (buff) {
std::vector<std::string> strings;
a8::Split(buff->meta->i->buff_param1(), strings, ':');
for (auto& str : strings) {
int buff_id = a8::XValue(str);
RemoveBuffById(buff_id);
}
RemoveBuffByEffectId(kBET_LordMode);
}
}

View File

@ -270,6 +270,7 @@ private:
void SendBattleReport();
void FindLocationWithTarget(Entity* target);
void Revive();
void ClearLordMode();
protected:
long long last_shot_frameno_ = 0;