diff options
| author | Shauren <shauren.trinity@gmail.com> | 2011-03-04 23:53:11 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2011-03-04 23:53:11 +0100 |
| commit | 36f848a4c222828cafb50f87790219da14245a03 (patch) | |
| tree | 82b99d3949a3a38761aee9b2a51a825441ee2a2a /src/server/game/AI/ScriptedAI | |
| parent | 22cd262e6ced18d7b98c4ef0635aff5d8a7155b2 (diff) | |
Scripts/Icecrown Citadel: Only one Mutated Abomination can exist during Professor Putricide encounter
Scripts/Spells: Added blizzlike error messages for certain spells
Scripts/Items: Removed obsolete scripts
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 27 | ||||
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.h | 2 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index ddf000e31c7..6eec549d37a 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -81,6 +81,33 @@ void SummonList::DespawnAll() } } +void SummonList::RemoveNotExisting() +{ + for (iterator i = begin(); i != end();) + { + if (Unit::GetCreature(*me, *i)) + ++i; + else + erase(i++); + } +} + +bool SummonList::HasEntry(uint32 entry) +{ + for (iterator i = begin(); i != end();) + { + Creature* summon = Unit::GetCreature(*me, *i); + if (!summon) + erase(i++); + else if (summon->GetEntry() == entry) + return true; + else + ++i; + } + + return false; +} + ScriptedAI::ScriptedAI(Creature* pCreature) : CreatureAI(pCreature), me(pCreature), IsFleeing(false), diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index f94a41dfb10..f7a28a71e33 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -36,6 +36,8 @@ class SummonList : public std::list<uint64> void DespawnAll(); void DoAction(uint32 entry, uint32 info); void DoZoneInCombat(uint32 entry = 0); + void RemoveNotExisting(); + bool HasEntry(uint32 entry); private: Creature *me; }; |
