diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index e86121c7..6fabe58a 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1864,7 +1864,7 @@ Hero* Creature::SummonHero(Buff* buff, GetAttackDir(), pos ); - hero->hero_level = GetNetData()->GetHeroLevel(); + hero->SetHeroLevel(GetNetData()->GetHeroLevel(), 0, nullptr); } return hero; } diff --git a/server/gameserver/hero.h b/server/gameserver/hero.h index 6e5cbc3f..3b97c888 100644 --- a/server/gameserver/hero.h +++ b/server/gameserver/hero.h @@ -15,7 +15,6 @@ public: const mt::Hero* meta = nullptr; bool is_pve_boss = false; list_head entry; - int hero_level = 1; Hero(); virtual ~Hero() override; diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index c45691f7..10e008f2 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -408,7 +408,9 @@ void Hero::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data) p->set_dead(dead); p->set_health(GetHP()); p->set_max_health(GetMaxHP()); - p->set_hero_level(hero_level); + p->set_hero_level(GetHeroLevel()); + p->set_hero_exp(GetHeroExp()); + p->set_hero_max_exp(GetHeroMaxExp()); Creature_FillBuffList(this, hum, p->mutable_buff_list()); Creature_FillEffectList(this, hum, p->mutable_effect_list()); p->set_team_id(team_id); diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 5e183391..3e929c00 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -824,7 +824,6 @@ Hero* Room::CreateHero(Creature* master, hero->SetAttackDir(dir); hero->team_id = team_id; hero->Initialize(); - hero->hero_level = hero->GetNetData()->GetHeroLevel(); AddToEntityHash(hero); AddToMoveableHash(hero); grid_service->AddCreature(hero);