Core/Unit: make neutral guards attack players involved in PvP
Port From (https://github.com/TrinityCore/TrinityCore/commit/a58dcd1d9cf5f943342d00628601170d6023ae25)
This commit is contained in:
@@ -3183,6 +3183,9 @@ namespace Game.Entities
|
|||||||
Player player = playerAffectingAttacker ? playerAffectingAttacker : playerAffectingTarget;
|
Player player = playerAffectingAttacker ? playerAffectingAttacker : playerAffectingTarget;
|
||||||
Unit creature = playerAffectingAttacker ? target : this;
|
Unit creature = playerAffectingAttacker ? target : this;
|
||||||
|
|
||||||
|
if (creature.IsContestedGuard() && player.HasPlayerFlag(PlayerFlags.ContestedPVP))
|
||||||
|
return true;
|
||||||
|
|
||||||
var factionTemplate = creature.GetFactionTemplateEntry();
|
var factionTemplate = creature.GetFactionTemplateEntry();
|
||||||
if (factionTemplate != null)
|
if (factionTemplate != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -799,6 +799,15 @@ namespace Game.Entities
|
|||||||
public bool IsCritter() { return GetCreatureType() == CreatureType.Critter; }
|
public bool IsCritter() { return GetCreatureType() == CreatureType.Critter; }
|
||||||
public bool IsInFlight() { return HasUnitState(UnitState.InFlight); }
|
public bool IsInFlight() { return HasUnitState(UnitState.InFlight); }
|
||||||
|
|
||||||
|
public bool IsContestedGuard()
|
||||||
|
{
|
||||||
|
var entry = GetFactionTemplateEntry();
|
||||||
|
if (entry != null)
|
||||||
|
return entry.IsContestedGuardFaction();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public void SetHoverHeight(float hoverHeight) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.HoverHeight), hoverHeight); }
|
public void SetHoverHeight(float hoverHeight) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.HoverHeight), hoverHeight); }
|
||||||
|
|
||||||
public override float GetCollisionHeight()
|
public override float GetCollisionHeight()
|
||||||
|
|||||||
Reference in New Issue
Block a user