[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

@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`creature_ai_version` varchar(120) default NULL,
`cache_id` int(10) default '0',
`required_9095_01_mangos_command` bit(1) default NULL
`required_9121_01_mangos_npc_spellclick_spells` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--

View file

@ -0,0 +1,4 @@
ALTER TABLE db_version CHANGE COLUMN required_9095_01_mangos_command required_9121_01_mangos_npc_spellclick_spells bit;
UPDATE npc_spellclick_spells SET cast_flags=1 WHERE spell_id IN (50926,51026,51592,51961);
DELETE FROM npc_spellclick_spells WHERE spell_id IN (50927,50737,51593,51037);

View file

@ -225,6 +225,7 @@ pkgdata_DATA = \
9070_01_mangos_spell_proc_event.sql \
9074_01_mangos_command.sql \
9095_01_mangos_command.sql \
9121_01_mangos_npc_spellclick_spells.sql \
README
## Additional files to include when running 'make dist'
@ -430,4 +431,5 @@ EXTRA_DIST = \
9070_01_mangos_spell_proc_event.sql \
9074_01_mangos_command.sql \
9095_01_mangos_command.sql \
9121_01_mangos_npc_spellclick_spells.sql \
README

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)

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "9120"
#define REVISION_NR "9121"
#endif // __REVISION_NR_H__

View file

@ -1,6 +1,6 @@
#ifndef __REVISION_SQL_H__
#define __REVISION_SQL_H__
#define REVISION_DB_CHARACTERS "required_8874_01_characters_character_skills"
#define REVISION_DB_MANGOS "required_9095_01_mangos_command"
#define REVISION_DB_MANGOS "required_9121_01_mangos_npc_spellclick_spells"
#define REVISION_DB_REALMD "required_9010_01_realmd_realmlist"
#endif // __REVISION_SQL_H__