diff options
| -rw-r--r-- | src/game/Creature.cpp | 8 | ||||
| -rw-r--r-- | src/game/Creature.h | 2 | ||||
| -rw-r--r-- | src/game/GridNotifiersImpl.h | 6 | 
3 files changed, 7 insertions, 9 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index a9eb6041488..ba16888141b 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -153,6 +153,9 @@ m_creatureInfo(NULL), m_reactState(REACT_AGGRESSIVE), m_formation(NULL), m_summo      m_GlobalCooldown = 0;      DisableReputationGain = false;      //m_unit_movement_flags = MONSTER_MOVE_WALK; + +    m_SightDistance = sWorld.getConfig(CONFIG_SIGHT_MONSTER); +    m_CombatDistance = MELEE_RANGE;  }  Creature::~Creature() @@ -1697,11 +1700,6 @@ bool Creature::canSeeOrDetect(Unit const* u, bool detect, bool inVisibleList, bo      return true;  } -bool Creature::IsWithinSightDist(Unit const* u) const -{ -    return IsWithinDistInMap(u, sWorld.getConfig(CONFIG_SIGHT_MONSTER)); -} -  bool Creature::canStartAttack(Unit const* who, bool force) const  {      if(isCivilian()) diff --git a/src/game/Creature.h b/src/game/Creature.h index fdab5157bd4..7f8d6040129 100644 --- a/src/game/Creature.h +++ b/src/game/Creature.h @@ -649,7 +649,6 @@ class TRINITY_DLL_SPEC Creature : public Unit          uint32 m_GlobalCooldown;          bool canSeeOrDetect(Unit const* u, bool detect, bool inVisibleList = false, bool is3dDistance = true) const; -        bool IsWithinSightDist(Unit const* u) const;          bool canStartAttack(Unit const* u, bool force) const;          float GetAttackDistance(Unit const* pl) const; @@ -746,6 +745,7 @@ class TRINITY_DLL_SPEC Creature : public Unit          static float _GetDamageMod(int32 Rank); +        float m_SightDistance, m_CombatDistance;      protected:          bool CreateFromProto(uint32 guidlow,uint32 Entry,uint32 team, const CreatureData *data = NULL);          bool InitEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL); diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h index 211bca9cd3c..f2970805eab 100644 --- a/src/game/GridNotifiersImpl.h +++ b/src/game/GridNotifiersImpl.h @@ -45,7 +45,7 @@ inline void PlayerCreatureRelocationWorker(Player* pl, Creature* c)      // Creature AI reaction      if(c->HasReactState(REACT_AGGRESSIVE) && !c->hasUnitState(UNIT_STAT_SIGHTLESS))      { -        if( c->IsAIEnabled && c->IsWithinSightDist(pl) && !c->IsInEvadeMode() ) +        if( c->IsAIEnabled && c->_IsWithinDist(pl, c->m_SightDistance, true) && !c->IsInEvadeMode() )              c->AI()->MoveInLineOfSight(pl);      }  } @@ -54,13 +54,13 @@ inline void CreatureCreatureRelocationWorker(Creature* c1, Creature* c2)  {      if(c1->HasReactState(REACT_AGGRESSIVE) && !c1->hasUnitState(UNIT_STAT_SIGHTLESS))      { -        if( c1->IsAIEnabled && c1->IsWithinSightDist(c2) && !c1->IsInEvadeMode() ) +        if( c1->IsAIEnabled && c1->_IsWithinDist(c2, c1->m_SightDistance, true) && !c1->IsInEvadeMode() )              c1->AI()->MoveInLineOfSight(c2);      }      if(c2->HasReactState(REACT_AGGRESSIVE) && !c2->hasUnitState(UNIT_STAT_SIGHTLESS))      { -        if( c2->IsAIEnabled && c1->IsWithinSightDist(c2) && !c2->IsInEvadeMode() ) +        if( c2->IsAIEnabled && c1->_IsWithinDist(c2, c2->m_SightDistance, true) && !c2->IsInEvadeMode() )              c2->AI()->MoveInLineOfSight(c1);      }  }  | 
