Commit graph

2625 commits

Author SHA1 Message Date
Sally Coolatta
a2c57d7066 Fix bot extra friction on ice TERRAIN 2023-05-10 20:27:11 -04:00
AJ Martinez
cd485c8401 Scale underwater strafe from actual base speed 2023-05-05 18:28:05 -07:00
toaster
d27a2fc7ef Battle Fullscreen: Adjust battle completion text to 5 and a half seconds (from 6) 2023-05-02 18:16:25 +01:00
Sally Coolatta
60e80d876d Improve quake effects
- Quake epicenter + radius now work.
- Since quake epicenter works, removed the display player check on all of the quakes, so other players can feel them.
- Multiple quake effects are stored in a linked list and dynamically created/freed, so they can stack together.
- Made in china
- Made the quake effects only work on the z axis.
- Quakes now alternate their intensity and dampen it over time, instead of randomly picking values.
- Added quake effects for offroad and stair-jank
- Disabled quakes in reducevfx
- Removed actionmovie and windowquake (sorry jartha)
2023-05-01 14:24:32 -04:00
toaster
ab68be49e1 cv_antigrief
- Increments a timer on human players who aren't making progress, does it even faster if they're going backwards.
    - Only applies in:
        - Netgames
        - GTR_CIRCUIT after the timer starts
        - If there's no timelimit, pointlimit, or K_Cooperative (because unproductive behaviour there will be punished by other rules)
    - The rate at which this changes needs trial and error, but getting the feature functional is more important to start out with.
- If this timer reaches cv_antigrief's value in seconds , the player gets a "Grief Strike"
    - This doesn't happen if:
        - There's only one active player in the server, so FREE PLAY permits mappers to test what increments/decrements the counter
            - Turn `debugwaypoints` on to observe this
        - The cvar is set to 0
    - Less than 3 grief strikes is a forced spectate
    - Anything more is a kick via "automatic grief detection"
        - Unless your node is the host (or an admin)
    - Remove grief strike strike for finishing normally

# Conflicts:
#	src/d_clisrv.h
2023-05-01 16:57:35 +01:00
toaster
b69a575923 K_CheckSpectateStatus: Clean up
- Calculate numingame with first loop
- Explicitly set both spectatewait and spectatorReentry to 0 when not a spectator
- Return sooner for cv_maxplayers cap reaching
- Ignore spectatorReentry at an earlier point in the function, instead of complicating the final despectating to use two iteration values
2023-05-01 16:57:34 +01:00
toaster
15b0141700 Spectator re-entry timer
- On becoming a spectator in a netgame, there is a delay before you can de-spectate.
    - 30 seconds by default.
        - This can be changed using the cvar `spectatorreentry`.
    - ...unless there's only two people left including you, in which case it's three minutes!!
        - This can be changed using the cvar `duelspectatorreentry`.
        - If spectatorreentry is set to greater than duelspectatorrentry, the former is used instead.
    - This timer is wiped on mapload and intermission, so NEW CHALLENGER APPROACHING !! and level changes in general allow people in.
- General purpose cleanup of K_CheckSpectateStatus
2023-05-01 16:57:34 +01:00
Sally Coolatta
d9d561ee28 Make big items look better
- Bobbing
- Scaling
- Different heights on debris

Also cap scale in full scale maps
2023-04-29 17:46:41 -04:00
Sal
76c275424e Merge branch 'fix-respawn-turning' into 'master'
Don't apply handling boost if you're not alive

