Core/Players: Allow GMs to target npcs with UNIT_FLAG2_UNTARGETABLE_BY_CLIENT flag
Port From (https://github.com/TrinityCore/TrinityCore/commit/5ee28a9161e763c516a968bd83127da7073dc1e7)
This commit is contained in:
@@ -1336,7 +1336,7 @@ namespace Game.Entities
|
||||
VirtualItems[i].WriteCreate(data, owner, receiver);
|
||||
|
||||
data.WriteUInt32(GetViewerDependentFlags(this, owner, receiver));
|
||||
data.WriteUInt32(Flags2);
|
||||
data.WriteUInt32(GetViewerDependentFlags2(this, owner, receiver));
|
||||
data.WriteUInt32(GetViewerDependentFlags3(this, owner, receiver));
|
||||
data.WriteUInt32(GetViewerDependentAuraState(this, owner, receiver));
|
||||
for (int i = 0; i < 2; ++i)
|
||||
@@ -1723,7 +1723,7 @@ namespace Game.Entities
|
||||
}
|
||||
if (changesMask[43])
|
||||
{
|
||||
data.WriteUInt32(Flags2);
|
||||
data.WriteUInt32(GetViewerDependentFlags2(this, owner, receiver));
|
||||
}
|
||||
if (changesMask[44])
|
||||
{
|
||||
@@ -2386,6 +2386,15 @@ namespace Game.Entities
|
||||
|
||||
return flags;
|
||||
}
|
||||
uint GetViewerDependentFlags2(UnitData unitData, Unit unit, Player receiver)
|
||||
{
|
||||
uint flags = unitData.Flags2;
|
||||
// Gamemasters should be always able to interact with units - remove uninteractible flag
|
||||
if (receiver.IsGameMaster())
|
||||
flags &= ~(uint)UnitFlags2.UntargetableByClient;
|
||||
|
||||
return flags;
|
||||
}
|
||||
uint GetViewerDependentFlags3(UnitData unitData, Unit unit, Player receiver)
|
||||
{
|
||||
uint flags = unitData.Flags3;
|
||||
|
||||
Reference in New Issue
Block a user