По квесту 12916 игрок использует итем со спеллом 55525, после чего в радиусе го надо найти всех нпц 29928 и заставить их кастовать на себя 55529, после чего засчитать киллкредит 29928.
Код:
Index: scripts/world/go_scripts.cpp
===================================================================
--- scripts/world/go_scripts.cpp (revision 1746)
+++ scripts/world/go_scripts.cpp (working copy)
@@ -38,6 +38,7 @@
go_tablet_of_the_seven
go_tele_to_dalaran_crystal
go_tele_to_violet_stand
+go_scourge_enclosure
EndContentData */
#include "precompiled.h"
@@ -406,6 +407,32 @@
return false;
}
+/*######
+## go_scourge_enclosure
+######*/
+
+enum
+{
+ SPELL_GYMER_LOCK_EXPLOSION = 55529,
+ NPC_GYMER_LOCK_DUMMY = 29928
+
+};
+
+bool GOHello_go_scourge_enclosure(Player* pPlayer, GameObject* pGo)
+{
+ std::list<Creature*> m_lResearchersList;
+ GetCreatureListWithEntryInGrid(m_lResearchersList, pGo, NPC_GYMER_LOCK_DUMMY, 15.0f);
+ if (!m_lResearchersList.empty())
+ {
+ for(std::list<Creature*>::iterator itr = m_lResearchersList.begin(); itr != m_lResearchersList.end(); ++itr)
+ {
+ (*itr)->CastSpell((*itr),SPELL_GYMER_LOCK_EXPLOSION,true);
+ }
+ }
+ pPlayer->KilledMonsterCredit(NPC_GYMER_LOCK_DUMMY, 0);
+ return true;
+}
+
void AddSC_go_scripts()
{
Script *newscript;
@@ -504,4 +531,9 @@
newscript->Name = "go_blood_filled_orb";
newscript->pGOHello = &GOHello_go_blood_filled_orb;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "go_scourge_enclosure";
+ newscript->pGOHello = &GOHello_go_scourge_enclosure;
+ newscript->RegisterSelf();
}
На базу:
Код:
UPDATE `gameobject_template` SET `scriptname`='go_scourge_enclosure' WHERE `entry`=191548;