From 25b139c3da233a035808bca97afbe8ec91aaaa16 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 12 May 2021 14:44:39 +0800 Subject: [PATCH] 1 --- server/gameserver/room.cc | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index f46788f..af58716 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -603,7 +603,9 @@ Hero* Room::CreateHero(Creature* master, { Hero* hero = EntityFactory::Instance()->MakeHero(AllocUniid()); hero->meta = meta; - hero->master.Attach(master); + if (master) { + hero->master.Attach(master); + } hero->room = this; hero->SetPos(pos); hero->SetMoveDir(dir); @@ -3788,5 +3790,21 @@ void Room::ForwardGasRing(int n) void Room::ShuaMon(const a8::Vec2& center, std::vector& airdrop_mon_list) { - + for (int hero_id : airdrop_mon_list) { + MetaData::Player* hero_meta = MetaMgr::Instance()->GetPlayer(hero_id); + if (hero_meta) { + int team_id = 666; + Creature* master = nullptr; + a8::Vec2 pos = center; + a8::Vec2 dir = center; + Hero* hero = CreateHero(master, + hero_meta, + pos, + dir, + team_id); + if (!hero) { + abort(); + } + } + } }