diff --git a/server/gameserver/buff/summon_loot.cc b/server/gameserver/buff/summon_loot.cc index 13796330..03af935f 100644 --- a/server/gameserver/buff/summon_loot.cc +++ b/server/gameserver/buff/summon_loot.cc @@ -35,6 +35,18 @@ void SummonLootBuff::Activate() loot->skill_meta = skill_meta; loot->buff_vars = buff_vars; loot->master = owner->GetWeakPtrRef(); + + owner->room->xtimer.SetTimeoutWpEx + ( + show_time * SERVER_FRAME_RATE, + [loot] (int event, const a8::Args* args) mutable + { + if (a8::TIMER_EXEC_EVENT == event) { + loot->room->RemoveObjectLater(loot); + } + }, + &loot->xtimer_attacher); + } } }