Show
Ignore:
Timestamp:
11/19/08 13:44:25 (17 years ago)
Author:
yumileroy
Message:

[svn] Remove isVisible function. Check stealth and invisible in canAttack();
Use new remove aura by interrupt flag function.

Original author: megamage
Date: 2008-11-07 09:36:46-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/bindings/scripts/include/sc_creature.cpp

    r153 r186  
    7474void ScriptedAI::MoveInLineOfSight(Unit *who) 
    7575{ 
    76     if (!m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature)) 
    77     { 
    78         if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    79             return; 
    80  
    81         float attackRadius = m_creature->GetAttackDistance(who); 
    82         if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    83         { 
    84             who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    85             AttackStart(who); 
    86         } 
    87     } 
     76    if(m_creature->getVictim() || !m_creature->IsHostileTo(who) || !who->isInAccessablePlaceFor(m_creature)) 
     77        return; 
     78 
     79    if(!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     80        return; 
     81 
     82    if(!m_creature->IsWithinDistInMap(who, m_creature->GetAttackDistance(who)) || !m_creature->IsWithinLOSInMap(who)) 
     83        return; 
     84     
     85    if(m_creature->canAttack(who)) 
     86        //who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
     87        AttackStart(who); 
    8888} 
    8989 
     
    778778void Scripted_NoMovementAI::MoveInLineOfSight(Unit *who) 
    779779{ 
    780     if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
     780    if( !m_creature->getVictim() && m_creature->canAttack(who) && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    781781    { 
    782782        if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)