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);
|
VirtualItems[i].WriteCreate(data, owner, receiver);
|
||||||
|
|
||||||
data.WriteUInt32(GetViewerDependentFlags(this, 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(GetViewerDependentFlags3(this, owner, receiver));
|
||||||
data.WriteUInt32(GetViewerDependentAuraState(this, owner, receiver));
|
data.WriteUInt32(GetViewerDependentAuraState(this, owner, receiver));
|
||||||
for (int i = 0; i < 2; ++i)
|
for (int i = 0; i < 2; ++i)
|
||||||
@@ -1723,7 +1723,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
if (changesMask[43])
|
if (changesMask[43])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Flags2);
|
data.WriteUInt32(GetViewerDependentFlags2(this, owner, receiver));
|
||||||
}
|
}
|
||||||
if (changesMask[44])
|
if (changesMask[44])
|
||||||
{
|
{
|
||||||
@@ -2386,6 +2386,15 @@ namespace Game.Entities
|
|||||||
|
|
||||||
return flags;
|
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 GetViewerDependentFlags3(UnitData unitData, Unit unit, Player receiver)
|
||||||
{
|
{
|
||||||
uint flags = unitData.Flags3;
|
uint flags = unitData.Flags3;
|
||||||
|
|||||||
Reference in New Issue
Block a user