diff options
author | Stefan Beller <stefanbeller@googlemail.com> | 2012-08-05 22:44:20 +0200 |
---|---|---|
committer | Stefan Beller <stefanbeller@googlemail.com> | 2012-08-05 22:44:39 +0200 |
commit | df976b4e95de4209b2a3da2644cce9ffbacc6415 (patch) | |
tree | d35e0921a5b0d8b0d75ae3f8c28b6189780e074c | |
parent | 9df9797cfd310be64ffb5769d006a72d8c0e5e42 (diff) | |
download | manaserv-df976b4e95de4209b2a3da2644cce9ffbacc6415.tar.gz manaserv-df976b4e95de4209b2a3da2644cce9ffbacc6415.tar.bz2 manaserv-df976b4e95de4209b2a3da2644cce9ffbacc6415.tar.xz manaserv-df976b4e95de4209b2a3da2644cce9ffbacc6415.zip |
Remove resetEffects; move it to destructor in ItemClass.
Reviewed-by: bjorn
-rw-r--r-- | src/game-server/item.cpp | 18 | ||||
-rw-r--r-- | src/game-server/item.h | 20 |
2 files changed, 20 insertions, 18 deletions
diff --git a/src/game-server/item.cpp b/src/game-server/item.cpp index 03aeebcb..d85a1615 100644 --- a/src/game-server/item.cpp +++ b/src/game-server/item.cpp @@ -98,6 +98,24 @@ void ItemEffectScript::dispell(Being *itemUser) } } +ItemClass::~ItemClass() +{ + while (mEffects.begin() != mEffects.end()) + { + delete mEffects.begin()->second; + mEffects.erase(mEffects.begin()); + } +} + +void ItemClass::addEffect(ItemEffectInfo *effect, + ItemTriggerType id, + ItemTriggerType dispell) +{ + mEffects.insert(std::make_pair(id, effect)); + if (dispell) + mDispells.insert(std::make_pair(dispell, effect)); +} + bool ItemClass::useTrigger(Being *itemUser, ItemTriggerType trigger) { if (!trigger) diff --git a/src/game-server/item.h b/src/game-server/item.h index b93352e7..bfc0c80b 100644 --- a/src/game-server/item.h +++ b/src/game-server/item.h @@ -181,8 +181,7 @@ class ItemClass mMaxPerSlot(maxperslot) {} - ~ItemClass() - { resetEffects(); } + ~ItemClass(); /** * Returns the name of the item type @@ -255,22 +254,7 @@ class ItemClass */ void addEffect(ItemEffectInfo *effect, ItemTriggerType id, - ItemTriggerType dispell = ITT_NULL) - { - mEffects.insert(std::make_pair(id, effect)); - if (dispell) - mDispells.insert(std::make_pair(dispell, effect)); - } - - void resetEffects() - { - while (mEffects.begin() != mEffects.end()) - { - delete mEffects.begin()->second; - mEffects.erase(mEffects.begin()); - } - mDispells.clear(); - } + ItemTriggerType dispell = ITT_NULL); unsigned short mDatabaseID; /**< Item reference information */ std::string mName; /**< name used to identify the item class */ |