diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 1e62e276..d88a43f1 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1962,6 +1962,17 @@ Hero* Creature::InternalSummonHero(Buff* buff, const mt::Hero* hero_meta, glm::v dir, team_id ); + if (hero) { + auto itr = slave_heros_.find(hero_meta->id()); + if (itr != slave_heros_.end()) { + list_add_tail(&hero->entry, &itr->second); + } else { + slave_heros_[hero_meta->id()] = list_head(); + itr = slave_heros_.find(hero_meta->id()); + INIT_LIST_HEAD(&itr->second); + list_add_tail(&hero->entry, &itr->second); + } + } return hero; } diff --git a/server/gameserver/frameevent.cc b/server/gameserver/frameevent.cc index adc5ea2a..436c1a54 100644 --- a/server/gameserver/frameevent.cc +++ b/server/gameserver/frameevent.cc @@ -115,7 +115,8 @@ void FrameEvent::AddBullet(int bullet_uniid, ( [bullet_idx, &sender] (Human* hum, bool& stop) { -#ifdef DEBUG +#ifdef DEBUG1 + // 999 if (!hum->InPartObjects(sender.Get())) { A8_ABORT(); }