mirror of
https://github.com/EQEmu/Server.git
synced 2026-01-04 15:43:52 +00:00
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?
This commit is contained in:
parent
85bdcf413b
commit
249d67a1c3
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user