diff options
author | Spp <none@none> | 2010-05-04 17:51:11 +0200 |
---|---|---|
committer | Spp <none@none> | 2010-05-04 17:51:11 +0200 |
commit | 390f11078f46f05a9b0cd28b09b85d508e6940ec (patch) | |
tree | 3f492d758189e330b12bfeefe2bfed234d50949f /src/game/ItemEnchantmentMgr.cpp | |
parent | 5b4647dcf40d91571d4f1c06d0c9d987724797d6 (diff) |
Add support to set RandomProperty / RandomSuffix to -1 in item_template
--HG--
branch : trunk
Diffstat (limited to 'src/game/ItemEnchantmentMgr.cpp')
-rw-r--r-- | src/game/ItemEnchantmentMgr.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/game/ItemEnchantmentMgr.cpp b/src/game/ItemEnchantmentMgr.cpp index f86ecf1ba67..d452f9f6429 100644 --- a/src/game/ItemEnchantmentMgr.cpp +++ b/src/game/ItemEnchantmentMgr.cpp @@ -86,11 +86,22 @@ void LoadRandomEnchantmentsTable() } } -uint32 GetItemEnchantMod(uint32 entry) +uint32 GetItemEnchantMod(int32 entry) { - if (!entry) return 0; + if (!entry) + return 0; + + EnchantmentStore::const_iterator tab; - EnchantmentStore::const_iterator tab = RandomItemEnch.find(entry); + if (entry == -1) + { + tab = RandomItemEnch.begin(); + entry = urand(1, RandomItemEnch.size()) - 1; + for (uint32 i = 0; i < entry; ++i) + ++tab; + } + else + tab = RandomItemEnch.find(entry); if (tab == RandomItemEnch.end()) { |