diff options
Diffstat (limited to 'src')
4 files changed, 31 insertions, 16 deletions
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp index cc8629a1dfb..b45b3d056e5 100644 --- a/src/bindings/scripts/scripts/npc/npcs_special.cpp +++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp @@ -897,8 +897,8 @@ CreatureAI* GetAI_npc_tonk_mine(Creature *_Creature) bool ReceiveEmote_npc_winter_reveler( Player *player, Creature *_Creature, uint32 emote ) { //TODO: check auralist. - //if() - // return false; + if(player->HasAura(26218, 0)) + return false; if( emote == TEXTEMOTE_KISS ) { diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp index 2db6e09bdda..130360bc930 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp @@ -16,8 +16,8 @@ /* ScriptData SDName: boss_the_lurker_below -SD%Complete: 75 -SDComment: Pack summoning when it's does when it's appear how check this and check for coilfang frenzy if water is boiling they get deadstate +SD%Complete: 80 +SDComment: Coilfang Frenzy, find out how could we fishing in the strangepool SDCategory: The Lurker Below EndScriptData */ @@ -122,6 +122,16 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI if(pInstance) pInstance->SetData(DATA_THELURKERBELOWEVENT, NOT_STARTED); + + /*if(pInstance->GetData(DATA_STRANGE_POOL) != DONE) + { + m_creature->SetReactState(REACT_PASSIVE); + m_creature->SetVisibility(VISIBILITY_OFF); + }else { + m_creature->SetVisibility(VISIBILITY_ON); + m_creature->SetReactState(REACT_AGGRESSIVE); + }*/ + } void MoveInLineOfSight(Unit *who) @@ -231,10 +241,14 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI m_creature->MonsterTextEmote(EMOTE_SPOUT,0,true); //DoCast(m_creature,SPELL_SPOUT_BREATH);//take breath anim } - - void BoilingWater(bool active) + + void UpdateAI(const uint32 diff) { - //Check if players in water and if in water cast spell + //Return since we have no target + if (!m_creature->SelectHostilTarget() /*|| !m_creature->getVictim()*/ )//rotate resets target + return; + + //Check if players in water and if in water cast spell Map *map = m_creature->GetMap(); if (map->IsDungeon() && pInstance->GetData(DATA_THELURKERBELOWEVENT) == IN_PROGRESS) { @@ -251,13 +265,6 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI i->getSource()->RemoveAurasDueToSpell(SPELL_SCALDINGWATER); } } - } - - void UpdateAI(const uint32 diff) - { - //Return since we have no target - if (!m_creature->SelectHostilTarget() /*|| !m_creature->getVictim()*/ )//rotate resets target - return; Rotate(diff);//always check rotate things if(!Submerged) diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h index 975a97dcfae..989ab4689e5 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h @@ -27,4 +27,5 @@ #define DATA_LEOTHERAS 20 #define DATA_LEOTHERAS_EVENT_STARTER 21 #define DATA_CONTROL_CONSOLE 22 +#define DATA_STRANGE_POOL 23 #endif diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp index ee4db2259a7..c8baa2839d4 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp @@ -35,9 +35,9 @@ EndScriptData */ 5 - Lady Vashj Event */ -bool GOHello_go_bridge_console(Player *player, GameObject* _GO) +bool GOHello_go_bridge_console(Player *player, GameObject* go) { - ScriptedInstance* pInstance = (ScriptedInstance*)_GO->GetInstanceData(); + ScriptedInstance* pInstance = (ScriptedInstance*)go->GetInstanceData(); if(!pInstance) return false; @@ -64,6 +64,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance uint64 ControlConsole; uint64 BridgePart[3]; + uint64 StrangePool; bool ShieldGeneratorDeactivated[4]; bool Encounters[ENCOUNTERS]; @@ -84,6 +85,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance BridgePart[0] = 0; BridgePart[1] = 0; BridgePart[2] = 0; + StrangePool = 0; ShieldGeneratorDeactivated[0] = false; ShieldGeneratorDeactivated[1] = false; @@ -125,6 +127,10 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance BridgePart[2] = go->GetGUID(); go->setActive(true); break; + case 184956: + StrangePool = go->GetGUID(); + if(go->isActive()) + SetData(DATA_STRANGE_POOL, DONE); } } @@ -176,6 +182,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance { switch(type) { + case DATA_STRANGE_POOL: StrangePool = data; case DATA_CONTROL_CONSOLE: if(data = DONE) { |