From 05ce89b99bf7fde582d5492711f14b08f73d32a3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 25 Feb 2023 09:24:15 +0800 Subject: [PATCH] 1 --- server/gameserver/effect.cc | 6 ++++++ server/gameserver/effect.h | 1 + server/gameserver/gungrasp.cc | 3 +-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/server/gameserver/effect.cc b/server/gameserver/effect.cc index 4ed999ad..23385418 100644 --- a/server/gameserver/effect.cc +++ b/server/gameserver/effect.cc @@ -1,3 +1,9 @@ #include "precompile.h" #include "effect.h" +#include "creature.h" + +void Effect::RemoveFromOwner() +{ + owner->RemoveEffect(effect_uniid); +} diff --git a/server/gameserver/effect.h b/server/gameserver/effect.h index 26c315da..18b75577 100644 --- a/server/gameserver/effect.h +++ b/server/gameserver/effect.h @@ -16,5 +16,6 @@ class Effect Creature* owner = nullptr; void FillMFEffect(cs::MFEffect* effect_pb); + void RemoveFromOwner(); }; diff --git a/server/gameserver/gungrasp.cc b/server/gameserver/gungrasp.cc index ae0fe917..93e89ef0 100644 --- a/server/gameserver/gungrasp.cc +++ b/server/gameserver/gungrasp.cc @@ -101,8 +101,7 @@ private: { for (auto& effect : effect_list) { if (!effect.expired()) { - auto p = effect.lock(); - p->owner->RemoveEffect(effect); + effect.lock()->RemoveFromOwner(); } } effect_list.clear();