Server side we now have 63 total buff slots for clients
They match RoF/RoF2 and are mapped as 42 long, 20 short, 1 disc
The player is limited to what their clients supports, so
Tit players can have 25 buffs and 12 songs, while other can have more
When you log in, we only load up to the max your client supports,
the rest of the buffs are thrown away
Also changed is the default Max Buff slots for NPCs, they now match Tit (60)
If you are thinking about raising that, here are what some other clients support
Tit - SoF 60, SoD - UF 85, RoF - RoF2 97 (although UI only has 85 slots, you can
edit it if you want more)
Also SoD+ the pet limits match the NPC limits.
This will increase memory usage a bit, but I don't see a solution to that
Plus I think most people want this.
Most of these failures already show a message, live doesn't double
up on failure message + interrupt message, so lets not
There are a few logic error returns, but those really shouldn't happen
They started linked spells at OoW launch (I think)
At least canni was linked then.
This is rather user unfriendly, but that's live like.
Ex. the spells aren't actually put on cool down so you can attempt to cast them
still but you will be interrupted.
Titanium is particularly unfriendly with large differences in reuse times
New limits:
Tit: 9
SoF: 9
SoD: 10
UF: 12
RoF: 12
RoF2: 12
The SoF client doesn't actually support 10 like SoF should
RoF/RoF2 actually have 4 extra broken spell gems in the UI. They don't work and
will likely crash your client
Quest stuff assumes you are passing in valid slots.
(note the old default of 10 should be 22)
There are still somethings to do like clean up the memmed spells if one switches
to an older client that doesn't support as many as their previous client.
spells like augmentation and strenthen respectively. The stacking code
was being bypassed when a beneficial spell and a detrimental spell for the
same effect were being compared.
With this code removed, the spells are compared and the stonger of the two
spells wins and replaces or blocks the other.
Without this change, for example, dread touch takes down strengthen on the
client, but the server still things strength is up, causing a mismatch.
With this change, client/server match.