Core/Misc: Added new CanSeeOrDetectExtraArgs to CanSeeOrDetect

Port From (https://github.com/TrinityCore/TrinityCore/commit/260fab23786917619ad3453677ed7d983a431cc4)
This commit is contained in:
Hondacrx
2025-08-14 20:37:45 -04:00
parent 1b838e6d5a
commit 1f80df2465
6 changed files with 70 additions and 29 deletions
+9 -2
View File
@@ -995,8 +995,15 @@ namespace Game.Spells
if (HasAttribute(SpellAttr1.ExcludeCaster) && caster == target)
return SpellCastResult.BadTargets;
// check visibility - ignore invisibility/stealth for implicit (area) targets
if (!HasAttribute(SpellAttr6.IgnorePhaseShift) && !caster.CanSeeOrDetect(target, Implicit))
// check visibility - Ignore invisibility/stealth for implicit (area) targets
CanSeeOrDetectExtraArgs canSeeOrDetectExtraArgs = new CanSeeOrDetectExtraArgs
{
ImplicitDetection = Implicit,
IgnorePhaseShift = HasAttribute(SpellAttr6.IgnorePhaseShift),
IncludeHiddenBySpawnTracking = HasAttribute(SpellAttr8.AllowTargetsHiddenBySpawnTracking),
IncludeAnyPrivateObject = HasAttribute(SpellCustomAttributes.CanTargetAnyPrivateObject)
};
if (!caster.CanSeeOrDetect(target, canSeeOrDetectExtraArgs))
return SpellCastResult.BadTargets;
Unit unitTarget = target.ToUnit();