Yeah, thanks for pointing that out. I was hoping it would be a quick fix, but it looks like its more involved (if its even possible). It looks like the process for buffing is:
Code:
Mob::SpellOnTarget
sends action_packet (OP_Action) to target / caster
sends action_packet to clients in the area
calls Mob::SpellEffect
calls Mob::AddBuff
sets a flag & resends the action packet to target / caster
send new message packet (OP_Damage)
And the action packet is what tells the client to create the buff icon, but not what slot it goes into.
I also looked at setting UpdateClient = true on the buff, and relying on SendBuffDurationPacket to try to update the slot, but I am guessing the slot and slot id members on SpellBuffFade_Struct dont do what I hoped they might.
I dug around a bit and found OP_BuffCreate, but that only seems to be in the Live patch set.
Also, sending the whole player profile via OP_PlayerProfile seems to be how zoning gets the buffs to end up in the right slots, but that seems massively overkill for what I am doing, and I am not even sure if that would work.
I will keep digging. Any feedback or guidance would be appreciated.