See merge request KartKrew/Kart!1187
2023-04-25 01:50:38 +00:00
James R
0da18745d9 K_DrawDraftCombiring: do not read outside of colors array 2023-04-22 15:22:38 -07:00
AJ Martinez
4b9b10c096 Don't apply handling boost if you're not alive 2023-04-21 17:27:31 -07:00
Sally Coolatta
3b7ac38d9f Ring Shooter: E-Brake + adjust distance
- Y is now additionally another macro for HOLD!
- Disable HOLD! drop from respawning when done with Ring Shooter.
- Immediate release Ring Shooter now goes back a waypoint, and does not have a minimum distance to go forward anymore.
2023-04-17 00:23:11 -04:00
Sally Coolatta
b123fd98a2 Ring Shooter: Disallow turning while in it 2023-04-17 00:23:11 -04:00
Sally Coolatta
14d371f00f Basic Ring Shooter freeze implementation
It's probably too easy to break, but this should be enough for testing at least.
2023-04-17 00:23:10 -04:00
Sally Coolatta
319cee4afa Move ring shooter to its own file 2023-04-17 00:23:07 -04:00
Sally Coolatta
668d832ca1 Delete respawn command, put Ring shooter on Y 2023-04-17 00:23:06 -04:00
lachablock
a458490639 Ring Shooter: countdown animation & experimental stretchy spawn 2023-04-17 00:22:08 -04:00
lachablock
c98ff9616b Start Ring Shooter respawn: while e-braking, enter the respawn command to spawn a Ring Shooter. Currently purely visual and does not despawn. Steals the player's face for funsies. 2023-04-17 00:22:07 -04:00
Sal
0f6ee942a1 Merge branch 'eggbox-strip-shield' into 'master'
Drop items when an eggbox is transferred to you (resolves #524)

Closes #524

See merge request KartKrew/Kart!1176
2023-04-17 04:18:19 +00:00
AJ Martinez
aca8b2f51d Drop items when an eggbox is transferred to you 2023-04-15 20:29:49 -07:00
AJ Martinez
1506e958c1 Don't check wipeoutslow in flashtic blocker, it might be unset shortly after 2023-04-15 16:26:01 -07:00
AJ Martinez
733ed325da Instead of detonating lightning when getting hit, make a sad sound 2023-04-13 23:28:35 -07:00
AJ Martinez
01813c91ba Merge remote-tracking branch 'origin/master' into online-handling 2023-04-11 23:42:58 -07:00
AJ Martinez
b4ffc33fcb Sliptide-aware camera steering, fix countersteer easing 2023-04-11 00:15:44 -07:00
AJ Martinez
94cf9fc47b WIP: don't oversteer when crossing 0 boundary 2023-04-10 23:15:23 -07:00
AJ Martinez
44b642ffa3 WIP: improved countersteering 2023-04-10 22:39:17 -07:00
Sally Coolatta
9c4ace6fbc Map anger
- Maps build anger every time a map isn't selected by anyone.
- If a map is ignored for 4 votes in a row, then on the 5th vote it shows up it will be angry enough to vote for itself when everyone else finishes voting.
- Once it gives its funny vote, or it gets played, it will calm down again.
- 13P+ vote icons are implemented; it's just a basic circle though cuz lazy.
- Made the roulette finish even faster.
- Bots can vote again but now behind a debug cvar.
2023-04-10 02:10:06 -04:00
Oni
d30567c04a Merge branch 'railgun' into 'master'
Use old multiply effect for fast missile shots

See merge request KartKrew/Kart!1153
2023-04-09 05:00:14 +00:00
Oni
485af970e6 Merge branch 'sealed-smooth' into 'master'
Sealed Smooth

See merge request KartKrew/Kart!1154
2023-04-09 03:07:26 +00:00
AJ Martinez
75cfe4b5ad Also take away existing wavedash boost when hit 2023-04-08 15:22:15 -07:00
AJ Martinez
ddbeb98677 Make doubly sure not to keepsliptide with no sliptide 2023-04-08 05:31:30 -07:00
AJ Martinez
d6ccf341c5 Keep sliptides at speed even without boost, but don't charge wavedashing 2023-04-08 04:22:49 -07:00
AJ Martinez
ea0336bf1b Seriously, never sliptide while underwater 2023-04-08 03:07:34 -07:00
AJ Martinez
207dd964f4 Kill wavedash charge when hit 2023-04-08 03:01:34 -07:00
AJ Martinez
553940e192 You are never sliptiding underwater 2023-04-08 00:39:26 -07:00
AJ Martinez
ac41a0a563 Use old multiply effect for fast missile shots 2023-04-07 16:16:45 -07:00
toaster
e82082fd06 K_UpdateDistanceFromFinishLine: Do not destroy distancetofinish value if the player NO CONTESTed 2023-04-07 00:55:04 +01:00
toaster
bbf2fc0b5f Merge branch 'tutorial-access' into 'master'
Tutorial access

See merge request KartKrew/Kart!1102
2023-04-06 17:02:59 +00:00
Eidolon
86dd34d807 Merge branch 'pad-rumble' into 'master'
Gamepad rumble

See merge request KartKrew/Kart!1098
2023-04-03 21:15:34 +00:00
toaster
a0cdc6b71a FREE PLAY: Make a little more consistent
- Cooperative gametypes do not count as FREE PLAY
- Sealed Stars count as a Cooperative gametype
- Fix Battle Fullscreen having had inverted presence of FREE PLAY since bosses were added
2023-04-03 00:28:36 +01:00
toaster
57b1ad15a5 GameTypeRules: Add GTR_NOPOSITION
Says on the tin - introtime == starttime.
2023-04-03 00:28:36 +01:00
toaster
380beaa023 Refactor Rumble condition check to iterate over splitscreen players once in p_tick.c, instead of players*splitscreen players in k_kart.c 2023-04-02 23:49:45 +01:00
Eidolon
3cd232601e Use boostpower instead of offroad for rumble 2023-04-02 21:56:41 +01:00
Eidolon
f7ca9043a1 Add offroad gamepad rumble 2023-04-02 21:56:39 +01:00
toaster
4d8e6f235a Flip HOLD! in Encore 2023-04-02 19:15:57 +01:00
Sal
3a109dbe78 Merge branch 'uncap-numlaps' into 'master'
Remove restrictions on numlaps, merge with gptest

See merge request KartKrew/Kart!1116
2023-04-01 20:12:47 +00:00
James R
bd7613cd09 K_GetPlayerNextWaypoint: use player's current waypoint as a hint
Improves best waypoint search time on huge maps with many
waypoints, such as City Escape.
2023-03-31 01:42:38 -07:00
James R
71626dbc76 K_GetBestWaypointForMobj: add a hint argument
The hint argument is a known nearby waypoint that can be
used to optimize the waypoint search.
2023-03-31 01:41:31 -07:00
James R
e437656633 Remove restrictions on numlaps, merge with gptest
- numlaps 0 now sets the race to 0 laps.
  - Players will finish upon crossing the finishing line
    immediately after POSITION.

- gptest merged with numlaps.
  - numlaps works in GP.

- Warping to sprint maps with numlaps already set now lets
  numlaps exceed the map default. It was previous capped
  at map default ONLY when loading into the level (so you
  could still exceed it by setting numlaps during
  POSITION). Now it's consistent.

- numlaps can now be set at any time during the race.
2023-03-29 03:53:21 -07:00
Sal
fe34e04abe Merge branch 'encore-fixies' into 'master'
Fix random Encore vote, error if ENCORE/TWEAKMAP lump is invalid, add debugencorevote command

Closes #333

See merge request KartKrew/Kart!1101
2023-03-29 00:32:00 +00:00