Show
Ignore:
Timestamp:
11/19/08 13:41:13 (17 years ago)
Author:
yumileroy
Message:

[svn] Add class SummonList? in script to despawn summons. Update Zul'jin script for test.

Original author: megamage
Date: 2008-11-03 10:16:06-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/bindings/scripts/include/sc_creature.cpp

    r130 r153  
    1515    uint8 Effects;                                          // set of enum SelectEffect 
    1616} *SpellSummary; 
     17 
     18void SummonList::Despawn(Creature *summon) 
     19{ 
     20    uint64 guid = summon->GetGUID(); 
     21    for(iterator i = begin(); i != end(); ++i) 
     22    { 
     23        if(*i == guid) 
     24        { 
     25            erase(i); 
     26            return; 
     27        } 
     28    } 
     29} 
     30 
     31void SummonList::DespawnEntry(uint32 entry) 
     32{ 
     33    for(iterator i = begin(); i != end(); ++i) 
     34    { 
     35        if(Creature *summon = (Creature*)Unit::GetUnit(*m_creature, *i)) 
     36        { 
     37            if(summon->GetEntry() == entry) 
     38            { 
     39                summon->setDeathState(JUST_DIED); 
     40                summon->RemoveCorpse(); 
     41                i = erase(i); 
     42                --i; 
     43            } 
     44        } 
     45        else 
     46        { 
     47            i = erase(i); 
     48            --i; 
     49        } 
     50    } 
     51} 
     52 
     53void SummonList::DespawnAll() 
     54{ 
     55    for(iterator i = begin(); i != end(); ++i) 
     56    { 
     57        if(Creature *summon = (Creature*)Unit::GetUnit(*m_creature, *i)) 
     58        { 
     59            summon->setDeathState(JUST_DIED); 
     60            summon->RemoveCorpse(); 
     61        } 
     62    } 
     63    clear(); 
     64} 
    1765 
    1866bool ScriptedAI::IsVisible(Unit* who) const