[8377] Resolve some spell_area problems in GM and non-GM mode.

* Make spell 40216 and 42016 casted/remove at aura 40214 apply/remove.
  And drop related spell_area possible existed data.
* In general restore apply area limitations to spell casting in GM mode.
This commit is contained in:
VladimirMangos 2009-08-17 00:37:31 +04:00
parent e7b63e759f
commit c26c7395a1
6 changed files with 22 additions and 6 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_8364_01_mangos_db_version` bit(1) default NULL
`required_8377_01_mangos_spell_area` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--

View file

@ -0,0 +1,3 @@
ALTER TABLE db_version CHANGE COLUMN required_8364_01_mangos_db_version required_8377_01_mangos_spell_area bit;
DELETE FROM `spell_area` where spell in (40216,42016);

View file

@ -82,6 +82,7 @@ pkgdata_DATA = \
8342_01_mangos_spell_proc_event.sql \
8361_01_mangos_spell_bonus_data.sql \
8364_01_mangos_db_version.sql \
8377_01_mangos_spell_area.sql \
README
## Additional files to include when running 'make dist'
@ -144,4 +145,5 @@ EXTRA_DIST = \
8342_01_mangos_spell_proc_event.sql \
8361_01_mangos_spell_bonus_data.sql \
8364_01_mangos_db_version.sql \
8377_01_mangos_spell_area.sql \
README

View file

@ -2313,6 +2313,21 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
return;
}
//Dragonmaw Illusion
case 40214 :
{
if(apply)
{
m_target->CastSpell(m_target, 40216, true);
m_target->CastSpell(m_target, 42016, true);
}
else
{
m_target->RemoveAurasDueToSpell(40216);
m_target->RemoveAurasDueToSpell(42016);
}
return;
}
// LK Intro VO (1)
case 58204:
if(m_target->GetTypeId() == TYPEID_PLAYER)

View file

@ -2666,10 +2666,6 @@ void SpellMgr::LoadSpellAreas()
SpellCastResult SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint32 map_id, uint32 zone_id, uint32 area_id, Player const* player)
{
// allow in GM-mode
if (player && player->isGameMaster())
return SPELL_CAST_OK;
// normal case
if (spellInfo->AreaGroupId > 0)
{

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8376"
#define REVISION_NR "8377"
#endif // __REVISION_NR_H__