diff options
-rw-r--r-- | sql/FULL/world_scripts_full.sql | 1 | ||||
-rw-r--r-- | sql/updates/7421_world_scriptname.sql | 1 | ||||
-rw-r--r-- | src/scripts/northrend/borean_tundra.cpp | 41 |
3 files changed, 43 insertions, 0 deletions
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql index 15e907a9a2d..3e64b6c3c2b 100644 --- a/sql/FULL/world_scripts_full.sql +++ b/sql/FULL/world_scripts_full.sql @@ -401,6 +401,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_bonker_togglevolt' WHERE `entry UPDATE `creature_template` SET `ScriptName`='npc_fezzix_geartwist' WHERE `entry`=25849; UPDATE `creature_template` SET `scriptname`='npc_trapped_mammoth_calf' WHERE `entry`=25850; UPDATE `item_template` SET `scriptname`='item_dehta_trap_smasher' WHERE `entry`=35228; +UPDATE `creature_template` SET `ScriptName`='npc_magmoth_crusher' WHERE `entry`=25434; /* BURNING STEPPES */ UPDATE `creature_template` SET `ScriptName`='npc_ragged_john' WHERE `entry`=9563; diff --git a/sql/updates/7421_world_scriptname.sql b/sql/updates/7421_world_scriptname.sql new file mode 100644 index 00000000000..ce0dbecc9d1 --- /dev/null +++ b/sql/updates/7421_world_scriptname.sql @@ -0,0 +1 @@ +UPDATE `creature_template` SET `ScriptName`='npc_magmoth_crusher' WHERE `entry`=25434; diff --git a/src/scripts/northrend/borean_tundra.cpp b/src/scripts/northrend/borean_tundra.cpp index 6396b58c1ac..7b34286ba14 100644 --- a/src/scripts/northrend/borean_tundra.cpp +++ b/src/scripts/northrend/borean_tundra.cpp @@ -2116,6 +2116,42 @@ CreatureAI* GetAI_npc_trapped_mammoth_calf(Creature* pCreature) return new npc_trapped_mammoth_calfAI(pCreature); } +/*###### +## Quest 11653: Hah... You're Not So Big Now! +######*/ + +enum eNotSoBig +{ + QUEST_YOU_RE_NOT_SO_BIG_NOW = 11653, + SPELL_AURA_NOTSOBIG_1 = 45672, + SPELL_AURA_NOTSOBIG_2 = 45673, + SPELL_AURA_NOTSOBIG_3 = 45677, + SPELL_AURA_NOTSOBIG_4 = 45681 +}; + +struct npc_magmoth_crusherAI : public ScriptedAI +{ + npc_magmoth_crusherAI(Creature* c) : ScriptedAI(c) {} + + void JustDied(Unit *pKiller) + { + if (pKiller->GetTypeId() == TYPEID_PLAYER && + CAST_PLR(pKiller)->GetQuestStatus(QUEST_YOU_RE_NOT_SO_BIG_NOW) == QUEST_STATUS_INCOMPLETE && + (m_creature->HasAura(SPELL_AURA_NOTSOBIG_1) || m_creature->HasAura(SPELL_AURA_NOTSOBIG_2) || + m_creature->HasAura(SPELL_AURA_NOTSOBIG_3) || m_creature->HasAura(SPELL_AURA_NOTSOBIG_4))) + { + Quest const* qInfo = objmgr.GetQuestTemplate(QUEST_YOU_RE_NOT_SO_BIG_NOW); + if (qInfo) + CAST_PLR(pKiller)->KilledMonsterCredit(qInfo->ReqCreatureOrGOId[0],0); + } + } +}; + +CreatureAI* GetAI_npc_magmoth_crusher(Creature* pCreature) +{ + return new npc_magmoth_crusherAI(pCreature); +} + void AddSC_borean_tundra() { Script *newscript; @@ -2256,4 +2292,9 @@ void AddSC_borean_tundra() newscript->Name = "npc_trapped_mammoth_calf"; newscript->GetAI = &GetAI_npc_trapped_mammoth_calf; newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "npc_magmoth_crusher"; + newscript->GetAI = &GetAI_npc_magmoth_crusher; + newscript->RegisterSelf(); } |