A quick info dump/set of comments regarding the spellcasting series of the League of Legends techblog (24. April 2024). There are some very interesting tiny details!
For certain spells, you can queue up casting a spell a little bit before it comes off cooldown, which is a form of flub prevention.
Since the implementation of client-side spellbook override, we no longer require a cast time to hide the latency between client and server.
...let’s fill our palette with how spellcasting works in league of legends.
Combination of these two snippets had me worried:
Once in the override state, we listen for new inputs and send a spell request to the server according to the additional input and the spellbook we’re in.
The server would receive this packet, locate QQ, and put it on slot 0 (Q slot). Then the server will cast QQ and let the client know that a spellcast has been successfully casted.
My initial thoguht was: Do they not validate whether the specific combo is valid?
Later they of course expand on this: The reason is hackers can technically send fake spell request packets and the server will accept it.
The conversion does need some legwork, but the benefit would be that shapeshifters could buffer additional spells so their combos get even smoother.
One thing that came up during the development process of Hwei is the custom settings for “Move To Cast”, which currently exists as an in-game option “Clamp cast target location within max range”! When enabled, spells will auto cast at the maximum range if your cursor is out of range of the spell, avoiding walking to cast.
HOLY SHIT I REMEMBER THIS. Due to the inconsistency regarding this "clamping", some champions became, from patch to patch, worse/better to play! I prefer the non-clamping version as you can test, for example, the width/AOE range of a cast by hovering over some location outside your range (ofc with quickcast disabled). I basically feel very restricted when the cast indicator is "limited" (clamped) like that.