*Added HasAura check for Winter Reveler

*Moved back reverted changes in lurker  and added things for future and todo list

--HG--
branch : trunk
This commit is contained in:
Blaymoira
2008-12-15 21:43:03 +01:00
parent 9b1357a332
commit 3f9e5651e8
5 changed files with 34 additions and 16 deletions
@@ -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 `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_medivh_bm' WHERE `entry`=15608;
UPDATE `creature_template` SET `ScriptName`='npc_time_rift' WHERE `entry`=17838; UPDATE `creature_template` SET `ScriptName`='npc_time_rift' WHERE `entry`=17838;
@@ -897,8 +897,8 @@ CreatureAI* GetAI_npc_tonk_mine(Creature *_Creature)
bool ReceiveEmote_npc_winter_reveler( Player *player, Creature *_Creature, uint32 emote ) bool ReceiveEmote_npc_winter_reveler( Player *player, Creature *_Creature, uint32 emote )
{ {
//TODO: check auralist. //TODO: check auralist.
//if() if(player->HasAura(26218, 0))
// return false; return false;
if( emote == TEXTEMOTE_KISS ) if( emote == TEXTEMOTE_KISS )
{ {
@@ -16,8 +16,8 @@
/* ScriptData /* ScriptData
SDName: boss_the_lurker_below SDName: boss_the_lurker_below
SD%Complete: 75 SD%Complete: 80
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 SDComment: Coilfang Frenzy, find out how could we fishing in the strangepool
SDCategory: The Lurker Below SDCategory: The Lurker Below
EndScriptData */ EndScriptData */
@@ -122,6 +122,16 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI
if(pInstance) if(pInstance)
pInstance->SetData(DATA_THELURKERBELOWEVENT, NOT_STARTED); 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) void MoveInLineOfSight(Unit *who)
@@ -232,8 +242,12 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI
//DoCast(m_creature,SPELL_SPOUT_BREATH);//take breath anim //DoCast(m_creature,SPELL_SPOUT_BREATH);//take breath anim
} }
void BoilingWater(bool active) void UpdateAI(const uint32 diff)
{ {
//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 //Check if players in water and if in water cast spell
Map *map = m_creature->GetMap(); Map *map = m_creature->GetMap();
if (map->IsDungeon() && pInstance->GetData(DATA_THELURKERBELOWEVENT) == IN_PROGRESS) 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); 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 Rotate(diff);//always check rotate things
if(!Submerged) if(!Submerged)
@@ -27,4 +27,5 @@
#define DATA_LEOTHERAS 20 #define DATA_LEOTHERAS 20
#define DATA_LEOTHERAS_EVENT_STARTER 21 #define DATA_LEOTHERAS_EVENT_STARTER 21
#define DATA_CONTROL_CONSOLE 22 #define DATA_CONTROL_CONSOLE 22
#define DATA_STRANGE_POOL 23
#endif #endif
@@ -35,9 +35,9 @@ EndScriptData */
5 - Lady Vashj Event 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) if(!pInstance)
return false; return false;
@@ -64,6 +64,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
uint64 ControlConsole; uint64 ControlConsole;
uint64 BridgePart[3]; uint64 BridgePart[3];
uint64 StrangePool;
bool ShieldGeneratorDeactivated[4]; bool ShieldGeneratorDeactivated[4];
bool Encounters[ENCOUNTERS]; bool Encounters[ENCOUNTERS];
@@ -84,6 +85,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
BridgePart[0] = 0; BridgePart[0] = 0;
BridgePart[1] = 0; BridgePart[1] = 0;
BridgePart[2] = 0; BridgePart[2] = 0;
StrangePool = 0;
ShieldGeneratorDeactivated[0] = false; ShieldGeneratorDeactivated[0] = false;
ShieldGeneratorDeactivated[1] = false; ShieldGeneratorDeactivated[1] = false;
@@ -125,6 +127,10 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
BridgePart[2] = go->GetGUID(); BridgePart[2] = go->GetGUID();
go->setActive(true); go->setActive(true);
break; 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) switch(type)
{ {
case DATA_STRANGE_POOL: StrangePool = data;
case DATA_CONTROL_CONSOLE: case DATA_CONTROL_CONSOLE:
if(data = DONE) if(data = DONE)
{ {