Currently the names only show for inspecting via Target Window because
we send buff packets in the wrong order and there is a dependency on
them being correct for self that isn't present for target window.
400 ms is far too aggressive for normal game play
Set to 10 ms to hopefully not get in the way of legitimate game play
Also, why do we even do this? As far as I can tell, we need this to be
less than the users ping to not cause issues. What are the actual
reasons we do this and what can we do differently to solve them?
- the defaults are set in the code and can be tweaked by sourcing utils/sql/git/optional/rule_values_range_update.sql
- Thanks to mackal for gathering live ranges, thanks to takp for initial numbers
- We would send 200 for combat updates and the client will only display <= range 54 anyways, these should help a lot in spammy combat
RULE_CATEGORY( Range )
RULE_INT ( Range, Say, 135 )
RULE_INT ( Range, Emote, 135 )
RULE_INT ( Range, BeginCast, 200)
RULE_INT ( Range, Anims, 135)
RULE_INT ( Range, DamageMessages, 50)
RULE_INT ( Range, SpellMessages, 75)
RULE_INT ( Range, SongMessages, 75)
RULE_CATEGORY_END()
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