Scripts: Implemented virtual function DoCastSpellOnPlayers (self-explanatory) and CheckRequiredBosses checking states of other bosses before allowing combat with selected one

Scripts/Icecrown Citadel: Added checks to prevent skipping bosses
This commit is contained in:
Shauren
2011-01-01 23:37:35 +01:00
parent ce76f10bc8
commit 039d87bbc9
14 changed files with 222 additions and 59 deletions
@@ -173,6 +173,9 @@ class InstanceScript : public ZoneScript
// Remove Auras due to Spell on all players in instance
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell);
// Cast spell on all players in instance
void DoCastSpellOnPlayers(uint32 spell);
// Return wether server allow two side groups or not
bool ServerAllowsTwoSideGroups() { return sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP); }
@@ -183,6 +186,10 @@ class InstanceScript : public ZoneScript
// Achievement criteria additional requirements check
// NOTE: not use this if same can be checked existed requirement types from AchievementCriteriaRequirementType
virtual bool CheckAchievementCriteriaMeet(uint32 /*criteria_id*/, Player const* /*source*/, Unit const* /*target*/ = NULL, uint32 /*miscvalue1*/ = 0);
// Checks boss requirements (one boss required to kill other)
virtual bool CheckRequiredBosses(uint32 /*bossId*/, Player const* /*player*/ = NULL) const { return true; }
protected:
void SetBossNumber(uint32 number) { bosses.resize(number); }
void LoadDoorData(const DoorData *data);