Commit graph

365 commits

Author SHA1 Message Date
AJ Martinez
2f331a4d10 Let's be slightly more semantically correct about this 2023-08-26 22:24:18 -07:00
AJ Martinez
b43df44156 Tyron you suck at using your editor 2023-08-26 22:23:10 -07:00
AJ Martinez
b03056e4c8 Smoothlanding leniency 2023-08-26 16:05:34 -07:00
James R
6c0b042eed Refactor cvar definitions completely, move everything to cvars.cpp
- No need to call CV_RegisterVar
- Cvar definitions live in only one file, easier to locate
- Organized into sections -- netvars, cheats, etc.
- Use builder pattern to initialize cvars
- Still need to extern if you want to read the cvar value
2023-08-25 17:22:40 -07:00
James R
a680e11675 Instawhip: adjust player sprzoff and cameraOffset instead of momz
Since gravity is not involved, this will be more
consistent but it is also slightly different than before.
I tried to match it closely to how it behaved before,
though.
2023-08-17 18:10:59 -07:00
AJ Martinez
bf48f64a5c Reduce ring sound volume as it's repeated 2023-08-07 05:59:06 -07:00
AJ Martinez
6607722b64 Simpler 120-tic flame shield behavior 2023-07-29 05:10:14 -07:00
toaster
e0b47b16e7 Improve Spectator entry handling
- Re-entry SHOULDN'T get stuck nonzero on first join for a given node
    - Set to 0 for all players on level start
    - Set to 0 for all players on level end
    - DEFINITELY never intentionally set on join with teamchange finalisation
    - This basically just prevents people from spamming New Challenger after hopping out mid-session, since the previous version, in addition to being buggy, was a little annoying.
- New Challenger no longer happens on tic 0 of mapload
    - Handles any late, pending PF_PF_WANTSTOJOINs without threat of reset in P_PostLoadLevel
2023-07-22 14:03:11 +01:00
Sally Coolatta
5067bb854a Split hitlag into its own file 2023-06-30 23:05:40 -07:00
Sally Coolatta
8c273039ab Add first pass at hitlag EFX
Only 9-tic animation is here currently, so hitlag is forced to 9 tics for testing.
2023-06-30 23:04:33 -07:00
James R
d8afc7597d Add K_FlingPaperItem, split off random thrust functionality
Battle UFO drops do not fling.
2023-06-29 22:22:00 -07:00
James R
dafdb0fc10 Add K_GiveBumpersToPlayer, subset of K_TakeBumpersFromPlayer functionality 2023-06-29 19:31:27 -07:00
James R
919c669863 Drop power-ups when whipped
- Dropped power-ups become paper items (overloaded to
  store power-ups instead of items).
- The dropped power-up stores its remaining duration.
- The power-up can be picked up during any state.
  - If you already have the same kind of power-up, the
    duration is simply extended.
2023-06-27 02:08:07 -07:00
James R
a0b0891009 Add K_DropPaperItem, split from K_DropItems but with custom item type and amount 2023-06-27 01:12:01 -07:00
AJ Martinez
2dcfd9542f Instawhip polish round bleven 2023-06-11 20:29:43 -07:00
AJ Martinez
5b39142661 Instawhip start of race cooldown 2023-06-06 20:18:01 -07:00
AJ Martinez
50eab03fc0 Instawhip nerfs galore 2023-06-06 19:28:08 -07:00
AJ Martinez
bfcc453d56 Guard Break FX 2023-05-19 21:14:47 -07:00
AJ Martinez
9aa4a459ce Guard break, UFO instawhip 2023-05-19 18:45:27 -07:00
AJ Martinez
6f02923d89 Shield VFX 2023-05-19 17:59:47 -07: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
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
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
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
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
Chromatian Keiske
205de5503f Merge branch 'momentum-angle-consistency' into 'master'
Raise threshold for K_MomentumAngle to fall back on facing angle

Closes #483

See merge request KartKrew/Kart!1081
2023-03-23 08:36:29 +00:00
James R
9b5db6fedb Add K_MomentumThreshold, raise threshold for K_MomentumAngle to 6 FU, same as K_AirFailsafe 2023-03-22 15:47:08 -07:00
toaster
01dbbc34d1 K_PopPlayerShield
- Split out from K_DropHnextList to make its handling more explicit, and to permit K_DropItems scenarioes to *not* drop shields.
- Always called on P_DamageMobj on any non DMG_STUMBLE damagetype, so shields always get digested on true pain.
    - Todo: Should shields be popped even on DMG_STING..?
