diff --git a/common/spdat.h b/common/spdat.h index 237125b90..9a6c1b1ea 100644 --- a/common/spdat.h +++ b/common/spdat.h @@ -265,7 +265,7 @@ typedef enum { #define SE_Hunger 115 // implemented - Song of Sustenance #define SE_CurseCounter 116 // implemented #define SE_MagicWeapon 117 // implemented - makes weapon magical -#define SE_SingingSkill 118 // *implemented - needs AA conversion +#define SE_Amplification 118 // implemented - Harmonize/Amplification (stacks with other singing mods) #define SE_AttackSpeed3 119 // implemented #define SE_HealRate 120 // implemented - reduces healing by a % #define SE_ReverseDS 121 // implemented diff --git a/zone/bonuses.cpp b/zone/bonuses.cpp index dc8776c67..c92de1034 100644 --- a/zone/bonuses.cpp +++ b/zone/bonuses.cpp @@ -1607,12 +1607,9 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne newbon->reflect_chance += effect_value; break; - case SE_SingingSkill: - { - if(effect_value > newbon->singingMod) - newbon->singingMod = effect_value; + case SE_Amplification: + newbon->Amplification += effect_value; break; - } case SE_ChangeAggro: newbon->hatemod += effect_value; @@ -3124,10 +3121,10 @@ void Mob::NegateSpellsBonuses(uint16 spell_id) itembonuses.reflect_chance = effect_value; break; - case SE_SingingSkill: - spellbonuses.singingMod = effect_value; - itembonuses.singingMod = effect_value; - aabonuses.singingMod = effect_value; + case SE_Amplification: + spellbonuses.Amplification = effect_value; + itembonuses.Amplification = effect_value; + aabonuses.Amplification = effect_value; break; case SE_ChangeAggro: diff --git a/zone/client_mods.cpp b/zone/client_mods.cpp index 925aa15a4..8c29f05eb 100644 --- a/zone/client_mods.cpp +++ b/zone/client_mods.cpp @@ -1857,7 +1857,7 @@ uint16 Mob::GetInstrumentMod(uint16 spell_id) const effectmod = itembonuses.singingMod; else effectmod = spellbonuses.singingMod; - effectmod += aabonuses.singingMod; + effectmod += aabonuses.singingMod + spellbonuses.Amplification; break; default: effectmod = 10; diff --git a/zone/common.h b/zone/common.h index 622dafb6f..8ac23b5df 100644 --- a/zone/common.h +++ b/zone/common.h @@ -231,6 +231,7 @@ struct StatBonuses { int effective_casting_level; int reflect_chance; // chance to reflect incoming spell uint16 singingMod; + uint16 Amplification; // stacks with singingMod uint16 brassMod; uint16 percussionMod; uint16 windMod; diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index 28f806483..03a5d6d2e 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -2631,7 +2631,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial) case SE_MeleeMitigation: case SE_Reflect: case SE_Screech: - case SE_SingingSkill: + case SE_Amplification: case SE_MagicWeapon: case SE_Hunger: case SE_MagnifyVision: