diff options
-rw-r--r-- | sql/updates/513_world_scripts.sql (renamed from sql/updates/511_world_scripts.sql) | 3 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/npc/npcs_special.cpp | 4 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp | 31 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h | 1 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp | 11 |
5 files changed, 34 insertions, 16 deletions
diff --git a/sql/updates/511_world_scripts.sql b/sql/updates/513_world_scripts.sql index 134708d0218..751e7997005 100644 --- a/sql/updates/511_world_scripts.sql +++ b/sql/updates/513_world_scripts.sql @@ -1,3 +1,6 @@ +DELETE FROM gameobject WHERE id=184956; +INSERT INTO gameobject (id, map, spawnMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state) VALUES (184956, 548, 1, 39.1372, -418.625, -21.5806, 1.29069, 0, 0, 0.601475, 0.798891, 25, 0, 1) + UPDATE `instance_template` SET `script`='instance_dark_portal' WHERE `map`=269; UPDATE `creature_template` SET `ScriptName`='npc_medivh_bm' WHERE `entry`=15608; UPDATE `creature_template` SET `ScriptName`='npc_time_rift' WHERE `entry`=17838; 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) { |