diff options
Diffstat (limited to 'src/game-server')
-rw-r--r-- | src/game-server/abilitycomponent.cpp | 3 | ||||
-rw-r--r-- | src/game-server/abilitymanager.cpp | 57 | ||||
-rw-r--r-- | src/game-server/abilitymanager.h | 17 | ||||
-rw-r--r-- | src/game-server/commandhandler.cpp | 3 | ||||
-rw-r--r-- | src/game-server/settingsmanager.cpp | 4 |
5 files changed, 9 insertions, 75 deletions
diff --git a/src/game-server/abilitycomponent.cpp b/src/game-server/abilitycomponent.cpp index d3154490..e8113e67 100644 --- a/src/game-server/abilitycomponent.cpp +++ b/src/game-server/abilitycomponent.cpp @@ -42,7 +42,7 @@ void AbilityComponent::update(Entity &entity) if (!ability.recharged && ability.rechargeTimeout.expired()) { ability.recharged = true; - if (ability.abilityInfo->rechargedCallback) { + if (ability.abilityInfo->rechargedCallback.isValid()) { Script *script = ScriptManager::currentState(); script->prepare(ability.abilityInfo->rechargedCallback); script->push(&entity); @@ -95,7 +95,6 @@ bool AbilityComponent::abilityUseCheck(AbilityMap::iterator it) if (!ability.abilityInfo->useCallback.isValid()) { LOG_WARN("No callback for use of ability " - << ability.abilityInfo->categoryName << "/" << ability.abilityInfo->name << ". Ignoring ability."); return false; } diff --git a/src/game-server/abilitymanager.cpp b/src/game-server/abilitymanager.cpp index b03c0828..3e923800 100644 --- a/src/game-server/abilitymanager.cpp +++ b/src/game-server/abilitymanager.cpp @@ -36,32 +36,6 @@ static AbilityManager::TargetMode getTargetByString(const std::string &str) return AbilityManager::TARGET_BEING; } - -/** - * Read a <special> element from settings. - * Used by SettingsManager. - */ -void AbilityManager::readAbilityCategoryNode(xmlNodePtr node, - const std::string &filename) -{ - std::string categoryName = XML::getProperty(node, "name", std::string()); - if (categoryName.empty()) - { - LOG_WARN("The " << filename << " file contains unamed " - << "<ability-category> tags and will be ignored."); - return; - } - - categoryName = utils::toLower(categoryName); - - for_each_xml_child_node(specialNode, node) - { - if (xmlStrEqual(specialNode->name, BAD_CAST "ability")) { - readAbilityNode(specialNode, categoryName); - } - } -} - /** * Check the status of recently loaded configuration. */ @@ -70,9 +44,8 @@ void AbilityManager::checkStatus() LOG_INFO("Loaded " << mAbilitiesInfo.size() << " abilities"); } - void AbilityManager::readAbilityNode(xmlNodePtr abilityNode, - const std::string &categoryName) + const std::string &filename) { std::string name = utils::toLower( XML::getProperty(abilityNode, "name", std::string())); @@ -80,8 +53,7 @@ void AbilityManager::readAbilityNode(xmlNodePtr abilityNode, if (id <= 0 || name.empty()) { - LOG_WARN("Invalid ability (empty name or id <= 0) in category: " - << categoryName); + LOG_WARN("Invalid ability (empty name or id <= 0) in " << filename); return; } @@ -97,7 +69,6 @@ void AbilityManager::readAbilityNode(xmlNodePtr abilityNode, } AbilityInfo *newInfo = new AbilityManager::AbilityInfo; - newInfo->categoryName = categoryName; newInfo->name = name; newInfo->id = id; @@ -106,8 +77,7 @@ void AbilityManager::readAbilityNode(xmlNodePtr abilityNode, mAbilitiesInfo[newInfo->id] = newInfo; - std::string keyName = categoryName + "/" + newInfo->name; - mNamedAbilitiesInfo[keyName] = newInfo; + mNamedAbilitiesInfo[name] = newInfo; } void AbilityManager::initialize() @@ -131,13 +101,6 @@ void AbilityManager::clear() mNamedAbilitiesInfo.clear(); } -unsigned AbilityManager::getId(const std::string &category, - const std::string &name) const -{ - std::string key = utils::toLower(category) + "/" + utils::toLower(name); - return getId(key); -} - unsigned AbilityManager::getId(const std::string &abilityName) const { if (mNamedAbilitiesInfo.contains(abilityName)) @@ -152,12 +115,6 @@ const std::string AbilityManager::getAbilityName(int id) const return it != mAbilitiesInfo.end() ? it->second->name : ""; } -const std::string AbilityManager::getCategoryName(int id) const -{ - AbilitiesInfo::const_iterator it = mAbilitiesInfo.find(id); - return it != mAbilitiesInfo.end() ? it->second->categoryName : ""; -} - AbilityManager::AbilityInfo *AbilityManager::getAbilityInfo(int id) const { AbilitiesInfo::const_iterator it = mAbilitiesInfo.find(id); @@ -165,14 +122,6 @@ AbilityManager::AbilityInfo *AbilityManager::getAbilityInfo(int id) const } AbilityManager::AbilityInfo *AbilityManager::getAbilityInfo( - const std::string &category, - const std::string &name) const -{ - std::string key = utils::toLower(category) + "/" + utils::toLower(name); - return getAbilityInfo(key); -} - -AbilityManager::AbilityInfo *AbilityManager::getAbilityInfo( const std::string &abilityName) const { if (mNamedAbilitiesInfo.contains(abilityName)) diff --git a/src/game-server/abilitymanager.h b/src/game-server/abilitymanager.h index ef16c230..573db415 100644 --- a/src/game-server/abilitymanager.h +++ b/src/game-server/abilitymanager.h @@ -47,7 +47,6 @@ public: unsigned id; std::string name; - std::string categoryName; TargetMode target; Script::Ref rechargedCallback; Script::Ref useCallback; @@ -70,38 +69,26 @@ public: void reload(); /** - * Gets the abilities Id from a category and a ability string. - */ - unsigned getId(const std::string &category, const std::string &name) const; - - /** * Gets the abilities Id from a string formatted in this way: * "categoryname_skillname" */ unsigned getId(const std::string &abilityName) const; const std::string getAbilityName(int id) const; - const std::string getCategoryName(int id) const; AbilityInfo *getAbilityInfo(int id) const; - AbilityInfo *getAbilityInfo(const std::string &category, - const std::string &name) const; AbilityInfo *getAbilityInfo(const std::string &abilityName) const; - - void readAbilityCategoryNode(xmlNodePtr node, const std::string &filename); - void checkStatus(); + void readAbilityNode(xmlNodePtr skillNode, const std::string &filename); + private: /** * Clears up the ability maps. */ void clear(); - void readAbilityNode(xmlNodePtr skillNode, - const std::string &categoryName); - typedef std::map<unsigned, AbilityInfo*> AbilitiesInfo; AbilitiesInfo mAbilitiesInfo; typedef utils::NameMap<AbilityInfo*> NamedAbilitiesInfo; diff --git a/src/game-server/commandhandler.cpp b/src/game-server/commandhandler.cpp index a426a144..4c2adad3 100644 --- a/src/game-server/commandhandler.cpp +++ b/src/game-server/commandhandler.cpp @@ -1702,8 +1702,7 @@ static void handleListAbility(Entity *player, std::string &args) { const AbilityValue &info = abilityIt.second; std::stringstream str; - str << info.abilityInfo->id << ": " << info.abilityInfo->categoryName - << "/" << info.abilityInfo->name; + str << info.abilityInfo->id << ": " << info.abilityInfo->name; say(str.str(), player); } } diff --git a/src/game-server/settingsmanager.cpp b/src/game-server/settingsmanager.cpp index 29c4f214..d6e5e564 100644 --- a/src/game-server/settingsmanager.cpp +++ b/src/game-server/settingsmanager.cpp @@ -135,10 +135,10 @@ void SettingsManager::loadFile(const std::string &filename) // attribute config attributeManager->readAttributeNode(childNode); } - else if (xmlStrEqual(childNode->name, BAD_CAST "ability-category")) + else if (xmlStrEqual(childNode->name, BAD_CAST "ability")) { // ability config - abilityManager->readAbilityCategoryNode(childNode, filename); + abilityManager->readAbilityNode(childNode, filename); } else if (xmlStrEqual(childNode->name, BAD_CAST "slot")) { |