diff --git a/server/gameserver/new_hero_agent.cc b/server/gameserver/new_hero_agent.cc index cb35fde1..14efbb53 100644 --- a/server/gameserver/new_hero_agent.cc +++ b/server/gameserver/new_hero_agent.cc @@ -16,6 +16,7 @@ #include "human.h" #include "btcoroutine.h" #include "btcontext.h" +#include "team.h" #include "mt/Hero.h" #include "mt/Equip.h" @@ -46,8 +47,9 @@ void HeroAgent::Exec() void HeroAgent::SetOwner(Creature* owner) { - room_agent = owner->room->GetRoomAgent(); owner_ = owner; + room_agent = owner_->room->GetRoomAgent(); + team_agent = owner_->GetTeam()->GetTeamAgent(); } int HeroAgent::GetUniId() diff --git a/server/gameserver/team.h b/server/gameserver/team.h index 81f7e437..dbce1267 100644 --- a/server/gameserver/team.h +++ b/server/gameserver/team.h @@ -60,6 +60,7 @@ class Team void IncKillCount(); int GetKillCount(); long long GetLastKillFrameNo() { return last_kill_frameno_; } + TeamAgent* GetTeamAgent() { return team_agent_; } private: int team_id_ = 0;