This commit is contained in:
aozhiwei 2022-10-25 20:58:29 +08:00
parent b60c2b92eb
commit 83e6d9e7c7
6 changed files with 18 additions and 17 deletions

View File

@ -1261,3 +1261,13 @@ void Buff::ProcRemoveImmune()
owner->GetAbility()->DecImmuneTimes(tag); owner->GetAbility()->DecImmuneTimes(tag);
} }
} }
void Buff::ProcCallFunc()
{
}
void Buff::ProcRemoveCallFunc()
{
}

View File

@ -89,6 +89,8 @@ class Buff
void ProcRemoveRescuer(); void ProcRemoveRescuer();
void ProcImmune(); void ProcImmune();
void ProcRemoveImmune(); void ProcRemoveImmune();
void ProcCallFunc();
void ProcRemoveCallFunc();
void CalcPassengerShotOffset(); void CalcPassengerShotOffset();

View File

@ -35,7 +35,7 @@ enum BuffEffectType_e
kBET_Invincible = 4, //无敌 kBET_Invincible = 4, //无敌
kBET_Camouflage = 5, //伪装 kBET_Camouflage = 5, //伪装
kBET_Immune = 6, //免疫 kBET_Immune = 6, //免疫
kBET_LordMode = 7, //上帝模式 kBET_CallFunc = 7, //调用功能
kBET_NewProtect = 8, //新手保护血量低于50% kBET_NewProtect = 8, //新手保护血量低于50%
kBET_BePull = 9, //拉人(被拉方) kBET_BePull = 9, //拉人(被拉方)
kBET_JumpTo = 10, //跳跃 kBET_JumpTo = 10, //跳跃

View File

@ -559,6 +559,11 @@ void Creature::OnBuffRemove(Buff& buff)
buff.ProcRemoveImmune(); buff.ProcRemoveImmune();
} }
break; break;
case kBET_CallFunc:
{
buff.ProcRemoveCallFunc();
}
break;
default: default:
{ {
} }

View File

@ -2549,7 +2549,6 @@ void Human::OnDie()
if (HasBuffEffect(kBET_Camouflage)) { if (HasBuffEffect(kBET_Camouflage)) {
RemoveBuffByEffectId(kBET_Camouflage); RemoveBuffByEffectId(kBET_Camouflage);
} }
ClearLordMode();
DoGetDown(); DoGetDown();
} }
real_dead_frameno = room->GetFrameNo(); real_dead_frameno = room->GetFrameNo();
@ -2800,20 +2799,6 @@ void Human::CancelRevive()
} }
} }
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);
}
}
void Human::AdjustDecHp(float old_health, float& new_health) void Human::AdjustDecHp(float old_health, float& new_health)
{ {
Buff* buff = GetBuffByEffectId(kBET_NewProtect); Buff* buff = GetBuffByEffectId(kBET_NewProtect);

View File

@ -370,7 +370,6 @@ private:
void FillSMGameOver(cs::SMGameOver& msg); void FillSMGameOver(cs::SMGameOver& msg);
void SendBattleReport(); void SendBattleReport();
void Revive(); void Revive();
void ClearLordMode();
void AdjustDecHp(float old_health, float& new_health); void AdjustDecHp(float old_health, float& new_health);
void ClearPartObjects(); void ClearPartObjects();
void GetViewObjects(std::set<Entity*>& view_objects); void GetViewObjects(std::set<Entity*>& view_objects);