diff options
Diffstat (limited to 'src')
4 files changed, 17 insertions, 3 deletions
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp index 624ad419243..8afd498f699 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp @@ -311,6 +311,8 @@ CreatureAI* GetAI_npc_millhouse_manastorm(Creature *_Creature) #define SPELL_TARGET_OMEGA 36852 #define SPELL_BUBBLE_VISUAL 36849 +#define GOBJECT_SHIELD 184802 + struct TRINITY_DLL_DECL npc_warden_mellicharAI : public ScriptedAI { npc_warden_mellicharAI(Creature *c) : ScriptedAI(c) @@ -368,7 +370,7 @@ struct TRINITY_DLL_DECL npc_warden_mellicharAI : public ScriptedAI DoPlaySoundToSet(m_creature,SOUND_INTRO1); //possibly wrong spell OR should also cast second spell to make bubble appear (visual for this spell appear to be the correct) DoCast(m_creature,SPELL_BUBBLE_VISUAL); - + if( pInstance ) { pInstance->SetData(TYPE_HARBINGERSKYRISS,IN_PROGRESS); @@ -411,6 +413,7 @@ struct TRINITY_DLL_DECL npc_warden_mellicharAI : public ScriptedAI case 2: DoCast(m_creature,SPELL_TARGET_ALPHA); pInstance->SetData(TYPE_WARDEN_1,IN_PROGRESS); + m_creature->SummonGameObject(GOBJECT_SHIELD, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ()-0.5, m_creature->GetOrientation(), 0, 0, 0, 0, 0); break; case 3: DoCast(m_creature,SPELL_TARGET_BETA); diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp index 85cabd03cc4..754c316313f 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp @@ -199,6 +199,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI //should have a better way to do this. possibly spell exist. mellic->setDeathState(JUST_DIED); mellic->SetHealth(0); + pInstance->SetData(TYPE_SHIELD_OPEN,IN_PROGRESS); } ++Intro_Phase; Intro_Timer = 3000; diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h index 8868a36d70c..e175194e936 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h @@ -14,6 +14,6 @@ #define TYPE_WARDEN_3 7 #define TYPE_WARDEN_4 8 #define TYPE_WARDEN_5 9 - #define DATA_MELLICHAR 10 +#define TYPE_SHIELD_OPEN 11 #endif diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp index 2325680d53b..857928936e8 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp @@ -33,8 +33,9 @@ EndScriptData */ #define POD_DELTA 183964 //pod third boss wave #define POD_GAMMA 183962 //pod fourth boss wave #define POD_OMEGA 183965 //pod fifth boss wave +#define WARDENS_SHIELD 184802 // warden shield -#define MELLICHAR 21436 //skyriss will kill this unit +#define MELLICHAR 20904 //skyriss will kill this unit /* Arcatraz encounters: 1 - Zereketh the Unbound event @@ -56,6 +57,7 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance GameObject *Pod_Beta; GameObject *Pod_Delta; GameObject *Pod_Omega; + GameObject *Wardens_Shield; uint64 Mellichar; @@ -68,6 +70,7 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance Pod_Delta = NULL; Pod_Gamma = NULL; Pod_Omega = NULL; + Wardens_Shield = NULL; Mellichar = 0; @@ -94,6 +97,7 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance case POD_DELTA: Pod_Delta = go; break; case POD_GAMMA: Pod_Gamma = go; break; case POD_OMEGA: Pod_Omega = go; break; + case WARDENS_SHIELD: Wardens_Shield = go; break; } } @@ -175,6 +179,12 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance Pod_Omega->UseDoorOrButton(); Encounter[8] = data; break; + + case TYPE_SHIELD_OPEN: + if( data == IN_PROGRESS ) + if( Wardens_Shield ) + Wardens_Shield->UseDoorOrButton(); + break; } } |