From 3909fb7f83f4c99b375c2a1ad33e75a50638d7e3 Mon Sep 17 00:00:00 2001 From: QAston Date: Sun, 28 Jun 2009 14:21:35 +0200 Subject: [PATCH] *Correct damage of Faerie Fire (feral) *Trigger passive aura for shadowform. --HG-- branch : trunk --- sql/FULL/world_spell_full.sql | 6 ------ sql/updates/4307_world_TDB.sql | 4 ++++ src/game/Spell.cpp | 12 ++++++++++++ src/game/SpellAuras.cpp | 4 +++- 4 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 sql/updates/4307_world_TDB.sql diff --git a/sql/FULL/world_spell_full.sql b/sql/FULL/world_spell_full.sql index 5ec11442944..6f947ee09b4 100644 --- a/sql/FULL/world_spell_full.sql +++ b/sql/FULL/world_spell_full.sql @@ -49,12 +49,6 @@ INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comm ( 17850, 54501, 2, 'Consume Shadows - Rank 2'), ( 17767, 54501, 2, 'Consume Shadows - Rank 1'), ( 53563, 53651, 2, 'Beacon of Light'), -( 16857, 60089, 0, 'Faerie Fire (Feral) Rank 1'), -# ( 17390, 60089, 0, 'Faerie Fire (Feral) Rank 2'), removed in 313 -# ( 17391, 60089, 0, 'Faerie Fire (Feral) Rank 3'), -# ( 17392, 60089, 0, 'Faerie Fire (Feral) Rank 4'), -# ( 27011, 60089, 0, 'Faerie Fire (Feral) Rank 5'), -# ( 48475, 60089, 0, 'Faerie Fire (Feral) Rank 6'), ( 781, 56446, 0, 'Disengage'), ( 57635, 57636, 0, 'Disengage'), ( 60932, 60934, 0, 'Disengage'), diff --git a/sql/updates/4307_world_TDB.sql b/sql/updates/4307_world_TDB.sql new file mode 100644 index 00000000000..eb99a037823 --- /dev/null +++ b/sql/updates/4307_world_TDB.sql @@ -0,0 +1,4 @@ +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (16857); +DELETE FROM `spell_linked_spell` WHERE `entry` IN 60089); +INSERT INTO `spell_bonus_data` (entry, direct_bonus, dot_bonus, ap_bonus, comments) VALUES +(60089, 0, 0, 0.05, 'Faerie Fire (feral)'); diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index bb4364f8acf..2dd24dcfc6c 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2723,6 +2723,18 @@ void Spell::cast(bool skipCheck) m_preCastSpell = 23230; // Blood Fury - Healing Reduction break; } + case SPELLFAMILY_DRUID: + { + // Faerie Fire (Feral) + if (m_spellInfo->SpellFamilyFlags[0] & 0x00000400) + { + // Trigger only if has correct shapeshift for triggered spell + SpellEntry const * spellInfo = sSpellStore.LookupEntry(60089); + if (GetErrorAtShapeshiftedCast(spellInfo, m_caster->m_form) == SPELL_CAST_OK) + m_preCastSpell = 60089; + } + break; + } } // traded items have trade slot instead of guid in m_itemTargetGUID // set to real guid to be sent later to the client diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 287376c7618..a43d748849b 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1456,10 +1456,12 @@ void AuraEffect::HandleShapeshiftBoosts(bool apply) spellId = 27792; spellId2 = 27795; // must be second, this important at aura remove to prevent to early iterator invalidation. break; + case FORM_SHADOW: + spellId = 49868; + break; case FORM_GHOUL: case FORM_GHOSTWOLF: case FORM_AMBIENT: - case FORM_SHADOW: case FORM_STEALTH: case FORM_CREATURECAT: case FORM_CREATUREBEAR: