Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
    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();
                }
            }
        }
    }