aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-07-16 10:21:54 +0800
committermegamage <none@none>2009-07-16 10:21:54 +0800
commit3f39ae98757e4f7d44865a35faf34e336649befd (patch)
tree865b44b3acecdef2a4fb002f575bb111d4d8ab74
parent43ac2c4cb44fb211fdd3142ec45fea9e53308ccd (diff)
[8173] Fixes for 1822 and ranks base at spell_check detection Author: VladimirMangos
* Update AP bonus per tick to 0.18 as expected in 3.0.2 and later. * Better spell selction to avoid unrelated spells for AP bonuses --HG-- branch : trunk
-rw-r--r--sql/mangos_spell_check.sql8
-rw-r--r--src/game/SpellAuras.cpp4
-rw-r--r--src/game/SpellEffects.cpp3
3 files changed, 9 insertions, 6 deletions
diff --git a/sql/mangos_spell_check.sql b/sql/mangos_spell_check.sql
index fbcb1ce3793..09ac9e9343a 100644
--- a/sql/mangos_spell_check.sql
+++ b/sql/mangos_spell_check.sql
@@ -32,7 +32,7 @@ CREATE TABLE `spell_check` (
EffectIdx tinyint(3) NOT NULL default '-1',
Name varchar(40) NOT NULL default '',
Code varchar(40) NOT NULL default '',
- PRIMARY KEY (spellid,SpellFamilyName,SpellFamilyMaskA,SpellFamilyMaskB,SpellIcon,SpellVisual,SpellCategory,Code)
+ PRIMARY KEY (spellid,SpellFamilyName,SpellFamilyMaskA,SpellFamilyMaskB,SpellIcon,SpellVisual,SpellCategory,EffectType,EffectAura,Code)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO spell_check (spellid,SpellFamilyName,SpellFamilyMaskA,SpellFamilyMaskB,SpellIcon,SpellVisual,SpellCategory,EffectType,EffectAura,EffectIdx,Name,Code) VALUES
@@ -89,8 +89,10 @@ INSERT INTO spell_check (spellid,SpellFamilyName,SpellFamilyMaskA,SpellFamilyMas
( 0, 7,0x0000010000000000,0x00000000,2246, -1, -1, 2, -1,-1,'Lacerate', 'Spell::EffectSchoolDMG'),
( 0, 7,0x0000044000000000,0x00000000, -1, -1, -1, -1, -1,-1,'Mangle (Cat) and Mangle (Bear)', 'Unit::HandleDummyAuraProc'),
( 0, 9,0x0000000000000002,0x00000000, -1, 342, -1, 2, -1,-1,'Mongoose Bite', 'Spell::EffectSchoolDMG'),
-( 0, 7,0x0000000000001000,0x00000000, 494, -1, -1, 2, -1,-1,'Rake', 'Spell::EffectSchoolDMG'),
-( 0, 7,0x0000000000001000,0x00000000, -1, -1, -1, 2, -1,-1,'Rake', 'Spell::EffectSchoolDMG'),
+( 0, 7,0x0000000000001000,0x00000000, -1, -1, -1, 2, -1,-1,'Rake', 'Spell::EffectSchoolDMG'), /* used in */
+( 0, 7,0x0000000000001000,0x00000000, -1, -1, -1, 80, -1, 2,'Rake', 'Spell::EffectSchoolDMG'), /* exactly selected */
+( 0, 7,0x0000000000001000,0x00000000, -1, -1, -1, -1, 3,-1,'Rake', 'Aura::HandlePeriodicDamage'), /* used in */
+( 0, 7,0x0000000000001000,0x00000000, -1, -1, -1, 80, -1, 2,'Rake', 'Aura::HandlePeriodicDamage'), /* exactly selected */
( 0, 4,0x0000000000000400,0x00000000, -1, -1, -1, 2, -1,-1,'Revenge', 'Spell::EffectSchoolDMG'),
( 0, 6,0x0000000200000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Word: Death', 'Spell::EffectSchoolDMG'),
( 0,10,0x0010000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shield of Righteousness', 'Spell::EffectSchoolDMG'),
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index c891f6f7eb7..02ec1605c8b 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -4763,8 +4763,8 @@ void AuraEffect::HandlePeriodicDamage(bool apply, bool Real, bool changeAmount)
// Rake
if (m_spellProto->SpellFamilyFlags[0] & 0x1000)
{
- // $AP*0.06 bonus per tick
- m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 6 / 100);
+ // $AP*0.18 bonus per tick
+ m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 18 / 100);
return;
}
// Lacerate
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 33ab0ae98ca..11dc66f8777 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -521,8 +521,9 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx)
damage += int32(((Player*)m_caster)->GetComboPoints() * ap * 7 / 100);
}
// Rake
- else if(m_spellInfo->SpellFamilyFlags[0] & 0x1000)
+ else if(m_spellInfo->SpellFamilyFlags[0] & 0x1000 && m_spellInfo->Effect[2]==SPELL_EFFECT_ADD_COMBO_POINTS)
{
+ // $AP*0.01 bonus
damage += int32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK) / 100);
}
// Swipe