aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp5
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp27
2 files changed, 11 insertions, 21 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 5f93ac2d5a0..d4433c7afe5 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
@@ -258,8 +258,6 @@ 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)
@@ -360,7 +358,8 @@ 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);
+ if (GameObject *Sphere = GameObject::GetGameObject(*m_creature,pInstance->GetData64(DATA_SPHERE_SHIELD)))
+ Sphere->SetGoState(1);
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 905f2361c55..823d35ed414 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
@@ -79,7 +79,8 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
void Reset()
{
- m_creature->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NOT_ATTACKABLE_2);
+ if(!Intro)
+ m_creature->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NOT_ATTACKABLE_2);
IsImage33 = false;
IsImage66 = false;
@@ -95,19 +96,13 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
void MoveInLineOfSight(Unit *who)
{
if(!Intro)
- ScriptedAI::MoveInLineOfSight(who);
+ {
+ return;
+ }
+ ScriptedAI::MoveInLineOfSight(who);
}
- void AttackStart(Unit* who)
- {
- if(!Intro)
- ScriptedAI::AttackStart(who);
- }
-
- void Aggro(Unit *who)
- {
- m_creature->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NOT_ATTACKABLE_2);
- }
+ void Aggro(Unit *who) {}
void JustDied(Unit* Killer)
{
@@ -129,11 +124,6 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
}
}
- void JustSummoned(Creature *summoned)
- {
- summoned->AI()->AttackStart(m_creature->getVictim());
- }
-
void DoSplit(uint32 val)
{
if( m_creature->IsNonMeleeSpellCasted(false) )
@@ -149,7 +139,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
- if( !Intro && !InCombat )
+ if(!Intro)
{
if( !pInstance )
return;
@@ -178,6 +168,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
Intro_Timer = 3000;
break;
case 3:
+ m_creature->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NOT_ATTACKABLE_2);
Intro = true;
break;
}