From 1e0213bc57922719d4f7e8897cb7e8871c138fdc Mon Sep 17 00:00:00 2001 From: pete318 Date: Sun, 28 Jun 2015 23:42:47 +0000 Subject: The following stealth changes are implemented. - Combat no longer removes stealth, only damage does - Creatures will pursue a stealthed unit they cannot see if they're already in combat with them - When a player is ~~3 yards~~ 8% + 1.5 yards away from the usual stealth detection distance, the creature will perform the "alerted" effect. - When sitting/sleeping creatures are distracted or alerted, they will stand up - Idle movement creatures will return to their original (spawn) orientation after distract/alert - When entering combat with a distracted/alerted creature, distract state is removed - NPC no longer have a limit to stealth visibility (granted by stealth modifier spells/buffs) - If alert visibility is greater than aggro range, no alert sent --- src/server/game/AI/SmartScripts/SmartAI.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/server/game/AI/SmartScripts') diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 21a15fa4f99..97d2d718ff0 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -469,7 +469,13 @@ void SmartAI::MoveInLineOfSight(Unit* who) { if (!me->GetVictim()) { - who->RemoveAurasByType(SPELL_AURA_MOD_STEALTH); + // Clear distracted state on combat + if (me->HasUnitState(UNIT_STATE_DISTRACTED)) + { + me->ClearUnitState(UNIT_STATE_DISTRACTED); + me->GetMotionMaster()->Clear(); + } + AttackStart(who); } else/* if (me->GetMap()->IsDungeon())*/ -- cgit v1.2.3