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

[svn] * Reimplemented packet/update forwarding in more generic way
* Implemented far sight spells (Far Sight, Eagle Eye, etc) at unlimited range and properly forward packets
* Implemented bind vision spells (Mind Vision, etc) to forward packets at unlimited distance
* Implemented Sentry Totem (both vision switching/forwarding and alerting)
* Other misc possession fixes
* Added .bindsight and .unbindsight commands

Please test out the above spells (including Mind Control) and report any issues on the forums.

Original author: gvcoman
Date: 2008-11-14 20:40:35-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/GridNotifiers.h

    r174 r233  
    9696        std::set<uint64> plr_list; 
    9797        bool i_toPossessor; 
     98        bool i_toSelf; 
    9899        float i_dist; 
    99         Deliverer(WorldObject &src, WorldPacket *msg, bool to_possessor, float dist = 0.0f) : i_source(src), i_message(msg), i_toPossessor(to_possessor), i_dist(dist) {} 
     100        Deliverer(WorldObject &src, WorldPacket *msg, bool to_possessor, bool to_self, float dist = 0.0f) : i_source(src), i_message(msg), i_toPossessor(to_possessor), i_toSelf(to_self), i_dist(dist) {} 
    100101        void Visit(PlayerMapType &m); 
    101102        void Visit(CreatureMapType &m); 
     103        void Visit(DynamicObjectMapType &m); 
    102104        virtual void VisitObject(Player* plr) = 0; 
    103105        void SendPacket(Player* plr); 
     
    107109    struct TRINITY_DLL_DECL MessageDeliverer : public Deliverer 
    108110    { 
    109         bool i_toSelf; 
    110         MessageDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, bool to_self) : Deliverer(pl, msg, to_possessor), i_toSelf(to_self) {} 
     111        MessageDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, bool to_self) : Deliverer(pl, msg, to_possessor, to_self) {} 
    111112        void VisitObject(Player* plr); 
    112113    }; 
     
    114115    struct TRINITY_DLL_DECL ObjectMessageDeliverer : public Deliverer 
    115116    { 
    116         explicit ObjectMessageDeliverer(WorldObject &src, WorldPacket *msg, bool to_possessor) : Deliverer(src, msg, to_possessor) {} 
     117        explicit ObjectMessageDeliverer(WorldObject &src, WorldPacket *msg, bool to_possessor) : Deliverer(src, msg, to_possessor, false) {} 
    117118        void VisitObject(Player* plr) { SendPacket(plr); } 
    118119    }; 
     
    120121    struct TRINITY_DLL_DECL MessageDistDeliverer : public Deliverer 
    121122    { 
    122         bool i_toSelf; 
    123123        bool i_ownTeamOnly; 
    124         MessageDistDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, float dist, bool to_self, bool ownTeamOnly) : Deliverer(pl, msg, to_possessor, dist), i_toSelf(to_self), i_ownTeamOnly(ownTeamOnly) {} 
     124        MessageDistDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, float dist, bool to_self, bool ownTeamOnly) : Deliverer(pl, msg, to_possessor, to_self, dist), i_ownTeamOnly(ownTeamOnly) {} 
    125125        void VisitObject(Player* plr); 
    126126    }; 
     
    128128    struct TRINITY_DLL_DECL ObjectMessageDistDeliverer : public Deliverer 
    129129    { 
    130         ObjectMessageDistDeliverer(WorldObject &obj, WorldPacket *msg, bool to_possessor, float dist) : Deliverer(obj, msg, to_possessor, dist) {} 
     130        ObjectMessageDistDeliverer(WorldObject &obj, WorldPacket *msg, bool to_possessor, float dist) : Deliverer(obj, msg, to_possessor, false, dist) {} 
    131131        void VisitObject(Player* plr) { SendPacket(plr); } 
    132132    };