* Some changes to scarlet ghouls script, still needs proper core support to work 100% correctly.
* Add item script for the harvester's gift, to prevent creating more than 5 scarlet ghouls, I know this can be done in a better way, but, I couldn't figure out how. * Add new function Unit::GetAllMinionsByEntry(std::list<Creature*>& Minions, uint32 entry) used to correctly count how many scarlet ghouls a player has, can probably be handy in other situations. --HG-- branch : trunk
This commit is contained in:
@@ -8703,6 +8703,18 @@ void Unit::SetMinion(Minion *minion, bool apply)
|
||||
}
|
||||
}
|
||||
|
||||
void Unit::GetAllMinionsByEntry(std::list<Creature*>& Minions, uint32 entry)
|
||||
{
|
||||
for(Unit::ControlList::iterator itr = m_Controlled.begin(); itr != m_Controlled.end();)
|
||||
{
|
||||
Unit *unit = *itr;
|
||||
++itr;
|
||||
if(unit->GetEntry() == entry && unit->GetTypeId() == TYPEID_UNIT
|
||||
&& ((Creature*)unit)->isSummon()) // minion, actually
|
||||
Minions.push_back((Creature*)unit);
|
||||
}
|
||||
}
|
||||
|
||||
void Unit::RemoveAllMinionsByEntry(uint32 entry)
|
||||
{
|
||||
for(Unit::ControlList::iterator itr = m_Controlled.begin(); itr != m_Controlled.end();)
|
||||
|
||||
@@ -1464,6 +1464,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
Player* GetCharmerOrOwnerPlayerOrPlayerItself() const;
|
||||
|
||||
void SetMinion(Minion *minion, bool apply);
|
||||
void GetAllMinionsByEntry(std::list<Creature*>& Minions, uint32 entry);
|
||||
void RemoveAllMinionsByEntry(uint32 entry);
|
||||
void SetCharm(Unit* target, bool apply);
|
||||
Unit* GetNextRandomRaidMemberOrPet(float radius);
|
||||
|
||||
Reference in New Issue
Block a user