From 249d67a1c316c675268530fa607c8f02ff38ac06 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Mon, 25 May 2015 02:01:51 -0400 Subject: [PATCH] Bards get a bonus tic at some point Not sure what level but it's between 53 and 85 ... (although I remember reading something about around 60) I also didn't notice any of the odd effects the comments speak of ... I suspect they were fighting each other? --- zone/effects.cpp | 12 ++++-------- zone/spell_effects.cpp | 13 ------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/zone/effects.cpp b/zone/effects.cpp index 493de9fa7..c814ea554 100644 --- a/zone/effects.cpp +++ b/zone/effects.cpp @@ -421,14 +421,10 @@ int32 Mob::GetActSpellDuration(uint16 spell_id, int32 duration) int tic_inc = 0; tic_inc = GetFocusEffect(focusSpellDurByTic, spell_id); - // Only need this for clients, since the change was for bard songs, I assume we should keep non bard songs getting +1 - // However if its bard or not and is mez, charm or fear, we need to add 1 so that client is in sync - if (IsClient() && !(IsShortDurationBuff(spell_id) && IsBardSong(spell_id)) || - IsFearSpell(spell_id) || - IsCharmSpell(spell_id) || - IsMezSpell(spell_id) || - IsBlindSpell(spell_id)) - tic_inc += 1; + // unsure on the exact details, but bard songs that don't cost mana at some point get an extra tick, 60 for now + // a level 53 bard reported getting 2 tics + if (IsShortDurationBuff(spell_id) && IsBardSong(spell_id) && spells[spell_id].mana == 0 && GetClass() == BARD && GetLevel() > 60) + tic_inc++; return (((duration * increase) / 100) + tic_inc); } diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index a5b678e57..fc942f9fe 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -3375,19 +3375,6 @@ void Mob::BuffProcess() --buffs[buffs_i].ticsremaining; if (buffs[buffs_i].ticsremaining == 0) { - // Why do we need to let these go negative? Client uses negatives for perma buffs - if (!IsShortDurationBuff(buffs[buffs_i].spellid) || - IsFearSpell(buffs[buffs_i].spellid) || - IsCharmSpell(buffs[buffs_i].spellid) || - IsMezSpell(buffs[buffs_i].spellid) || - IsBlindSpell(buffs[buffs_i].spellid)) - { - Log.Out(Logs::Detail, Logs::Spells, "Buff %d in slot %d has expired. Fading.", buffs[buffs_i].spellid, buffs_i); - BuffFadeBySlot(buffs_i); - } - } - else if (buffs[buffs_i].ticsremaining < 0) - { Log.Out(Logs::Detail, Logs::Spells, "Buff %d in slot %d has expired. Fading.", buffs[buffs_i].spellid, buffs_i); BuffFadeBySlot(buffs_i); }