diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/borean_tundra.cpp | 44 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/world/go_scripts.cpp | 10 |
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(); } |
