Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .../TrialOfTheCrusader/boss_anubarak_trial.cpp | 13 ++++++-
- .../TrialOfTheCrusader/boss_faction_champions.cpp | 7 +++-
- .../TrialOfTheCrusader/boss_lord_jaraxxus.cpp | 13 ++++++-
- .../TrialOfTheCrusader/boss_northrend_beasts.cpp | 39 +++++++++++++++-----
- .../TrialOfTheCrusader/boss_twin_valkyr.cpp | 7 +++-
- .../instance_trial_of_the_crusader.cpp | 18 +++++----
- .../TrialOfTheCrusader/trial_of_the_crusader.h | 10 +++++
- 7 files changed, 82 insertions(+), 25 deletions(-)
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
- index b7e38f9..8e891e0 100755
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
- @@ -132,9 +132,9 @@ public:
- return new boss_anubarak_trialAI(pCreature);
- };
- - struct boss_anubarak_trialAI : public ScriptedAI
- + struct boss_anubarak_trialAI : public BossAI
- {
- - boss_anubarak_trialAI(Creature* pCreature) : ScriptedAI(pCreature), Summons(me)
- + boss_anubarak_trialAI(Creature* pCreature) : BossAI(pCreature, BOSS_ANUBARAK), Summons(me)
- {
- m_pInstance = (InstanceScript*)pCreature->GetInstanceScript();
- }
- @@ -207,7 +207,10 @@ public:
- void JustReachedHome()
- {
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_ANUBARAK, FAIL);
- + m_pInstance->SetBossState(BOSS_ANUBARAK, NOT_STARTED);
- + }
- //Summon Scarab Swarms neutral at random places
- for (int i=0; i < 10; i++)
- if (Creature* pTemp = me->SummonCreature(NPC_SCARAB, AnubarakLoc[1].GetPositionX()+urand(0, 50)-25, AnubarakLoc[1].GetPositionY()+urand(0, 50)-25, AnubarakLoc[1].GetPositionZ()))
- @@ -219,7 +222,10 @@ public:
- Summons.DespawnAll();
- DoScriptText(SAY_DEATH, me);
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_ANUBARAK, DONE);
- + m_pInstance->SetBossState(BOSS_ANUBARAK, DONE);
- + }
- }
- void JustSummoned(Creature* pSummoned)
- @@ -256,7 +262,10 @@ public:
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- me->SetInCombatWithZone();
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_ANUBARAK, IN_PROGRESS);
- + m_pInstance->SetBossState(BOSS_ANUBARAK, IN_PROGRESS);
- + }
- //Despawn Scarab Swarms neutral
- Summons.DoAction(NPC_SCARAB, ACTION_SCARAB_SUBMERGE);
- //Spawn Burrow
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
- index 62fa2f8..c7e1550 100755
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
- @@ -215,6 +215,7 @@ public:
- if (m_uiChampionsFailed + m_uiChampionsKilled >= Summons.size())
- {
- m_pInstance->SetData(TYPE_CRUSADERS, FAIL);
- + m_pInstance->SetBossState(BOSS_CRUSADERS, NOT_STARTED);
- Summons.DespawnAll();
- me->DespawnOrUnsummon();
- }
- @@ -228,6 +229,7 @@ public:
- m_bInProgress = true;
- Summons.DoZoneInCombat();
- m_pInstance->SetData(TYPE_CRUSADERS, IN_PROGRESS);
- + m_pInstance->SetBossState(BOSS_CRUSADERS, IN_PROGRESS);
- }
- break;
- case DONE:
- @@ -237,6 +239,7 @@ public:
- else if (m_uiChampionsKilled >= Summons.size())
- {
- m_pInstance->SetData(TYPE_CRUSADERS, DONE);
- + m_pInstance->SetBossState(BOSS_CRUSADERS, DONE);
- Summons.DespawnAll();
- me->DespawnOrUnsummon();
- }
- @@ -249,9 +252,9 @@ public:
- };
- -struct boss_faction_championsAI : public ScriptedAI
- +struct boss_faction_championsAI : public BossAI
- {
- - boss_faction_championsAI(Creature* pCreature, uint32 aitype) : ScriptedAI(pCreature)
- + boss_faction_championsAI(Creature* pCreature, uint32 aitype) : BossAI(pCreature, BOSS_CRUSADERS)
- {
- m_pInstance = (InstanceScript *) pCreature->GetInstanceScript();
- mAIType = aitype;
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
- index 5dda655..2f60af5 100755
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
- @@ -95,9 +95,9 @@ public:
- return new boss_jaraxxusAI(pCreature);
- }
- - struct boss_jaraxxusAI : public ScriptedAI
- + struct boss_jaraxxusAI : public BossAI
- {
- - boss_jaraxxusAI(Creature* pCreature) : ScriptedAI(pCreature), Summons(me)
- + boss_jaraxxusAI(Creature* pCreature) : BossAI(pCreature, BOSS_JARAXXUS), Summons(me)
- {
- m_pInstance = pCreature->GetInstanceScript();
- Reset();
- @@ -135,7 +135,10 @@ public:
- void JustReachedHome()
- {
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_JARAXXUS, FAIL);
- + m_pInstance->SetBossState(BOSS_JARAXXUS, NOT_STARTED);
- + }
- DoCast(me, SPELL_JARAXXUS_CHAINS);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- me->SetReactState(REACT_PASSIVE);
- @@ -155,7 +158,10 @@ public:
- Summons.DespawnAll();
- DoScriptText(SAY_DEATH, me);
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_JARAXXUS, DONE);
- + m_pInstance->SetBossState(BOSS_JARAXXUS, DONE);
- + }
- }
- void JustSummoned(Creature* pSummoned)
- @@ -167,7 +173,10 @@ public:
- {
- me->SetInCombatWithZone();
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_JARAXXUS, IN_PROGRESS);
- + m_pInstance->SetBossState(BOSS_JARAXXUS, IN_PROGRESS);
- + }
- DoScriptText(SAY_AGGRO, me);
- }
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
- index ba8682d..89119e4 100755
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
- @@ -119,9 +119,9 @@ public:
- return new boss_gormokAI(pCreature);
- }
- - struct boss_gormokAI : public ScriptedAI
- + struct boss_gormokAI : public BossAI
- {
- - boss_gormokAI(Creature* pCreature) : ScriptedAI(pCreature), Summons(me)
- + boss_gormokAI(Creature* pCreature) : BossAI(pCreature, BOSS_BEASTS), Summons(me)
- {
- m_pInstance = (InstanceScript*)pCreature->GetInstanceScript();
- }
- @@ -158,14 +158,21 @@ public:
- void JustReachedHome()
- {
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_NORTHREND_BEASTS, FAIL);
- + m_pInstance->SetBossState(BOSS_BEASTS, NOT_STARTED);
- + }
- me->DespawnOrUnsummon();
- }
- void EnterCombat(Unit* /*pWho*/)
- {
- me->SetInCombatWithZone();
- - m_pInstance->SetData(TYPE_NORTHREND_BEASTS, GORMOK_IN_PROGRESS);
- + if (m_pInstance)
- + {
- + m_pInstance->SetData(TYPE_NORTHREND_BEASTS, GORMOK_IN_PROGRESS);
- + m_pInstance->SetBossState(BOSS_BEASTS, IN_PROGRESS);
- + }
- }
- void JustSummoned(Creature* summon)
- @@ -357,11 +364,11 @@ public:
- };
- -struct boss_jormungarAI : public ScriptedAI
- +struct boss_jormungarAI : public BossAI
- {
- - boss_jormungarAI(Creature* creature) : ScriptedAI(creature)
- + boss_jormungarAI(Creature* pCreature) : BossAI(pCreature, BOSS_BEASTS)
- {
- - instanceScript = creature->GetInstanceScript();
- + instanceScript = pCreature->GetInstanceScript();
- }
- void Reset()
- @@ -397,8 +404,10 @@ struct boss_jormungarAI : public ScriptedAI
- void JustReachedHome()
- {
- if (instanceScript && instanceScript->GetData(TYPE_NORTHREND_BEASTS) != FAIL)
- + {
- instanceScript->SetData(TYPE_NORTHREND_BEASTS, FAIL);
- -
- + instanceScript->SetBossState(BOSS_BEASTS, NOT_STARTED);
- + }
- me->DespawnOrUnsummon();
- }
- @@ -415,7 +424,10 @@ struct boss_jormungarAI : public ScriptedAI
- {
- me->SetInCombatWithZone();
- if (instanceScript)
- + {
- instanceScript->SetData(TYPE_NORTHREND_BEASTS, SNAKES_IN_PROGRESS);
- + instanceScript->SetBossState(BOSS_BEASTS, IN_PROGRESS);
- + }
- }
- void UpdateAI(const uint32 uiDiff)
- @@ -677,9 +689,9 @@ public:
- return new boss_icehowlAI(pCreature);
- }
- - struct boss_icehowlAI : public ScriptedAI
- + struct boss_icehowlAI : public BossAI
- {
- - boss_icehowlAI(Creature* pCreature) : ScriptedAI(pCreature)
- + boss_icehowlAI(Creature* pCreature) : BossAI(pCreature, BOSS_BEASTS)
- {
- m_pInstance = (InstanceScript*)pCreature->GetInstanceScript();
- }
- @@ -719,7 +731,10 @@ public:
- void JustDied(Unit* /*pKiller*/)
- {
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_NORTHREND_BEASTS, ICEHOWL_DONE);
- + m_pInstance->SetBossState(BOSS_BEASTS, DONE);
- + }
- }
- void MovementInform(uint32 uiType, uint32 uiId)
- @@ -752,7 +767,10 @@ public:
- void JustReachedHome()
- {
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_NORTHREND_BEASTS, FAIL);
- + m_pInstance->SetBossState(BOSS_BEASTS, NOT_STARTED);
- + }
- me->DespawnOrUnsummon();
- }
- @@ -768,7 +786,10 @@ public:
- void EnterCombat(Unit* /*pWho*/)
- {
- if (m_pInstance)
- + {
- m_pInstance->SetData(TYPE_NORTHREND_BEASTS, ICEHOWL_IN_PROGRESS);
- + m_pInstance->SetBossState(BOSS_BEASTS, IN_PROGRESS);
- + }
- me->SetInCombatWithZone();
- }
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
- index daf306a..7071260 100755
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
- @@ -112,9 +112,9 @@ enum Actions
- ## boss_twin_base
- ######*/
- -struct boss_twin_baseAI : public ScriptedAI
- +struct boss_twin_baseAI : public BossAI
- {
- - boss_twin_baseAI(Creature* pCreature) : ScriptedAI(pCreature), Summons(me)
- + boss_twin_baseAI(Creature* pCreature) : BossAI(pCreature, BOSS_VALKIRIES), Summons(me)
- {
- m_pInstance = (InstanceScript*)pCreature->GetInstanceScript();
- }
- @@ -173,6 +173,7 @@ struct boss_twin_baseAI : public ScriptedAI
- {
- m_pInstance->SetData(TYPE_VALKIRIES, FAIL);
- m_pInstance->SetData(DATA_HEALTH_TWIN_SHARED, me->GetMaxHealth());
- + m_pInstance->SetBossState(BOSS_VALKIRIES, NOT_STARTED);
- }
- me->DespawnOrUnsummon();
- }
- @@ -288,6 +289,7 @@ struct boss_twin_baseAI : public ScriptedAI
- if (!pSister->isAlive())
- {
- m_pInstance->SetData(TYPE_VALKIRIES, DONE);
- + m_pInstance->SetBossState(BOSS_VALKIRIES, DONE);
- Summons.DespawnAll();
- }
- else m_pInstance->SetData(TYPE_VALKIRIES, SPECIAL);
- @@ -309,6 +311,7 @@ struct boss_twin_baseAI : public ScriptedAI
- {
- m_pInstance->SetData(TYPE_VALKIRIES, IN_PROGRESS);
- m_pInstance->SetData(DATA_HEALTH_TWIN_SHARED, me->GetMaxHealth());
- + m_pInstance->SetBossState(BOSS_VALKIRIES, IN_PROGRESS);
- }
- if (me->isAlive())
- {
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
- index 8a404c4..dd40a34 100755
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
- @@ -85,6 +85,8 @@ class instance_trial_of_the_crusader : public InstanceMapScript
- for (uint8 i = 0; i < MAX_ENCOUNTERS; ++i)
- EncounterStatus[i] = NOT_STARTED;
- + SetBossNumber(MAX_BOSS_NUMBER);
- +
- TrialCounter = 50;
- EventStage = 0;
- @@ -108,14 +110,6 @@ class instance_trial_of_the_crusader : public InstanceMapScript
- NeedSave = false;
- }
- - bool IsEncounterInProgress() const
- - {
- - for (uint8 i = 0; i < MAX_ENCOUNTERS ; ++i)
- - if (EncounterStatus[i] == IN_PROGRESS)
- - return true;
- - return false;
- - }
- -
- void OnPlayerEnter(Player* player)
- {
- if (instance->IsHeroic())
- @@ -611,6 +605,14 @@ class instance_trial_of_the_crusader : public InstanceMapScript
- ResilienceWillFixItTimer -= diff;
- }
- }
- +
- + bool SetBossState(uint32 id, EncounterState state)
- + {
- + if (!InstanceScript::SetBossState(id, state))
- + return false;
- +
- + return true;
- + }
- void Save()
- {
- diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
- index ab9087c..bb464ea 100644
- --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
- +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
- @@ -37,6 +37,16 @@ enum
- DESPAWN_TIME = 300000,
- };
- +enum BossToC
- +{
- + BOSS_BEASTS = 0,
- + BOSS_JARAXXUS = 1,
- + BOSS_CRUSADERS = 2,
- + BOSS_VALKIRIES = 3,
- + BOSS_ANUBARAK = 4,
- + MAX_BOSS_NUMBER = 5,
- +};
- +
- const Position ToCCommonLoc[]=
- {
- {559.257996f, 90.266197f, 395.122986f, 0}, // 0 Barrent
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement