From b364e00238c43cd326fa54aa3e5c4cd8a8c9d770 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sat, 21 Sep 2024 21:57:26 +0200 Subject: [PATCH] fix(Core/Object): do not add Object to Transport when summoned by a Vehicle (#19920) --- src/server/game/Entities/Object/Object.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 371a776aa..ded540a57 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2252,7 +2252,10 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert summon->SetVisibleBySummonerOnly(visibleBySummonerOnly); - if (!AddToMap(summon->ToCreature(), summon->GetOwnerGUID().IsPlayer() || (summoner && summoner->GetTransport()))) + bool summonerHasTransport = summoner && summoner->GetTransport(); + bool summonerIsVehicle = summoner && summoner->IsUnit() && summoner->ToUnit()->IsVehicle(); + bool checkTransport = summon->GetOwnerGUID().IsPlayer() || (summonerHasTransport && !summonerIsVehicle); + if (!AddToMap(summon->ToCreature(), checkTransport)) { delete summon; return nullptr;