Core/Transports: Force transport passengers into legacy spawn group
Port From (https://github.com/TrinityCore/TrinityCore/commit/068b340b6988c3edd8db2b9d62a99baebe1b031e)
This commit is contained in:
@@ -657,12 +657,13 @@ namespace Game.Chat
|
||||
data.Id = id;
|
||||
data.spawnPoint.Relocate(chr.GetTransOffsetX(), chr.GetTransOffsetY(), chr.GetTransOffsetZ(), chr.GetTransOffsetO());
|
||||
data.spawnGroupData = new();
|
||||
// @todo: add phases
|
||||
|
||||
Creature _creature = trans.CreateNPCPassenger(guid, data);
|
||||
_creature.SaveToDB((uint)trans.GetGoInfo().MoTransport.SpawnMap, new List<Difficulty>() { map.GetDifficultyID() });
|
||||
|
||||
Global.ObjectMgr.AddCreatureToGrid(guid, data);
|
||||
Creature creaturePassenger = trans.CreateNPCPassenger(guid, data);
|
||||
if (creaturePassenger != null)
|
||||
{
|
||||
creaturePassenger.SaveToDB((uint)trans.GetGoInfo().MoTransport.SpawnMap, new List<Difficulty>() { map.GetDifficultyID() });
|
||||
Global.ObjectMgr.AddCreatureToGrid(guid, data);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -318,6 +318,8 @@ namespace Game.Entities
|
||||
public Creature CreateNPCPassenger(ulong guid, CreatureData data)
|
||||
{
|
||||
Map map = GetMap();
|
||||
if (map.GetCreatureRespawnTime(guid) != 0)
|
||||
return null;
|
||||
|
||||
Creature creature = Creature.CreateCreatureFromDB(guid, map, false, true);
|
||||
if (!creature)
|
||||
@@ -359,6 +361,8 @@ namespace Game.Entities
|
||||
GameObject CreateGOPassenger(ulong guid, GameObjectData data)
|
||||
{
|
||||
Map map = GetMap();
|
||||
if (map.GetGORespawnTime(guid) != 0)
|
||||
return null;
|
||||
|
||||
GameObject go = CreateGameObjectFromDB(guid, map, false);
|
||||
if (!go)
|
||||
|
||||
@@ -3319,7 +3319,7 @@ namespace Game
|
||||
data.phaseGroup = result.Read<uint>(25);
|
||||
data.terrainSwapMap = result.Read<int>(26);
|
||||
data.ScriptId = GetScriptId(result.Read<string>(27));
|
||||
data.spawnGroupData = _spawnGroupDataStorage[0];
|
||||
data.spawnGroupData = _spawnGroupDataStorage[IsTransportMap(data.spawnPoint.GetMapId()) ? 1 : 0]; // transport spawns default to compatibility group
|
||||
|
||||
var mapEntry = CliDB.MapStorage.LookupByKey(data.spawnPoint.GetMapId());
|
||||
if (mapEntry == null)
|
||||
@@ -4063,7 +4063,7 @@ namespace Game
|
||||
data.rotation.Z = result.Read<float>(9);
|
||||
data.rotation.W = result.Read<float>(10);
|
||||
data.spawntimesecs = result.Read<int>(11);
|
||||
data.spawnGroupData = _spawnGroupDataStorage[0];
|
||||
data.spawnGroupData = _spawnGroupDataStorage[IsTransportMap(data.spawnPoint.GetMapId()) ? 1 : 0]; // transport spawns default to compatibility group
|
||||
|
||||
var mapEntry = CliDB.MapStorage.LookupByKey(data.spawnPoint.GetMapId());
|
||||
if (mapEntry == null)
|
||||
|
||||
Reference in New Issue
Block a user