Commit graph

23175 commits

Author SHA1 Message Date
Sally Coolatta
c43fc4e924 GP: New difficulty increase algorithm
Before, it did level up based on how much the status quo was messed up (if a loser bot got pushed in front, or a rival bot got pushed ahead).

Now, bots will additionally level up based on the best of the 4 players' overall performance, and the performance of the human player that beat them. This means that back of the pack bots will level up more often and the rival won't level up if you place poorly.

The new formula ensures ALL bots are guaranteed at least 1 level up if you come in first place, whereas the old formula had a decent chance of not leveling up some bots. However, loser Chao getting boosted from 12th into 1st, or your rival getting sent to 7th, will still wildly piss them off :B
2023-05-15 06:13:01 -04:00
Sally Coolatta
a7f27948f3 Waypoints: If a normal & shortcut paths overlap, use the normal path 2023-05-15 04:00:24 -04:00
James R
305ce89720 STUN_bind: let multiple callbacks be registered by using std::vector 2023-05-15 00:22:16 -07:00
James R
72a8f27a52 Rename stun.c to stun.cpp 2023-05-15 00:19:29 -07:00
Sally Coolatta
d367bacc39 Bots: Decide what item they want without using RNG
Makes Lv.1 a lot less aggressive, and Lv.MAX slightly more aggressive. But the main advantage is simply that they are deterministic again and I can  :D
2023-05-15 03:05:28 -04:00
Oni
333fdee801 Merge branch 'fix-pwr-increment' into 'master'
Reset PWR increment after each round

See merge request KartKrew/Kart!1236
2023-05-15 05:43:20 +00:00
AJ Martinez
6b0f9aeb6d Don't do null-lap debug print 2023-05-14 22:28:35 -07:00
AJ Martinez
fdc41848a9 Oops, servernode isn't a player index 2023-05-14 22:20:33 -07:00
AJ Martinez
b0856d39d8 Reset PWR increment after each round 2023-05-14 22:05:05 -07:00
AJ Martinez
6184ba60c5 Fix chat messages being krangled on dedicated servers 2023-05-14 21:34:25 -07:00
Oni
9b08ca4c75 Merge branch 'cull-debugwaypoints' into 'master'
debugwaypoints: cull debug mobjs outside of drawdist

See merge request KartKrew/Kart!1201
2023-05-15 02:58:31 +00:00
Oni
3344ddc659 Merge branch 'profile-restrictions' into 'master'
Social restrictions until you've played some games

See merge request KartKrew/Kart!1194
2023-05-15 02:50:24 +00:00
Oni
cff151bf16 Merge branch 'audience-think-crash' into 'master'
Audience focus crash

See merge request KartKrew/Kart!1233
2023-05-15 01:19:52 +00:00
SteelT
c419d037e8 Port the menu drawer function
- k_hud.c: Add K_DrawSticker function (was previously named M_DrawSticker)
- Seperated the confirm handling into the menu ticker (fixes the confirm delay being framerate dependent)
- Updated to use the button graphics
2023-05-14 20:21:03 -04:00
Sally Coolatta
77ab86ab34 Bots: Increase spindash confirm further
Felt like they were spindashing just sliiiightly too often.
2023-05-14 19:33:38 -04:00
Sally Coolatta
d55c9038cc Bots: Can now use Ring Shooter
Reuses most of the anti-grief code, but with a very low timer (5sec) and they simply hold Y when reaching it until they eventually respawn from the ring shooter.
2023-05-14 19:32:51 -04:00
Sally Coolatta
34b12cc436 Bots: Improve spindash behaviors further
- Added new spindashing conditions:
   - In offroad.
   - Trying to go up-hill on a steep slope.
   - On a conveyor going the opposite direction they're trying to go. (Barren Badlands)
- Instead of checking for any spindash condition and adding to the confirm timer, it adds to the confirm timer for every single condition.
    - Increased the confirm time from 2sec to 3sec to accommodate for this change.
- Fixed not using precise momentum angle, causing the low-speed scenarios spindash is intended for to not always work.
- Bots now check for spindash conditions even in damage states, allowing for spindashes after a spinout.
- Fixed the spindash confirm not decreasing over time when entering a condition and then exiting it, causing random spindashes when it wouldn't make sense.
2023-05-14 18:26:31 -04:00
SteelT
cd59a4d34f Start of reimplementing the discord requests menu
- It's pretty barebones so far, more stuff has yet to be done
- Updated to use the current method of checking if a memu button is pressed

TODO: Port the menu drawer
TODO: Fix confirm delay handling
2023-05-14 16:24:41 -04:00
SteelT
ffe7c4f296 Allow game invites with DEVELOP builds of the game
- Preliminary work so that the feature can be tested later down the line when the menu is reimplemented
- Made sure any secret revealing presence info is guarded behind a non-DEVELOP build check
2023-05-14 16:24:41 -04:00
toaster
ac8de9a933 If a member of the Follower Audience is focused on a player that becomes invalid, immediately invalidate their attention and look for somebody new 2023-05-14 15:42:42 +01:00
James R
d1ec068e84 movie_size: default 8 mb -> 25 mb
Discord limit was raised.
2023-05-14 00:09:38 -07:00
Oni
cf304a09d4 Merge branch 'bot-thingies' into 'master'
Lots of bot changes

