[9121] Implement dummy effects for spell 50926,51026,51592 and 51961

Note: Some adjustments in addition to original patch, using delay despawn.
Also provide sql update for proper work of affected spells (if already exist in database).

Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
frcoun 2010-01-07 21:30:38 +01:00 committed by NoFantasy
parent 9c48e32bb7
commit 147c250a56
6 changed files with 38 additions and 14 deletions

View file

@ -1175,6 +1175,35 @@ void Spell::EffectDummy(uint32 i)
return;
}
case 50926: // Gluttonous Lurkers: Create Zul'Drak Rat Cover
case 51026: // Create Drakkari Medallion Cover
case 51592: // Pickup Primordial Hatchling
case 51961: // Captured Chicken Cover
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || m_caster->GetTypeId() != TYPEID_PLAYER)
return;
uint32 spellId = 0;
switch(m_spellInfo->Id)
{
case 50926: spellId = 50927; break;
case 51026: spellId = 50737; break;
case 51592: spellId = 51593; break;
case 51961: spellId = 51037; break;
}
if (const SpellEntry *pSpell = sSpellStore.LookupEntry(spellId))
{
unitTarget->CastSpell(m_caster, spellId, true);
Creature* creatureTarget = (Creature*)unitTarget;
if (const SpellCastTimesEntry *pCastTime = sSpellCastTimesStore.LookupEntry(pSpell->CastingTimeIndex))
creatureTarget->ForcedDespawn(pCastTime->CastTime + 1);
}
return;
}
case 51582: //Rocket Boots Engaged (Rocket Boots Xtreme and Rocket Boots Xtreme Lite)
{
if (m_caster->GetTypeId() != TYPEID_PLAYER)
@ -1186,17 +1215,6 @@ void Spell::EffectDummy(uint32 i)
m_caster->CastSpell(m_caster, 30452, true, NULL);
return;
}
case 51592: // Pickup Primordial Hatchling
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT)
return;
Creature* creatureTarget = (Creature*)unitTarget;
creatureTarget->ForcedDespawn();
return;
}
case 52308: // Take Sputum Sample
{
switch(i)