Browse Source

CheckProcs should be just using a vector

Image 4 years ago
parent
commit
de551afbbe
1 changed files with 6 additions and 6 deletions
  1. 6 6
      EQ2/source/WorldServer/Combat.cpp

+ 6 - 6
EQ2/source/WorldServer/Combat.cpp

@@ -1364,7 +1364,7 @@ void Entity::CheckProcs(int8 type, Spawn* target) {
 
 	float roll = MakeRandomFloat(0, 100);
 
-	std::map<int8, Proc*> tmpMap;
+	vector<Proc*> tmpList;
 
 	MProcList.readlock(__FUNCTION__, __LINE__);
 	for (int8 i = 0; i < m_procList[type].size(); i++) {
@@ -1375,16 +1375,16 @@ void Entity::CheckProcs(int8 type, Spawn* target) {
 			tmpProc->chance = proc->chance;
 			tmpProc->item = proc->item;
 			tmpProc->spell = proc->spell;
-			tmpMap.insert(make_pair(i, tmpProc));
+			tmpList.push_back(tmpProc);
 		}
 	}
 	MProcList.releasereadlock(__FUNCTION__, __LINE__);
 
 
-	map<int8,Proc*>::iterator proc_itr;
-	for (proc_itr = tmpMap.begin(); proc_itr != tmpMap.end(); proc_itr++) {
-		Proc* tmpProc = proc_itr->second;
-		CastProc(tmpProc, proc_itr->first, target);
+	vector<Proc*>::iterator proc_itr;
+	for (proc_itr = tmpList.begin(); proc_itr != tmpList.end(); proc_itr++) {
+		Proc* tmpProc = *proc_itr;
+		CastProc(tmpProc, type, target);
 		safe_delete(tmpProc);
 	}
 }