See merge request KartKrew/Kart!1229
2023-05-13 08:22:10 +00:00
Sally Coolatta
7cb0b74cac Use more explicit floor/ceiling FOF sort 2023-05-13 04:13:35 -04:00
Sally Coolatta
5ac7926e39 Prediction nudge is based on original WP radius
Previously based on prediction radius, which meant it was so low that it might barely even nudge at all. Now we try to nudge a lot, but clamp the radius to make it thinner if it goes off-road.
2023-05-13 01:59:07 -04:00
Sally Coolatta
7db53abdf7 Fix object nudge search being too small 2023-05-13 01:23:52 -04:00
Sally Coolatta
002e25905b Add FOF behavior switch to P_LineOpening
Finally fixes the very specific issue on Endless Mine ( https://cdn.discordapp.com/attachments/1006454720686202951/1106749881663631420/image.png )
2023-05-13 01:14:40 -04:00
Sally Coolatta
6fa821b2d3 Local P_LineOpening result + traversal leniency
P_LineOpening results are stored in a locally made struct instead of being a bunch of disorganized globals.

Waypoint traversals can go thru 1 line, if it was blocked by step-up rules, for free, similar concept to sound-blocking lines in Doom.
2023-05-13 00:39:36 -04:00
Sally Coolatta
66f0c7c9f0 Fix waypoint traversal with slopes 2023-05-12 23:10:56 -04:00
toaster
de22fc8ff1 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into profile-restrictions
# Conflicts:
#	src/hu_stuff.c
#	src/y_inter.c
2023-05-12 13:42:50 +01:00
toaster
d2a2115abf Merge branch 'fix-gacha-lob' into 'master'
Adjust Gachabom lobbing trajectory and backward thrown radius

See merge request KartKrew/Kart!1232
2023-05-12 12:10:30 +00:00
toaster
488cd3bd85 Merge branch 'fix-orbinaut-splay' into 'master'
Fixed dropped orbinauts

See merge request KartKrew/Kart!1230
2023-05-12 12:10:26 +00:00
James R
bdd36d4526 K_SpawnKartMissile: scale backward thrown nerfs to gamespeed for perfect consistency 2023-05-11 20:32:50 -07:00
James R
b08890bf92 Orbinauts/Gachabom: widen backward-thrown orbitting radius 2023-05-11 19:33:01 -07:00
James R
e628d153ad Gachabom: switch to lobbed mode before trajectory is set
Fixes lobbed Gachabom trajectory being inconsistent with
other lobbed items.
2023-05-11 19:17:40 -07:00
Oni
327edf9831 Merge branch 'water-unfuck' into 'master'
Scale underwater strafe from actual base speed

See merge request KartKrew/Kart!1224
2023-05-12 01:21:45 +00:00
Oni
aa50a34d7a Merge branch 'new-intermission' into 'master'
New intermission

See merge request KartKrew/Kart!1231
2023-05-12 01:02:09 +00:00
toaster
9ec6a6bbe0 HU_DrawRankings: Fix finish time (was using laps converted to seconds instead of realtime) 2023-05-12 00:02:51 +01:00
toaster
9179e6fd86 Since intermission is bordered, don't do widescreen accomodation for the Standings xoffset slide 2023-05-11 23:12:57 +01:00
toaster
39682a241d Y_PlayerStandingsDrawer: Set a minimum y height to prevent overlap with the header text 2023-05-11 23:08:26 +01:00
toaster
27dc9a3006 M_DrawPause: Only draw roundqueue outside of GS_INTERMISSION - that's already drawing it 2023-05-11 23:07:02 +01:00
toaster
c9b438d50d Show Round Queue on Pause menu
Also includes secret support for widescreen.
I was planning to put this on tab rankings, which doesn't have borders.
Pause menu does, but it would be a waste to strip it back out again.
2023-05-11 22:44:09 +01:00
toaster
c1eb01c03d Ping for Y_PlayerStandingsDrawer
TODO: CPU indicator
2023-05-11 21:39:06 +01:00
toaster
36d8bce14d Replace K_DrawTabRankings with Y_PlayerStandingsDrawer
TODO: Ping, LAGLESS
2023-05-11 18:11:40 +01:00
toaster
7081e98d9b Y_PlayerStandingsDrawer: Abstract y_data_t inputs
In the process, fix a longstanding interp bug where the jitter on tally increase would be for only one rendered frame, not one full tic.
2023-05-11 18:09:57 +01:00
toaster
efa849c8cc Y_PlayerStandingsDrawer: Make player index referencing in loop cleaner 2023-05-11 16:46:03 +01:00
toaster
c712cd7452 Prepare value string for intermission screen once, rather than every rendered frame
("RETIRED.", "0:24:13", "27", "1004", "----", etc)
2023-05-11 16:37:06 +01:00
toaster
77aa563a74 Depointerify several properties on y_data
- character is written directly
- color is written directly
- no more duplication of the player_names pointer
2023-05-11 16:36:03 +01:00
toaster
d581389c9c Y_PlayerStandingsDrawer: All local splitscreen players are now highlighted on the results screen
- Uses function pointers to highlight display players instead in demo playback
- Was previously doing this to avoid all players being highlighted in local splitscreen, but this is now relevant there too thanks to bots
2023-05-11 14:44:27 +01:00
toaster
0757d39930 Slight cleanup after extraction
Fixes Lua being able to hide the timer in the corner
2023-05-11 14:32:41 +01:00
toaster
7ddbd23f98 Y_PlayerStandingsDrawer
*Also* reduces how absolutely monolithic Y_IntermissionDrawer is.
2023-05-11 14:24:49 +01:00