Commit graph

70 commits

Author SHA1 Message Date
toaster
ce93667fce GTR_CHECKPOINTS: Players will now respawn at Starposts
In addition, tighten up the handling for player angle at spawn time
2023-11-04 23:03:25 +00:00
toaster
340ac0de0f Self-review: K_DoFault - add challenge check deferral 2023-10-20 14:59:49 +01:00
toaster
0478d9a2e3 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-19 17:32:35 +01:00
Oni
07298ce94b Merge branch 'force-waypoint-update' into 'master'
Update respawn waypoint on fastfall bounce, reset lap on track reset (resolves #705, #489)

Closes #489 and #705

See merge request KartKrew/Kart!1563
2023-10-19 07:21:01 +00:00
AJ Martinez
6f65d55009 Correct to safelap instantly to prevent finish distance spike 2023-10-18 22:40:24 -07:00
AJ Martinez
f0d0a0f07b Reset player lap when they reset to track 2023-10-17 22:18:49 -07:00
AJ Martinez
218fc1aeb3 Block Lightsnake: unfuck build 2023-10-17 20:37:13 -07:00
toaster
fa2e54dd13 UCRP_FAULTED
- `Condition1 = Faulted Yes`
    - `FAULT during POSITION`
    - for example, combine with "& finish in 1st"
- `Condition1 = Faulted No`
    - `don't FAULT during POSITION`
2023-10-17 23:21:47 +01:00
AJ Martinez
38aa1f9d6b Waypoint flag to block lightsnake 2023-10-17 03:54:23 -07:00
AJ Martinez
346f6c4ab0 Don't slow down fast respawns from loss-of-control etc 2023-09-22 20:17:28 -07:00
AJ Martinez
cb5f3f5b69 When respawning, return to first waypoint with consistent time 2023-09-22 19:54:22 -07:00
AJ Martinez
4875311ac9 Slower Drop Dash boost type 2023-05-27 21:55:26 -07: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
James R
efcdfbe665 Fix some instances of boolean not being set to true exactly 2023-04-24 18:14:37 -07:00
James R
56dcfaedf8 Respawning: set MF2_OBJECTFLIP directly in P_GetMobjGravity
K_RespawnOffset is called before the player is actually at
the waypoint's position, so even if P_GetMobjGravity is
called there to check, it reflects the player's current
sector, which may not necessarily be the waypoint's
sector.
2023-04-24 18:13:37 -07:00
toaster
5b348ee195 K_DoIngameRespawn: Ring Shooter-induced lightsnake always starts from the previous SPAWNPOINT waypoint, not the previous waypoint in general 2023-04-17 00:23:13 -04: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
James R
6b02836c22 Do not run any thing collision for respawning players whatsoever
Adds MF_NOCLIPTHING to players while respawning.
2023-03-26 20:45:18 -07:00
Oni
e4ba544994 Merge branch 'buff-sliptide' into 'master'
Make sliptiding actually good

See merge request KartKrew/Kart!1020
2023-03-07 08:49:46 +00:00
AJ Martinez
5dea8f9bba Break zip combo when dying, idiot 2023-03-06 05:43:14 -07:00
James R
fec24381df Fix FAULT crash if no finish line waypoint 2023-03-02 23:40:54 -08:00
James R
6e5a5bf92d Apply flashing tics to RESPAWNST_DROP
Applies flashing tics to the entire respawn state so you
don't become vulnerable once you reach the waypoint.
2023-03-01 07:25:14 -08:00
James R
5ef24e1a3c Fix flashing tics flickering animation for light snake 2023-03-01 07:23:56 -08:00
James R
d90351d660 Don't FAULT outside of Race modes 2023-02-21 23:59:56 -08:00
AJ Martinez
32ea795639 Fault rework cleanup for merge 2023-02-13 15:31:39 -07:00
AJ Martinez
de268b744b Beam fault cleanup, make non-circuit death faults respawn at wp behind finish 2023-02-11 19:09:52 -07:00
James R
8ff95af61d Disable Drop Dashing while on the Garden Top 2023-01-14 18:35:49 -08:00
toaster
1213836564 Permit a lightsnaking player to go into RESPAWNST_DROP (the final second of lightsnake) early at any time after the initail bring-back-to-last-waypoint.
Needs balance testing, but resolves #299.
2023-01-06 13:20:04 +00:00
toaster
8431e52687 All playsim-internal distinctions between Race and Battle are now gametype rules.
New:
- GTR_POWERSTONES
    - Handles spawning in Battle Emeralds (currently only works stacked with GTR_PAPERITEMS)
- GTR_ENCORE
    - Codifies that Race can use Encore and Battle can't.
- GTR_CLOSERPLAYERS
    - A gametype where players are encouraged/expected to be closer together. (All of the following was GT_BATTLE specific)
        - Drafting/tether has increased strength/effective distance
        - Spindashing is stronger
        - Invincibility chaining has less effect
        - Grow has a lower total duration
        - Flame shield is more uncontrollable

Extra functionality
- GTR_CAPSULES
    - Prevents usage of lives in Grand Prix (so Race, and the upcoming Special and Boss gametypes, can have 'em)
- GTR_CIRCUIT
    - When not present, Flame Shield has perma-full meter
    - When not present, overrides gamespeed with KARTSPEED_EASY
    - Presence of Best Lap sticker in Time Attack menu
    - Seperation between Time Attack and Break The Capsules modeattacking roulettes
- GTR_POINTLIMIT
    - Handles the switch between a gametype recording/displaying Times and Scores in a few places
    - Handles displaying "WANTED" players on the minimap

Missing simple substitutions
- A whole bunch of cases where player->bumpers was checked with gametype == GT_BATTLE rather than GTR_BUMPER
- GTR_OVERTIME handles the overtime special icon on the minimap
- GTR_BATTLESTARTS is honoured in K_DoIngamerespawn
- The Replay hut is closer to supporting custom gametypes

Removals
- GTR_LIVES
- GTR_SPECIALBOTS
    - Given that grand prix persists between modes, these are special game-controlled features and not gametype-specific.
- GTR_WANTED
    - WANTED as it existed is functionally dead
2022-12-24 22:43:00 +00:00
James R
05dd7d7871 Merge remote-tracking branch 'origin/master' into HEAD 2022-10-01 14:45:39 -07:00
James R
23408e7d3b Let savecheckpoint work online, work at all
Actually respawns you at this location! 😃

Uses object Z position instead of floor height.
2022-09-29 06:43:44 -07:00
toaster
871de857ae Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into setangle
# Conflicts:
#	src/p_enemy.c
#	src/p_mobj.c
2022-09-24 20:23:35 +01:00
Sally Coolatta
dd94b1449e Juicebox gates forward port for SPB 2022-09-21 07:05:26 -04:00
toaster
3a4b485c5d Remove P_InitAngle and its kin, considered on a case-by-case basis for also setting old_angle as well. 2022-08-25 11:35:09 +01:00
Sally Coolatta
afdb2908f2 Interrupt tumble when hitting springs 2022-08-22 23:53:32 -04:00
James R
1800970ed9 Death: respawn from where you died and take an invisible lightsnake 2022-06-09 22:49:30 -07:00
Sally Coolatta
c606e1e96b Force shrink can be toggled individually online
In preparation for a "make yourself small by default" cheat on the char select like SMK.
2022-01-09 04:08:26 -05:00
Sally Coolatta
23f9649fb9 More extremely scaled grow & shrink players!
- Grow is x2 instead of x1.5.
- Shrink is x0.5 instead of x0.75.
- Physics were left ALONE!! This is purely a HITBOX / VISUAL change!! Grow isn't any faster, and Shrink isn't any slower!! The only potential worry is low ceilings in maps!!
2022-01-09 00:00:01 -05:00
Sally Coolatta
cc250afd45 P_InitAngle, to fix angle interpolation on spawning objects 2021-12-24 12:45:51 -05:00
James R
f205d6d8fd Speed up lightsnaking if dying with airtime 2021-11-21 22:02:45 -08:00
toaster
a43b64cb76 Tumble nerfing, on Oni's request.
- Maximum tumble height that leads into last bounce is now 60 mfu (mobjscaled fracunits), from 40 mfu.
- All tumbles that are over 100 mfu high have extra attenuation applied to them.
- Tumble into lightsnake now puts you in 1.5 seconds of wipeout, rather than the last tumble.
2021-10-17 22:14:42 +01:00
lachablock
aeaf6c94f5 Give purple & rainbow driftboosts a 30% speed boost 2021-04-21 14:40:13 +10:00
lachablock
5e327e09c6 Merge master (resolve structgunch conflicts) 2021-04-20 16:09:59 +10:00
Sal
fa5ef9ed58 Merge branch 'kickstartaccel' into 'master'
Acceleration Kickstart

See merge request KartKrew/Kart!398
2021-02-25 02:34:32 -05:00
toaster
a43a762b46 Instead of hacking ticcmd generation, add/modify helper functions acting as intermediaries that add the necessary changes.
* Introducing K_GetKartButtons(player_t), for adding false presses to.
* K_GetForwardMove(player_t) takes kickstarting into account, and is now applied to engine sound generation too.
* BT_REALACCELERATE has been deleted.
2021-02-22 12:21:48 +00:00
toaster
97d404de7b A few changes to cameras.
* When lightsnaking, update the camera angle at each waypoint step to prevent being dropped the wrong way around.
    * The above bullet point is WIP. I've tried to restrict manual turning while lightsnaking, but it still happens and just gets yanked back at each waypoint. Would appreciate a bit of insight here.
* Fix HUD tracking for spectators by setting thiscam->chase each tic more definitively.
    * Still happens for the very first tic of the map though, must be another data point I missed 😔
* Fix the vertical jittering when a spectator's camera is on the ground.
2021-02-19 16:25:12 +00:00
Sal
8853a4b8e3 Merge branch 'jumping-finish-line-distance' into 'master'
Finish line waypoint issues

See merge request KartKrew/Kart!384
2021-02-18 18:23:08 -05:00
toaster
2ec943a214 Several changes to respawning and race start.
* Becoming a spectator is now instant, and leaves no bumpable corpse behind.
* Players will now FAULT if they:
    * change from a spectator into a player after the initial camera turnaround but before the end of POSITION.
    * touch an instant kill FOF or get crushed during POSITION.
    * become a spectator during POSITION. (I might change this later, seems overkill)
* If you respawn during POSITION, the jingle will not restart from the beginning.
* Change the FAULT animation to match spinout/currents.
* Clean up some of the spawning code to not place spectators on the ground.
2021-02-17 21:48:09 +00:00
James R
82718216cc Respawn slightly before a waypoint, in the direction you came from, if the waypoint is exactly on a line
See notably the finish line. Basically respawning exactly on a line can let you
cross it twice, if you crossed it before respawning, or NOT cross it, depending
on which direction you drive after landing. So this just respawns very slightly
before the line so you can cross (or not cross) it normally.
2021-02-15 23:01:13 -08:00
Sally Coolatta
c698ddaa6c Balloons by default will randomly pick CNZ colors
Would like this actually for CNZ instead of manually picking them by number & then the numbers get desynced... :v
2021-02-02 22:44:53 -05:00