Commit graph

23086 commits

Author SHA1 Message Date
toaster
d27a2fc7ef Battle Fullscreen: Adjust battle completion text to 5 and a half seconds (from 6) 2023-05-02 18:16:25 +01:00
Oni
1058d210d1 Merge branch 'boostpower-terrain-particles' into 'master'
Slowdown Terrain Particle repair

See merge request KartKrew/Kart!1166
2023-05-01 19:33:02 +00:00
Oni
b5d832c636 Merge branch 'new-quake' into 'master'
Improve quake effects

See merge request KartKrew/Kart!1216
2023-05-01 19:29:19 +00: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
f450789a08 Final rearrangement
- If terrain has footsteps, always show those footsteps regardless of player speed slowdown
- Otherwise, if player is slowed down, show default offroad particles
2023-05-01 17:52:56 +01:00
toaster
a08a23101c Merge branch 'antigrief-returns' into 'master'
[Antigrief pt1] Spectator re-entry timer

See merge request KartKrew/Kart!1168
2023-05-01 16:19:51 +00:00
toaster
3d9d9ba1e6 P_Ticker: Do not run antigrief detection if there are no waypoints 2023-05-01 17:10:02 +01:00
toaster
ee3bf6d117 P_CheckRaceGriefing: Fix typo that rendered antigrief ineffective 2023-05-01 16:57:35 +01:00
toaster
d09cfe6704 antigrief_cons_t: Increase maximum for parity with the previous entry in the series 2023-05-01 16:57:35 +01:00
toaster
477eb000e5 Do not subtract grief strikes for finishing a race normally
Prevents scenarios where someone engages in alternating sporting and unsporting behaviour and never experiences lasting consequences
2023-05-01 16:57:35 +01: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
d4dbc1fe30 P_Ticker: Seperate out local player device rumble handling into its own inlineable function
Clears some space for antigrief handling
2023-05-01 16:57:34 +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
9e30ffcdb7 Got_KickCmd: Do not kick players with the server node from the server (this shut down the server previously !?) 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
toaster
d50e3a1895 Got_Teamchange: Do not repeatedly declare a player has become a spectator if they already were 2023-05-01 16:57:34 +01:00
Oni
1c9ee9f907 Merge branch 'chunky-items' into 'master'
Bigger, chunkier items test

See merge request KartKrew/Kart!1177
2023-05-01 03:28:52 +00:00
Oni
7c3d23b70f Merge branch 'new-boost-vfx' into 'master'
New boost VFX

See merge request KartKrew/Kart!1215
2023-05-01 03:18:21 +00:00
Oni
b5fbb84395 Merge branch 'finish-jingles-return' into 'master'
Finish Jingles Return

See merge request KartKrew/Kart!1214
2023-05-01 03:17:26 +00:00
AJ Martinez
08ffc79b5c PT_SAY: Review fixup 2023-04-30 19:05:29 -07:00
VelocitOni
91738a56bd New boost vfx
Extended the frame window for new boost vfx, made them additive too.
2023-04-30 21:00:49 -04:00
Oni
82a4af03e2 Merge branch 'demo-fix-custom-maps' into 'master'
Search for map and gametype after addons are loaded when watching replays

See merge request KartKrew/Kart!1211
2023-04-30 23:44:45 +00:00
Oni
1392b04b7a Merge branch 'egg-tv' into 'master'
Egg TV

See merge request KartKrew/Kart!1209
2023-04-30 23:44:26 +00:00
toaster
83fc8110ba Versus music: *Also* begin at tic 1, not 3 2023-04-30 21:48:02 +01:00
toaster
581567dfae musiccountdown
A system for level completion jingles.
- G_Ticker
    - Call P_EndingMusic after a certain amount of time has elapsed to begin a jingle
    - Play O_RACENT after the jingle's completion instead of baking it or an equivalent into the music
- P_EndingMusic
    - Change the function signature to not take a player
    - Pick from a series of const char* jingles, instead of sprintfing into a buffer
        - _first
        - _win
        - _lose
        - RETIRE
    - Simplifying logic to handle intermission music
