[8422] Implement far sight like spells work for long distance.
commita6be47a463541d8bc054f7724e94b1409d67878c
authorVladimirMangos <vladimir@getmangos.com>
Wed, 26 Aug 2009 04:18:30 +0000 (26 08:18 +0400)
committerVladimirMangos <vladimir@getmangos.com>
Wed, 26 Aug 2009 04:30:40 +0000 (26 08:30 +0400)
tree90167f18d1705383bcca71eb08fe1177dc2dbf87
parent3fa3f663b86ed5f407ad93ef630ad732641a99f9
[8422] Implement far sight like spells work for long distance.

* Added basic infrastructure for visibility update in case difference player and current view point.
  Just for note: seletect additional arg way beacuse repeatable search object will slow but store pointer will not safe,
  so use middle case: get view point pointer early as possible at visibility updates.
* Implement dynamic object and creature activisation while it's target of far sight spell effect
* Use this for SPELL_AURA_BIND_SIGHT, SPELL_AURA_FAR_SIGHT and SPELL_EFFECT_ADD_FARSIGHT.
* Note2: some spyglass like spells let look _around_ at long distance, this hard implement in current grid loading system
  Without additional changes and not implemented (you will see empty area without creatures in likes case)

* Also fixed warning spam at CMSG_MOVE_SET_CAN_FLY_ACK receive by use proper packet sructure reading.
28 files changed:
src/game/AggressorAI.cpp
src/game/Corpse.cpp
src/game/Corpse.h
src/game/Creature.h
src/game/CreatureEventAI.cpp
src/game/DynamicObject.cpp
src/game/DynamicObject.h
src/game/GameObject.cpp
src/game/GameObject.h
src/game/GridNotifiers.cpp
src/game/GridNotifiers.h
src/game/GridNotifiersImpl.h
src/game/Group.cpp
src/game/GuardAI.cpp
src/game/MiscHandler.cpp
src/game/Object.cpp
src/game/Object.h
src/game/ObjectAccessor.cpp
src/game/ObjectAccessor.h
src/game/PetAI.cpp
src/game/Player.cpp
src/game/Player.h
src/game/Spell.cpp
src/game/SpellEffects.cpp
src/game/TotemAI.cpp
src/game/Unit.cpp
src/game/Unit.h
src/shared/revision_nr.h