diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index 739f74fc..0b9b2d2d 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -677,6 +677,13 @@ void Trigger::EnterBattleMode() (kEventEnterBattleMode, [this] (Buff* buff, bool& stop) { + for (int buff_id : buff->meta->_buff_param4_int_list) { + if (buff_id > 0) { + owner_->TryAddBuff(owner_, buff_id); + } else { + owner_->ClearBuffById(buff_id); + } + } }); } @@ -686,5 +693,12 @@ void Trigger::LeaveBattleMode() (kEventLeaveBattleMode, [this] (Buff* buff, bool& stop) { + for (int buff_id : buff->meta->_buff_param4_int_list) { + if (buff_id > 0) { + owner_->TryAddBuff(owner_, buff_id); + } else { + owner_->ClearBuffById(buff_id); + } + } }); }