Опубликовал 2 варианта патча: твой и мой на основе твоего.
http://www.scriptdev2.com/project.php?issueid=1163
Мой вариант патча:
Код:
Index: scripts/world/spell_scripts.cpp
===================================================================
--- scripts/world/spell_scripts.cpp (revision 1864)
+++ scripts/world/spell_scripts.cpp (working copy)
@@ -34,6 +34,7 @@
spell 50706
spell 45109
spell 45111
+spell 39246
EndContentData */
#include "precompiled.h"
@@ -252,6 +253,12 @@
SAY_BLESS_3 = -1000596,
SAY_BLESS_4 = -1000597,
SAY_BLESS_5 = -1000598,
+
+ // quest "The Big Bone Worm" 10930
+ SPELL_FUMPING = 39246,
+ SPELL_SUMMON_HAISHULUD = 39248,
+ NPC_SAND_GNOME = 22483,
+ NPC_MATURE_BONE_SIFTER = 22482,
};
bool EffectAuraDummy_spell_aura_dummy_npc(const Aura* pAura, bool bApply)
@@ -671,6 +678,40 @@
return true;
}
+ case SPELL_FUMPING:
+ {
+ if (uiEffIndex == EFFECT_INDEX_2)
+ {
+ switch(urand(0,2))
+ {
+ case 0:
+ {
+ pCaster->CastSpell(pCreatureTarget, SPELL_SUMMON_HAISHULUD, true);
+ break;
+ }
+ case 1:
+ {
+ for (uint8 i = 0; i<2; ++i)
+ {
+ if (Creature* pSandGnome = pCaster->SummonCreature(NPC_SAND_GNOME, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
+ pSandGnome->AI()->AttackStart(pCaster);
+ }
+ break;
+ }
+ case 2:
+ {
+ for (uint8 i = 0; i<2; ++i)
+ {
+ if (Creature* pMatureBoneSifter = pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
+ pMatureBoneSifter->AI()->AttackStart(pCaster);
+ }
+ break;
+ }
+ }
+ pCreatureTarget->ForcedDespawn();
+ }
+ return true;
+ }
}
return false;