From e26b64efb9c6b79bbd5d9426af6887e83651e466 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 6 May 2011 19:37:58 +0300 Subject: Move attack filter arrays and methods from localplayer to actorspritemanager class. --- src/actorspritemanager.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) (limited to 'src/actorspritemanager.h') diff --git a/src/actorspritemanager.h b/src/actorspritemanager.h index c7deba867..d25bee2c1 100644 --- a/src/actorspritemanager.h +++ b/src/actorspritemanager.h @@ -229,6 +229,73 @@ class ActorSpriteManager: public ConfigListener void optionChanged(const std::string &name); + void removeAttackMob(const std::string &name); + + void addPriorityAttackMob(std::string name); + + void addAttackMob(std::string name); + + void addIgnoreAttackMob(std::string name); + + std::list getPriorityAttackMobs() + { return mPriorityAttackMobs; } + + std::list getAttackMobs() + { return mAttackMobs; } + + void setPriorityAttackMobs(std::list mobs) + { mPriorityAttackMobs = mobs; } + + void setAttackMobs(std::list mobs) + { mAttackMobs = mobs; } + + int getPriorityAttackMobsSize() + { return mPriorityAttackMobs.size(); } + + int getAttackMobsSize() + { return mAttackMobs.size(); } + + std::list getIgnoreAttackMobs() + { return mIgnoreAttackMobs; } + + std::set getAttackMobsSet() + { return mAttackMobsSet; } + + std::set getPriorityAttackMobsSet() + { return mPriorityAttackMobsSet; } + + std::set getIgnoreAttackMobsSet() + { return mIgnoreAttackMobsSet; } + + void rebuildPriorityAttackMobs(); + + void rebuildAttackMobs(); + + bool isInAttackList(const std::string &name) + { return mAttackMobsSet.find(name) != mAttackMobsSet.end(); } + + bool isInPriorityAttackList(const std::string &name) + { + return mPriorityAttackMobsSet.find(name) + != mPriorityAttackMobsSet.end(); + } + + bool isInIgnoreAttackList(const std::string &name) + { + return mIgnoreAttackMobsSet.find(name) + != mIgnoreAttackMobsSet.end(); + } + + std::map getAttackMobsMap() + { return mAttackMobsMap; } + + std::map getPriorityAttackMobsMap() + { return mPriorityAttackMobsMap; } + + int getAttackMobIndex(std::string name); + + int getPriorityAttackMobIndex(std::string name); + protected: bool validateBeing(Being *aroundBeing, Being* being, Being::Type type, Being* excluded = 0, @@ -248,6 +315,15 @@ class ActorSpriteManager: public ConfigListener bool mTargetOnlyReachable; bool mCyclePlayers; bool mCycleMonsters; + + std::list mPriorityAttackMobs; + std::list mAttackMobs; + std::list mIgnoreAttackMobs; + std::set mPriorityAttackMobsSet; + std::set mAttackMobsSet; + std::set mIgnoreAttackMobsSet; + std::map mPriorityAttackMobsMap; + std::map mAttackMobsMap; }; extern ActorSpriteManager *actorSpriteManager; -- cgit v1.2.3-60-g2f50