- NOT called on Eggman Mark pickup.
- Add to Lua (alongside K_DropHnextList, which was inexplicably missing).
2023-03-21 13:48:30 +00:00
James R
1f70b9c63c Merge remote-tracking branch 'origin/bumpers-ARE-health' 2023-03-13 00:51:44 -07:00
Sally Coolatta
d7256aa5f6 Give bots friction rubberband again 2023-03-09 03:06:30 -05:00
James R
85a101cbd7 Replace battlecapsules || bossinfo.valid checks with K_Cooperative 2023-03-08 19:01:02 -08:00
James R
a3c64068e6 Replace bumpers completely with health
Adds some functions:

- K_Bumpers, bumper count for the count, intended for
  where player->bumpers was used in HUD and visual
  contexts.
- K_BumpersToHealth, converts bumper count to health
  points.

player->mo->health replaces player->bumpers where it was
used in health contexts.

Removes some functions:

- K_HandleBumperChanges
- K_DestroyBumpers

Everything K_HandleBumperChanges did has either been
removed or moved elsewhere. P_KillMobj also already called
K_CheckBumpers.

K_DestroyBumpers became pointless after player->bumpers
was removed.
2023-03-07 22:54:33 -08: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
Oni
cdc56ab2cc Merge branch 'podium' into 'master'
Podium

See merge request KartKrew/Kart!1014
2023-03-07 05:58:20 +00:00
AJ Martinez
2e41862802 Please fucking stage the files I tell you to stage 2023-03-06 05:03:39 -07:00
AJ Martinez
f4fbd1e654 Sliptide boost VFX first pass 2023-03-06 05:00:59 -07:00
Sally Coolatta
9c264b3736 K_UpdateAllPlayerPositions
Call this whenever we need accurate player positions. In addition to before player think, is now being used for exiting as well as immediately when the player is spawned.
2023-03-05 14:59:11 -05:00
Sally Coolatta
35d0cb8eaa Move podium code to its own file 2023-03-03 16:10:05 -05:00
Sally Coolatta
e47f46d3bc Give podium bots more traction 2023-03-03 16:09:50 -05:00
Sally Coolatta
4a8dd02320 Podium cutscene basics
- Bots follow a slightly more strict path via waypoints
- Bots decide their starting waypoint path depending on their position. (The 1st place winner will start by chasing waypoint ID 1, etc)
- The map used for podium sequence can be decided via `PodiumMap = x` in MainCfg.

TODO:
- Camera work
- Add Lose / Win animation states when stopping at final waypoint
- Adjust physics so that the bots can follow the path more strictly in this mode
- Actually go to it after GP
2023-03-03 16:09:49 -05:00
James R
5cb54f29fe Sync player mobj health to bumper count
Fixes players killed twice if P_DamageMobj is called with
DMG_TIMEOVER and gametyperules GTR_BUMPERS.

Moves death condition out of K_HandleBumperChanges and
lets losing last bumper organically kill the player by
decreasing their health.
2023-03-02 22:05:30 -08:00
James R
8ba2155d89 Refactor timelimit and pointlimit to use "Default" option
- "Default" automatically updates the time/point limit
  according to the rules of the gametype.
- This fixes the bug where if you set timelimit at all,
  the default 2 minute limit will never be set again for
  Battle mode.
2023-02-24 23:19:07 -08:00
AJ Martinez
00aa69ca0a Buff eggbox speed, allow contact transfers 2023-02-21 23:00:56 -07:00
James R
ba27c87ff0 Add capsuletest cvar
- capsuletest off - default behavior.

- capsuletest multiplayer - always spawn non time attack
capsules, even in FREE PLAY.

- capsuletest timeattack - always spawn time attack
capsules, even in multiplayer.
2023-01-11 21:46:21 -08:00
James R
6eb8da1a56 Add K_GetTotallyRandomResult, for battle item spawners 2023-01-01 18:38:53 -08:00
James R
a94e18c277 Add K_UpdateMobjItemOverlay 2023-01-01 18:38:53 -08:00
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
Sally Coolatta
36e9a56f29 Add K_TimeAttackRules
Lets Time Attack capsules spawn in Free Play, and prevents Time Attack specific rules from happening in Special Stages
2022-12-17 01:05:30 -05:00
Sally Coolatta
e7ae65f30e Next round of UFO tweaks
- Damage depends on item thrown at it.
- UFO speeds up when getting damaged.
- Made UFO speed up more often.
- First Special Stage item column is active farther back.
- Items can't be disabled if rules can't be changed.
- Item column code with items disabled uses fractional precision.
- Fixed bug with the new item table code to support different lengths better.
- Tweaked UFO speed values again.
- UFO is no longer solid.
2022-12-15 23:16:26 -05:00