Core/Creatures: Allow overriding default gossip menu id

Port From (https://github.com/TrinityCore/TrinityCore/commit/09568736134372ec1a79b936a248eec30f071c8d)
This commit is contained in:
hondacrx
2023-03-14 02:22:08 -04:00
parent ccea9d09df
commit bc8dc03724
5 changed files with 17 additions and 3 deletions
@@ -28,6 +28,7 @@ namespace Game.Entities
bool _isMissingCanSwimFlagOutOfCombat;
uint? _gossipMenuId;
uint? _trainerId;
public ulong m_PlayerDamageReq;
+13
View File
@@ -1138,6 +1138,19 @@ namespace Game.Entities
public bool HasFlag(CreatureStaticFlags7 flag) { return _staticFlags.HasFlag(flag); }
public bool HasFlag(CreatureStaticFlags8 flag) { return _staticFlags.HasFlag(flag); }
public uint GetGossipMenuId()
{
if (_gossipMenuId.HasValue)
return _gossipMenuId.Value;
return GetCreatureTemplate().GossipMenuId;
}
public void SetGossipMenuId(uint? gossipMenuId)
{
_gossipMenuId = gossipMenuId;
}
public uint GetTrainerId()
{
if (_trainerId.HasValue)
+1 -1
View File
@@ -2698,7 +2698,7 @@ namespace Game.Entities
switch (source.GetTypeId())
{
case TypeId.Unit:
return source.ToCreature().GetCreatureTemplate().GossipMenuId;
return source.ToCreature().GetGossipMenuId();
case TypeId.GameObject:
return source.ToGameObject().GetGoInfo().GetGossipMenuId();
default:
+1 -1
View File
@@ -153,7 +153,7 @@ namespace Game
_player.PlayerTalkClass.ClearMenus();
if (!unit.GetAI().OnGossipHello(_player))
{
GetPlayer().PrepareGossipMenu(unit, unit.GetCreatureTemplate().GossipMenuId, true);
GetPlayer().PrepareGossipMenu(unit, unit.GetGossipMenuId(), true);
GetPlayer().SendPreparedGossip(unit);
}
}
+1 -1
View File
@@ -68,7 +68,7 @@ namespace Game
if (creature.GetAI().OnGossipHello(_player))
return;
GetPlayer().PrepareGossipMenu(creature, creature.GetCreatureTemplate().GossipMenuId, true);
GetPlayer().PrepareGossipMenu(creature, creature.GetGossipMenuId(), true);
GetPlayer().SendPreparedGossip(creature);
}