I was curious..
In spells.cpp there are several spots where Buffs are updated on when client is SoDAndLater (clients SoD+)
Code:
if(c->GetClientVersionBit() & BIT_SoDAndLater)
{
EQApplicationPacket *outapp = MakeBuffsPacket();
c->FastQueuePacket(&outapp);
}
while in spell_effects.cpp, buff durations are updated in a different, but almost opposite way when client NOT SoFAndLater (hence older than SoF):
Code:
else if(IsClient() && !(CastToClient()->GetClientVersionBit() & BIT_SoFAndLater))
{
buffs[buffs_i].UpdateClient = true;
}
}
if(IsClient())
{
if(buffs[buffs_i].UpdateClient == true)
{
CastToClient()->SendBuffDurationPacket(buffs[buffs_i].spellid, buffs[buffs_i].ticsremaining, buffs[buffs_i].casterlevel);
buffs[buffs_i].UpdateClient = false;
}
}
Is this accurate? BuffsDurations are updated for older clients, but Updates to the Buff List is only done on newer ones?