diff --git a/sql/scriptdev2/scriptdev2.sql b/sql/scriptdev2/scriptdev2.sql index 0c29c672c39..28487677727 100644 --- a/sql/scriptdev2/scriptdev2.sql +++ b/sql/scriptdev2/scriptdev2.sql @@ -111,6 +111,7 @@ UPDATE gameobject_template SET ScriptName='go_midsummer_music' WHERE entry=18817 UPDATE gameobject_template SET ScriptName='go_brewfest_music' WHERE entry=186221; UPDATE gameobject_template SET ScriptName='go_elemental_rift' WHERE entry IN (179664, 179665, 179666, 179667); UPDATE gameobject_template SET ScriptName='go_dragon_head' WHERE entry IN(179556,179558,179881,179882); +UPDATE gameobject_template SET ScriptName='go_bubbly_fissure' WHERE entry=177524; UPDATE gameobject_template SET ScriptName='go_unadorned_spike' WHERE entry IN(175787); UPDATE gameobject_template SET ScriptName='go_containment_coffer' WHERE entry=122088; UPDATE gameobject_template SET ScriptName='go_large_jack_o_lantern' WHERE entry=186887; diff --git a/src/game/AI/ScriptDevAI/scripts/world/go_scripts.cpp b/src/game/AI/ScriptDevAI/scripts/world/go_scripts.cpp index 7ad4913aa0f..cb07b9be269 100644 --- a/src/game/AI/ScriptDevAI/scripts/world/go_scripts.cpp +++ b/src/game/AI/ScriptDevAI/scripts/world/go_scripts.cpp @@ -940,6 +940,27 @@ GameObjectAI* GetAI_go_dragon_head(GameObject* go) return new go_dragon_head(go); } +enum class GoBubblyFissure +{ + SPELL_BUBBLY_FISSURE = 17775, +}; + +struct go_bubbly_fissure_caster : public GameObjectAI, public TimerManager +{ + go_bubbly_fissure_caster(GameObject* go) : GameObjectAI(go) + { + AddCustomAction(1, 2000u, [&]() + { + m_go->CastSpell(nullptr, nullptr, (uint32)GoBubblyFissure::SPELL_BUBBLY_FISSURE, TRIGGERED_OLD_TRIGGERED); + }); + } + + void UpdateAI(const uint32 diff) + { + UpdateTimers(diff); + } +}; + enum { SPELL_WARCHIEFS_BLESSING = 16609, @@ -1195,6 +1216,11 @@ void AddSC_go_scripts() pNewScript->GetGameObjectAI = &GetAI_go_dragon_head; pNewScript->RegisterSelf(); + pNewScript = new Script; + pNewScript->Name = "go_bubbly_fissure"; + pNewScript->GetGameObjectAI = &GetNewAIInstance; + pNewScript->RegisterSelf(); + pNewScript = new Script; pNewScript->Name = "go_unadorned_spike"; pNewScript->GetGameObjectAI = &GetAI_go_unadorned_spike;