void SpawnAdds() { DeSpawnAdds(); if (isAddlistEmpty()) { std::list<uint32> AddList; for (uint8 i = 0; i < 6; ++i) AddList.push_back(Adds[i]); Trinity::Containers::RandomResizeList(AddList, 4); uint8 i = 0; for (std::list<uint32>::const_iterator itr = AddList.begin(); itr != AddList.end() && i < 4; ++itr, ++i) { uint32 entry = *itr; if (Creature* creature = me->SummonCreature(entry, Locations[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000)) { AddGUID[i] = creature->GetGUID(); AddId[i] = entry; } } } else { for (uint8 i = 0; i < 4; ++i) { if (Creature* creature = me->SummonCreature(AddId[i], Locations[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000)) AddGUID[i] = creature->GetGUID(); } } }
void SpawnAdds() { DeSpawnAdds(); if(isAddlistEmpty()) { Creature *pCreature = NULL; std::vector<uint32> AddList; for(uint8 i = 0; i < 6; ++i) AddList.push_back(Adds[i]); while(AddList.size() > 4) AddList.erase((AddList.begin())+(rand()%AddList.size())); uint8 i = 0; for(std::vector<uint32>::iterator itr = AddList.begin(); itr != AddList.end(); ++itr) { uint32 entry = *itr; pCreature = m_creature->SummonCreature(entry, Locations[i][0], Locations[i][1], POS_Z, Locations[i][2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000); if (pCreature) { AddGUID[i] = pCreature->GetGUID(); AddId[i] = entry; } ++i; } }else { for(int i = 0; i < 4; i++) { Creature *pCreature = m_creature->SummonCreature(AddId[i], Locations[i][0], Locations[i][1], POS_Z, Locations[i][2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000); if (pCreature) { AddGUID[i] = pCreature->GetGUID(); } } } }