Core/Creatures: Allow overriding non-gossip based trainer ids for creatures

Port From (https://github.com/TrinityCore/TrinityCore/commit/689d3a667af8c3e2662b77d14edf201771130bee)
This commit is contained in:
hondacrx
2023-03-14 01:55:52 -04:00
parent 8d014ebdae
commit 74bb5e4541
3 changed files with 16 additions and 1 deletions
@@ -27,6 +27,8 @@ namespace Game.Entities
bool _isMissingCanSwimFlagOutOfCombat;
uint? _trainerId;
public ulong m_PlayerDamageReq;
public float m_SightDistance;
public float m_CombatDistance;
+13
View File
@@ -1128,6 +1128,19 @@ namespace Game.Entities
// exited position so it won't run away (home) and evade if it's hostile
SetHomePosition(GetPosition());
}
public uint GetTrainerId()
{
if (_trainerId.HasValue)
return _trainerId.Value;
return Global.ObjectMgr.GetCreatureDefaultTrainer(GetEntry());
}
public void SetTrainerId(uint? trainerId)
{
_trainerId = trainerId;
}
public override bool IsMovementPreventedByCasting()
{
+1 -1
View File
@@ -52,7 +52,7 @@ namespace Game
return;
}
uint trainerId = Global.ObjectMgr.GetCreatureDefaultTrainer(npc.GetEntry());
uint trainerId = npc.GetTrainerId();
if (trainerId != 0)
SendTrainerList(npc, trainerId);
else