diff options
| author | Spp <spp@jorge.gr> | 2013-05-21 11:27:12 +0200 |
|---|---|---|
| committer | Spp <spp@jorge.gr> | 2013-05-21 11:27:12 +0200 |
| commit | ec0688ade37677d43e22c05b7c480217b0528709 (patch) | |
| tree | e802c8a0fd2da0c7006b39c94c136821ff35ab6b /src/server/game/Conditions/ConditionMgr.cpp | |
| parent | 86afccc8ff7f54d8ebf28473bc2799dc7e039083 (diff) | |
| parent | 00c11688974fc00342a62387b6e2d682884e0721 (diff) | |
Merge branch 'master' into 4.3.4 (Added SQL to fix trinity_string conflict)
Conflicts:
src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
src/server/game/DataStores/DBCStructure.h
src/server/game/DataStores/DBCfmt.h
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Groups/Group.cpp
src/server/game/Handlers/AuctionHouseHandler.cpp
src/server/game/Miscellaneous/Language.h
src/server/game/Spells/Auras/SpellAuraEffects.cpp
src/server/game/Spells/Auras/SpellAuras.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
| -rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 43ac9d1c30a..507f8e066e3 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -1134,6 +1134,9 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond) if ((1<<firstEffIndex) & *itr) break; + if (firstEffIndex >= MAX_SPELL_EFFECTS) + return false; + // get shared data ConditionList* sharedList = spellInfo->Effects[firstEffIndex].ImplicitTargetConditions; @@ -1153,9 +1156,18 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond) { // add new list, create new shared mask sharedList = new ConditionList(); + bool assigned = false; for (uint8 i = firstEffIndex; i < MAX_SPELL_EFFECTS; ++i) + { if ((1<<i) & commonMask) + { spellInfo->Effects[i].ImplicitTargetConditions = sharedList; + assigned = true; + } + } + + if (!assigned) + delete sharedList; } sharedList->push_back(cond); break; |
