Core/Creatures: Allow overriding default gossip menu id
Port From (https://github.com/TrinityCore/TrinityCore/commit/09568736134372ec1a79b936a248eec30f071c8d)
This commit is contained in:
@@ -28,6 +28,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
bool _isMissingCanSwimFlagOutOfCombat;
|
bool _isMissingCanSwimFlagOutOfCombat;
|
||||||
|
|
||||||
|
uint? _gossipMenuId;
|
||||||
uint? _trainerId;
|
uint? _trainerId;
|
||||||
|
|
||||||
public ulong m_PlayerDamageReq;
|
public ulong m_PlayerDamageReq;
|
||||||
|
|||||||
@@ -1138,6 +1138,19 @@ namespace Game.Entities
|
|||||||
public bool HasFlag(CreatureStaticFlags7 flag) { return _staticFlags.HasFlag(flag); }
|
public bool HasFlag(CreatureStaticFlags7 flag) { return _staticFlags.HasFlag(flag); }
|
||||||
public bool HasFlag(CreatureStaticFlags8 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()
|
public uint GetTrainerId()
|
||||||
{
|
{
|
||||||
if (_trainerId.HasValue)
|
if (_trainerId.HasValue)
|
||||||
|
|||||||
@@ -2698,7 +2698,7 @@ namespace Game.Entities
|
|||||||
switch (source.GetTypeId())
|
switch (source.GetTypeId())
|
||||||
{
|
{
|
||||||
case TypeId.Unit:
|
case TypeId.Unit:
|
||||||
return source.ToCreature().GetCreatureTemplate().GossipMenuId;
|
return source.ToCreature().GetGossipMenuId();
|
||||||
case TypeId.GameObject:
|
case TypeId.GameObject:
|
||||||
return source.ToGameObject().GetGoInfo().GetGossipMenuId();
|
return source.ToGameObject().GetGoInfo().GetGossipMenuId();
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ namespace Game
|
|||||||
_player.PlayerTalkClass.ClearMenus();
|
_player.PlayerTalkClass.ClearMenus();
|
||||||
if (!unit.GetAI().OnGossipHello(_player))
|
if (!unit.GetAI().OnGossipHello(_player))
|
||||||
{
|
{
|
||||||
GetPlayer().PrepareGossipMenu(unit, unit.GetCreatureTemplate().GossipMenuId, true);
|
GetPlayer().PrepareGossipMenu(unit, unit.GetGossipMenuId(), true);
|
||||||
GetPlayer().SendPreparedGossip(unit);
|
GetPlayer().SendPreparedGossip(unit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ namespace Game
|
|||||||
if (creature.GetAI().OnGossipHello(_player))
|
if (creature.GetAI().OnGossipHello(_player))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GetPlayer().PrepareGossipMenu(creature, creature.GetCreatureTemplate().GossipMenuId, true);
|
GetPlayer().PrepareGossipMenu(creature, creature.GetGossipMenuId(), true);
|
||||||
GetPlayer().SendPreparedGossip(creature);
|
GetPlayer().SendPreparedGossip(creature);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user