diff options
-rwxr-xr-x | src/server/game/Conditions/ConditionMgr.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 689a6de9eb9..7565451b2a7 100755 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -520,23 +520,24 @@ void ConditionMgr::LoadConditions(bool isReload) bIsDone = addToGossipMenuItems(cond); break; case CONDITION_SOURCE_TYPE_VEHICLE_SPELL: + { + //if no list for vehicle create one + if (m_VehicleSpellConditions.find(cond->mSourceGroup) == m_VehicleSpellConditions.end()) { - //if no list for vehicle create one - if (m_VehicleSpellConditions.find(cond->mSourceGroup) == m_VehicleSpellConditions.end()) - { - ConditionTypeMap cmap; - m_VehicleSpellConditions[cond->mSourceGroup] = cmap; - } - //if no list for vehicle's spell create one - if (m_VehicleSpellConditions[cond->mSourceGroup].find(cond->mSourceEntry) == m_VehicleSpellConditions[cond->mSourceGroup].end()) - { - ConditionList clist; - m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry] = clist; - } - m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry].push_back(cond); - bIsDone = true; - break; + ConditionTypeMap cmap; + m_VehicleSpellConditions[cond->mSourceGroup] = cmap; + } + //if no list for vehicle's spell create one + if (m_VehicleSpellConditions[cond->mSourceGroup].find(cond->mSourceEntry) == m_VehicleSpellConditions[cond->mSourceGroup].end()) + { + ConditionList clist; + m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry] = clist; } + m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry].push_back(cond); + bIsDone = true; + ++count; + continue; // do not add to m_AllocatedMemory to avoid double deleting + } default: break; } |