Feature: User-defined custom binds / Special Actions keybinds
Which component should be improved?
Gameplay
Describe your feature suggestion in more detail
Alongside the usual keybinds available to players in their settings, there should be a new set of buttons which, by default, do nothing. They'd be labelled something along the lines of Special Action [N] (where [N] could be any number of reserved keybinds, though I think 5 is more than enough for most use cases).
These special binds would be accessible to mappers – via game_ui, in scripting via CBasePlayer::GetButtons(), and via env_instructor_hint – and would allow them to design custom mechanics and behaviors, without overriding existing actions or forcefully binding keys.
Ideally, if a map requires those actions, then the game should either prompt the player to bind them, or a set of binds should be preset from the start. Otherwise, just a warning before loading the addon (perhaps in the addon list itself) should suffice.