diff --git a/sql/AQ/Ouro.sql b/sql/AQ/Ouro.sql index 06fa6cd81..9408e2822 100644 --- a/sql/AQ/Ouro.sql +++ b/sql/AQ/Ouro.sql @@ -38,7 +38,7 @@ DELETE FROM spell_script_target WHERE entry = 26594; INSERT INTO spell_script_target (entry, type, targetEntry) VALUES (26594, 0, 180795); -- Ouro base shouldn't be targettable by players and should despawn after sending animation on use -UPDATE gameobject_template SET data3 = 65536 * 1, data4 = 1, data5 = 1 WHERE entry = 180795; +UPDATE gameobject_template SET data3 = 65536 * 900, data4 = 1, data5 = 1 WHERE entry = 180795; -- Add scriptname to Ouro base UPDATE gameobject_template SET scriptname = "go_sandworm_base" WHERE entry = 180795; diff --git a/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_ouro.cpp b/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_ouro.cpp index d44598e2c..30d769b3e 100644 --- a/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_ouro.cpp +++ b/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_ouro.cpp @@ -133,7 +133,7 @@ struct boss_ouroAI : public Scripted_NoMovementAI DespawnCreatures(true); m_creature->CastSpell(m_creature, SPELL_DESPAWN_BASE, true); - Submerge(); + Submerge(true); m_creature->ForcedDespawn(); } @@ -168,7 +168,7 @@ struct boss_ouroAI : public Scripted_NoMovementAI pSummoned->CastSpell(m_creature, SPELL_SUMMON_SCARABS, true); } - void Submerge() + void Submerge(bool isReset = false) { // Source : http://wowwiki.wikia.com/wiki/Ouro // "Ouro has a chance to submerge every 1.5minutes. @@ -177,8 +177,11 @@ struct boss_ouroAI : public Scripted_NoMovementAI m_uiSubmergeTimer = 90000; if (CanCastSpell(m_creature, sSpellMgr.GetSpellEntry(SPELL_SUBMERGE_VISUAL), false) == CAST_OK) { - DoCastSpellIfCan(m_creature, SPELL_SUMMON_OURO_MOUNDS, CAST_TRIGGERED); - DoCastSpellIfCan(m_creature, SPELL_SUMMON_TRIGGER, CAST_TRIGGERED); + if (!isReset) + { + DoCastSpellIfCan(m_creature, SPELL_SUMMON_OURO_MOUNDS, CAST_TRIGGERED); + DoCastSpellIfCan(m_creature, SPELL_SUMMON_TRIGGER, CAST_TRIGGERED); + } m_creature->CastSpell(m_creature, SPELL_DESPAWN_BASE, true); DoCastSpellIfCan(m_creature, SPELL_SUBMERGE_VISUAL);