2023-04-30 21:47:07 +01:00
toaster
74d6445a56 Integrate Ring Racers jingles into the inherited-from-SRB2 JT_ jingle system
Most of this work was completed last year by Sal.
- JT_INVINCIBILITY
- JT_GROW
Future work:
- Actually use the S_RecallMusic system (for some reason it doesn't play nice so had to disable it)
2023-04-30 20:50:12 +01:00
toaster
f65471f609 P_Ticker: Encore map intro hum starts at tic 1, not 3, after experimental intro timer merger 2023-04-30 20:31:07 +01:00
toaster
dc7d157162 Make both offroad dust and terrain particles 2023-04-30 16:39:58 +01:00
toaster
661285d3c6 Fix custom terrain footsteps never being considered under offroad conditions 2023-04-30 16:30:23 +01:00
toaster
26cdc0f003 Fix particle behaviours for indicating being slowed
- For players interacting with terrain:
    - If a terrain is tagged with offroad, only use footstep if player is being slowed by it
    - If a player is not on terrain with footsteps but is being slowed down, use default footsteps as a substitute
This matches behaviour of the previous entry in the series, which was good for communicating the gameplay functionality of being slowed down.
2023-04-30 16:30:17 +01:00
Sally Coolatta
833131b319 Make MAXRADIUS bigger
MAXRADIUS was previously an arbitrary value id Software set as whatever their biggest object would be (which they broke that rule anyway). It is now the radius of a blockmap block, which should be a large enough of a nudge value to handle all cases. (Still don't recommend making objects any bigger than a Spider Mastermind though.)
2023-04-30 10:31:26 -04:00
AJ Martinez
5854969fa9 PT_SAY: Help GUESTs understand what's going on a little better 2023-04-30 05:59:13 -07:00
Oni
08266c44c6 Merge branch 'new-offroad-dust' into 'master'
New Off-Road Dust

See merge request KartKrew/Kart!1213
2023-04-30 07:58:37 +00:00
Oni
6069d2042a Merge branch 'ring-respawn-fuck-you' into 'master'
Faster ring respawn once again

See merge request KartKrew/Kart!1212
2023-04-30 06:44:44 +00:00
AJ Martinez
54ebe2571d Fix paren placement SIGFPE 2023-04-29 22:48:07 -07:00
VelocitOni
8a4ad078a3 Compile error
Sorry, the branch doesn't compile without this opening parenthesis :holdingbacktears:
2023-04-30 01:31:18 -04:00
AJ Martinez
eb8c568723 Index footgun warning 2023-04-29 20:30:53 -07:00
AJ Martinez
833501f191 Games-played chat reject message clarity 2023-04-29 20:26:51 -07:00
AJ Martinez
55f15f6c0e CV_SAVE gamestochat 2023-04-29 20:24:30 -07:00
AJ Martinez
c924228444 Split PT_SAY handling into its own method 2023-04-29 20:24:17 -07:00
AJ Martinez
167f5f40ed PT_SAY and gamestochat: the rest of the owl 2023-04-29 20:16:20 -07:00
VelocitOni
758c4f98f8 New off-road dust
Remade the off-road dust visuals
2023-04-29 22:56:01 -04:00
AJ Martinez
eae6c2fa80 PT_SAY: Fix index reuse in spam handler 2023-04-29 17:46:45 -07:00
AJ Martinez
346a778365 PT_SAY: Restore cv_mute and stop_spamming 2023-04-29 17:45:04 -07:00
AJ Martinez
42251419e0 PT_SAY: check that source matches packet source 2023-04-29 17:21:44 -07:00
AJ Martinez
cb8e48d8a7 WIP: PT_SAY 2023-04-29 16:12:23 -07:00
Sally Coolatta
20d0f2d3fb Return random items to old doomednum 2023-04-29 17:52:19 -04: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
Sally Coolatta
5b415de3fe Respawn Random Items in all modes 2023-04-29 13:47:38 -04:00
Sally Coolatta
1a9841272b Bigger, chunkier items test
- Random & Sphere Items are x3 bigger.
- Eggman Items grow to x3 bigger when they land.
- Eggman Item hitbox reverted from 24 to 16 again, since the x3 size increases their hitbox even more anyway.
- Random item temporarily moved to 2011 and 2000 objects ignored, as per Ivo's request.

The idea behind this branch is to start turning tons of item clusters into single file item rows with only a few items per. The original intent was to make 9P+ more bearable by making item sets no longer free, but in a way that's engaging & takes thought. This does eliminate one of the reasons I had originally standardized MK64-style clusters, but honestly no one really hides eggman items anymore :P

I'm not totally confident that this will make massive netgames enjoyable on its own, but it's one step towards that and this change has a lot of other benefits as well like less clutter and better visibility.

Due to the mapthing type shuffle, this needs to be tested on a few maps with changed item sets, and then swap it back before merging.
2023-04-29 13:47:37 -04:00