diff --git a/changelog.txt b/changelog.txt index f72280c13..a99bec7d0 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,7 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50) ------------------------------------------------------- +== 11/09/2013 == +Leere: Fixed Bard mana regen, they now only are affected by items and AA. == 11/07/2013 == KLS: Added a system to use the BaseData system in the client. diff --git a/zone/bonuses.cpp b/zone/bonuses.cpp index 18ad2dc8f..3c3788a74 100644 --- a/zone/bonuses.cpp +++ b/zone/bonuses.cpp @@ -1188,6 +1188,7 @@ void Mob::CalcSpellBonuses(StatBonuses* newbon) } //this prolly suffer from roundoff error slightly... newbon->AC = newbon->AC * 10 / 34; //ratio determined impirically from client. + if (GetClass() == BARD) newbon->ManaRegen = 0; // Bards do not get mana regen from spells. } void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* newbon, uint16 casterId, bool item_bonus, uint32 ticsremaining, int buffslot) diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index acd041f05..2f0ffe1a0 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -325,6 +325,9 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial) case SE_CurrentMana: { + // Bards don't get mana from effects, good or bad. + if(GetClass() == BARD) + break; if(IsManaTapSpell(spell_id)) { if(GetCasterClass() != 'N') { #ifdef SPELL_EFFECT_SPAM @@ -352,6 +355,9 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial) case SE_CurrentManaOnce: { + // Bards don't get mana from effects, good or bad. + if(GetClass() == BARD) + break; #ifdef SPELL_EFFECT_SPAM snprintf(effect_desc, _EDLEN, "Current Mana Once: %+i", effect_value); #endif