aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/northrend/borean_tundra.cpp44
-rw-r--r--src/bindings/scripts/scripts/world/go_scripts.cpp10
2 files changed, 54 insertions, 0 deletions
diff --git a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
index 39a785421da..543b10eb903 100644
--- a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
+++ b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
@@ -443,7 +443,46 @@ bool GossipSelect_npc_iruk(Player* pPlayer, Creature* pCreature, uint32 uiSender
}
return true;
}
+/*######
+## mob_nerubar_victim
+######*/
+
+#define WARSONG_PEON 25270
+const uint32 nerubarVictims[3] =
+{
+ 45526, 45527, 45514
+};
+struct TRINITY_DLL_DECL mob_nerubar_victimAI : public ScriptedAI
+{
+ mob_nerubar_victimAI(Creature *c) : ScriptedAI(c) {}
+
+ void Reset() {}
+ void EnterCombat(Unit *who) {}
+ void MoveInLineOfSight(Unit *who) {}
+
+ void JustDied(Unit* Killer)
+ {
+ if(Killer->GetTypeId() == TYPEID_PLAYER)
+ {
+ if( CAST_PLR(Killer)->GetQuestStatus(11611) == QUEST_STATUS_INCOMPLETE)
+ {
+ uint8 rand = rand()%100;
+ if(rand < 25)
+ {
+ Killer->CastSpell(m_creature,45532,true);
+ CAST_PLR(Killer)->KilledMonsterCredit(WARSONG_PEON, 0);
+ }
+ else if(rand < 75)
+ Killer->CastSpell(m_creature,nerubarVictims[rand()%3],true);
+ }
+ }
+ }
+};
+CreatureAI* GetAI_mob_nerubar_victim(Creature *pCreature)
+{
+ return new mob_nerubar_victimAI (pCreature);
+}
void AddSC_borean_tundra()
{
Script *newscript;
@@ -493,4 +532,9 @@ void AddSC_borean_tundra()
newscript->pGossipHello = &GossipHello_npc_iruk;
newscript->pGossipSelect = &GossipSelect_npc_iruk;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="mob_nerubar_victim";
+ newscript->GetAI = &GetAI_mob_nerubar_victim;
+ newscript->RegisterSelf();
}
diff --git a/src/bindings/scripts/scripts/world/go_scripts.cpp b/src/bindings/scripts/scripts/world/go_scripts.cpp
index d0818fe8dc0..c10062782c4 100644
--- a/src/bindings/scripts/scripts/world/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/world/go_scripts.cpp
@@ -472,5 +472,15 @@ void AddSC_go_scripts()
newscript->Name = "go_tele_to_violet_stand";
newscript->pGOHello = &GOHello_go_tele_to_violet_stand;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "go_fel_crystalforge";
+ newscript->pGOHello = &GOHello_go_fel_crystalforge;
+ newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "go_bashir_crystalforge";
+ newscript->pGOHello = &GOHello_go_bashir_crystalforge;
+ newscript->RegisterSelf();
}