Commit graph

376 commits

Author SHA1 Message Date
yamamama
b622ed1333 Toggle for bananadrag (trailslow) 2026-05-02 07:40:57 -04:00
NepDisk
01ce7b0221 Hardcoded Keep Stuff
Toggles allows certain item timers to maintain on death. Also handles setting up the state of said items again..
2026-05-02 03:48:08 -04:00
yamamama
416885a7c7 Voice system overhaul
Lots of things to bring it up to speed with the Lua dubs system.

To note:
- The `voice` cvars have been replaced with commands that are more robust
  in scope. These commands accept multiple arguments:
  - 1 arg (`voice` alone): Displays your current voice
  - 2 args (`voice <vox_name>`): Sets your voice to the provided voice,
    given it exists.
  - 3 args (`voice <skin_name> <vox_name>`): Sets your voice
    (given you're playing as the skin) and logs a preference.
  - `voice --help`: Explains everything above
- A preferenecs system now exists, which is loaded in on-boot and saved
  when quitting:
  - When you swap skins, the game checks an unordered map of preferences,
    indexed by skin name. If the skin you're changing to both exists in
    your preference list, and has your preferred voice loaded in the
    server, a notice will appear and you'll automatically use your
    preferred voice.
  - `listvoiceprefs` now exists, displaying voice preferences for the
    given splitscreen player. If no additional args are provided,
    it defaults to Player 1's first page of preferences.
  - `voicepref_auto` now exists for all splitscreen players to
    automatically assign preferences when you change your voice away
    from the default. The default voice is not logged by `voicepref_auto`;
    you have to do that manually. This cvar is toggled On by default.
- Voice settings and preferences are now saved to a `blanpreferences.cfg`
  file, which is unique for each local player; each local player has their
  own preference file.
2026-04-29 04:51:22 -04:00
minenice55
2164aa71b4 disallow loading mismatching map patches
should 0 hashes be always allowed?
2026-04-28 10:53:45 -04:00
minenice55
7b1df12ed0 experimental attraction shield EMP attack option
AoE attack can put opponent items on a cooldown
2026-04-27 22:45:28 -04:00
minenice55
695d1118bc fix weird bug with 0 speedboost boost powers (specifically for recovery spin)
accel and handling boost would lock up if they're changed via K_DoBoost while keeping speedboost at 0
2026-04-26 01:06:58 -04:00
minenice55
06a90d9809 configurable attraction shield player damage
was told we want this
2026-04-24 23:58:28 -04:00
NepDisk
821afa350c Add automation state for level starts
Could be useful for map start changes
2026-04-13 17:26:17 -04:00
minenice55
a9d5799589 tweak attraction shield performance
tackle is slower but handles better
tackle is made weaker when in first
fixed issue with dropping items not clearing seeking flag
2026-03-30 22:10:54 -04:00
toaster
ec5b8fcf04 XD_REQMAPQUEUE --> PT_REQMAPQUEUE
It was technically possible for custom clients to spoil future rounds of a tournament queued while they are connected to a server.
Making it a PT direct packet to the servernode both solves this problem AND reduces irrelevant NetXCmd traffic for clients.
2026-03-27 23:37:08 -04:00
NepDisk
50bbd3c561 Merge branch 'next' into roundqueue 2026-03-27 21:01:47 -04:00
NepDisk
045e6170c1 Create and use mapnum enumtype 2026-03-27 13:37:36 -04:00
minenice55
45e6fc6aef add cvars for boost values, small aim assist, contact damage 2026-03-26 17:49:18 -04:00
NepDisk
820db79d18 Raise most map numbers to UINT16
I've probably missed a few...
2026-03-26 14:55:20 -04:00
toaster
04697e94f3 Console command queuemap
- Full valid format: queuemap [name/num] -gametype [name] -encore -force
- Server is fully authoriative about the order of maps in the round-queue
    - Server sends XD_MAPQUEUE (which contains gametype, encore, and ordering)
    - Admin clients have to send XD_REQMAPQUEUE (which contains gametype, encore, and mapnum)
        - Servers spit out a processed XD_MAPQUEUE on reciept
    - Done this way just in case an XD_MAPQUEUE is not recieved and has to be resent, guarantees ordering
- Will create a UI for this post-launch, this is primarily for testing but may be useful for user-ran tournaments
2026-03-25 23:01:42 -04:00
NepDisk
24373da780 Port basics of roundqueue 2026-03-25 22:52:54 -04:00
NepDisk
24604a0298 Add small and text only nametags
I really hate HUD code....
2026-03-18 10:45:10 -04:00
yamamama
f082cb1439 Player-tracking roulette box visibility 2026-03-14 19:21:15 -04:00
minenice55
3b2ec88e1d is this a good idea 2026-02-21 20:24:06 -05:00
yamamama
4bc810207e Add a customizable decay timer to the S-Monitor 2026-02-16 20:45:58 -05:00
yamamama
e036028948 Invincibility damage toggle, bring back S-Monitor's distance check 2026-02-16 19:59:35 -05:00
yamamama
d5ca5516de Split Classic and Alt. Invincibility
- It's what the people want, why bother to complain?
- Alt is now its own separate item titled the S-Monitor
- Several variables, macros, functions, and comments have been renamed to fit this change
2026-02-16 18:40:48 -05:00
NepDisk
8a9683542b Fix Gamepads
Thanks thanks thanks thanks so much Alug for the time working on this!!!!!
2026-02-14 16:27:53 -05:00
minenice55
38eb41940b heavy drop acceleration assist when turning
also restore some of the heavy drop feel tuning when heavy-only is used (it should still be fun 🥹)
 to keep light and heavy in balance we unfortunately need to sack the feel-tuning in fusion so it should stay like it is in d738ad595 there
 as an additional measure hi-power heavy drop is now much shorter in fusion
2026-02-08 01:07:07 -05:00
yamamama
ed5b67c399 RadioRacers' player-tracking roulette
Original commit: f79b5cc51a
2026-02-03 16:40:53 -05:00
toaster
21849ef1ce Horncode
A much more focused replacement for Hornmod, specc'd out by Tyron and Oni working together and implemented by the author of this commit because it's pretty funny.

- Followers have `hornsound` in their SOC configuration.
    - The default sound for all followers without a provided one is sfx_horn00.
- They'll play this sound if you use lookback with one following you, and there's nearby players to get the player looking all the way around.
    - Only the players who are successfully considered for lookback will hear it.
- Has a v1-like visual with less randomisation, but still netsynced.
- Also controlled by the cvar `taunthorns`, which, like `tauntvoices`, takes "Tasteful" (default), "Meme", and "Off".

TODO: make the condition for horn a little delayed, so you have to hold lookback for a little bit.
2026-02-01 16:16:02 -05:00
minenice55
dd15f7cc67 billion config cvars, add recovery dash to menus 2026-01-28 02:00:11 -05:00
minenice55
0beaae5f55 start spindash/ssmt 2026-01-27 02:07:47 -05:00
minenice55
905ebe528a client-determined drift mode? 2026-01-26 13:36:35 -05:00
minenice55
ea408ff188 bring back snapshot system 2026-01-26 13:12:13 -05:00
minenice55
2327f02529 make this change operation order instead of use snapshots 2026-01-25 18:34:27 -05:00
minenice55
c6b875b336 experiment: drift turn snapshot
adds a cvar that makes starting a drift use the turn input from when the button is pressed to determine direction
2026-01-25 18:23:15 -05:00
NepDisk
6aac27ff1d Add cvar to allow bubbleboost to mow offroad and shield boost rumble support
On maps with tripwires these are great for shortcuts not so much with offroad only setups. Lets try to level the playing field.

Oh and also lets add rumble support for flame and bubble boosts since it feels nice.
2026-01-21 20:11:20 -05:00
yamamama
cf4120be13 Kill kartspbdist
The changes to KRF_RUNNERAUGMENT obsolete the need for this cvar entirely LMAO
2025-12-27 17:43:23 -05:00
NepDisk
7249273ca3 Revert "Kill Alt. Invin."
This reverts commit f414006e66.
2025-12-22 20:23:45 -05:00
yamamama
f414006e66 Kill Alt. Invin. 2025-12-22 20:05:13 -05:00
yamamama
d031776ed3 Introduce handleboost
Copying the system directly from RR 2.4
2025-12-20 23:41:45 -05:00
yamamama
9310a577dd Make this a goddamned cvar 2025-12-15 06:05:46 -05:00
minenice55
66dcc5c1db bricks
release accel to stop waterskipping
2025-12-14 20:34:56 -05:00
yamamama
327035e68e Start work on an item roll tracker
Uses an unordered-map system so we don't loop through every item constantly

Opting for trying to fit everyone on the screen; 320x200 users can deal with it
Scrolling is not yet implemented, and this system isn't netsynched yet
2025-12-12 21:38:15 -05:00
NepDisk
8881ade6fe Port some votescreen cleanup from RR 2025-12-12 18:15:21 -05:00
yamamama
b89cf36c6d Invincibility: 'Legacy' -> 'Classic'
Per internal talks
2025-12-11 13:49:05 -05:00
yamamama
2419e25327 Add the ability to play Invincibility's theme in full
On-a-whim idea, admittedly
2025-12-11 11:24:55 -05:00
yamamama
568949b8e5 'Join Last Server' option 2025-12-05 15:45:10 -05:00
yamamama
55e98f05cd Merge remote-tracking branch 'origin/next' into subvsdub 2025-11-30 17:44:53 -05:00
yamamama
dfc1981854 Add the "Arrow Bullet"
* Toggleable QoL option for Alt. Shrink
* While using Alt. Shrink, at or above a speed threshold (currently 175% the statblock's cruising speed), ignore most things that would damage you
* Rewards breakaways and incentivizes going fast
* Graphics are placeholder
2025-11-30 16:40:44 -05:00
yamamama
14753a4534 Merge remote-tracking branch 'origin/next' into subvsdub 2025-11-29 11:07:05 -05:00
minenice55
d855c05854 cvar-ify the air thrust powers 2025-11-26 21:58:51 -05:00
minenice55
6a6ed9d8b3 start re-implementing airthrust from #158 2025-11-26 13:13:15 -05:00
yamamama
b7a60c2fea Voice dub freeslotting
Full transparency: the way I set up dub reading from an SOC is Yanderedev-tier garbage.
2025-11-26 07:46:37 -05:00