Core/Conditions: Allow conditions for seen object in CONDITION_SOURCE_TYPE_OBJECT_ID_VISIBILITY
Port From (https://github.com/TrinityCore/TrinityCore/commit/6e3c8a84637cc669fe08c3933ce5323f8cf4c5cb)
This commit is contained in:
@@ -637,6 +637,7 @@ namespace Game.Conditions
|
||||
case ConditionSourceType.SmartEvent:
|
||||
case ConditionSourceType.NpcVendor:
|
||||
case ConditionSourceType.SpellProc:
|
||||
case ConditionSourceType.ObjectIdVisibility:
|
||||
return 2;
|
||||
default:
|
||||
return 1;
|
||||
|
||||
@@ -312,13 +312,13 @@ namespace Game
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool IsObjectMeetingVisibilityByObjectIdConditions(uint objectType, uint entry, WorldObject seer)
|
||||
public bool IsObjectMeetingVisibilityByObjectIdConditions(WorldObject obj, WorldObject seer)
|
||||
{
|
||||
var conditions = ConditionStorage[ConditionSourceType.ObjectIdVisibility].LookupByKey(new ConditionId(objectType, (int)entry, 0));
|
||||
var conditions = ConditionStorage[ConditionSourceType.ObjectIdVisibility].LookupByKey(new ConditionId((uint)obj.GetTypeId(), (int)obj.GetEntry(), 0));
|
||||
if (conditions != null)
|
||||
{
|
||||
Log.outDebug(LogFilter.Condition, $"IsObjectMeetingVisibilityByObjectIdConditions: found conditions for objectType {objectType} entry {entry}");
|
||||
return IsObjectMeetToConditions(seer, conditions);
|
||||
Log.outDebug(LogFilter.Condition, $"IsObjectMeetingVisibilityByObjectIdConditions: found conditions for objectType {obj.GetTypeId()} entry {obj.GetEntry()} guid {obj.GetGUID()}");
|
||||
return IsObjectMeetToConditions(seer, obj, conditions);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1271,7 +1271,7 @@ namespace Game.Entities
|
||||
if (smoothPhasing != null && smoothPhasing.IsBeingReplacedForSeer(GetGUID()))
|
||||
return false;
|
||||
|
||||
if (!obj.IsPrivateObject() && !Global.ConditionMgr.IsObjectMeetingVisibilityByObjectIdConditions((uint)obj.GetTypeId(), obj.GetEntry(), this))
|
||||
if (!obj.IsPrivateObject() && !Global.ConditionMgr.IsObjectMeetingVisibilityByObjectIdConditions(obj, this))
|
||||
return false;
|
||||
|
||||
// Spawn tracking
|
||||
|
||||
Reference in New Issue
Block a user