From 20de4d231c99b23eaea53c41787ceeadfeaeaa7d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 15 Jan 2024 10:59:42 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 2d98c236..a81c0704 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -47,6 +47,7 @@ #include "mt/MapThing.h" #include "mt/Text.h" #include "mt/Map.h" +#include "mt/BattleHeroGrow.h" #include "buff/sprint.h" @@ -3931,7 +3932,17 @@ void Creature::AdjustMobaBornDir() void Creature::SetHeroLevel(int level, int exp, const mt::BattleHeroGrow* grow_meta) { - + for (int buff_uniid : grow_buff_list_) { + RemoveBuffByUniId(buff_uniid); + } + grow_buff_list_.clear(); + for (auto handle : grow_attr_list_) { + GetAbility()->RemoveAttr(handle); + } + grow_attr_list_.clear(); + hero_level_ = level; + hero_exp_ = exp; + hero_grow_meta_ = grow_meta; } int Creature::GetHeroLevel() @@ -3946,5 +3957,8 @@ int Creature::GetHeroExp() int Creature::GetHeroMaxExp() { + if (hero_grow_meta_) { + return hero_grow_meta_->levelExp(); + } return -1; }