Commit graph

2839 commits

Author SHA1 Message Date
AJ Martinez
1fe6be9b75 Reduce hitlag when rapidly punting hazards 2023-12-30 23:53:33 -07:00
AJ Martinez
f20ae22d9b Fix unusual DI behavior for low-strength inputs 2023-12-30 17:48:02 -07:00
James R.
fd26fc6287 Merge branch 'pushable-pugilism' into 'master'
K_JustBumpedException: Don't allow phasing through MF_PUSHABLE

See merge request KartKrew/Kart!1740
2023-12-29 13:41:12 +00:00
AJ Martinez
2169e7c899 Allow Top to pass tripwire, once 2023-12-28 23:27:34 -07:00
toaster
d14015ca21 K_JustBumpedException: Don't allow phasing through MF_PUSHABLE
Fixes the snowman wedge-inside issue
2023-12-28 17:39:41 +00:00
Sally Coolatta
abde576c58 Enforce const in bot ticcmds
There were a few remaining cases of bot ticcmd generation editing player structures directly. Fix all of this and make as much of it pass const player pointers so this physically can't be allowed to happen ever again. Appears to improve bot sync in netgames & demos bot support, but I have not tested extensively.
2023-12-22 23:28:08 -05:00
Oni
1c3000ad34 Merge branch 'metal-crate-just-bumped' into 'master'
Add justbumped exception to metal SA2 crates

See merge request KartKrew/Kart!1701
2023-12-22 21:14:51 +00:00
Oni
27ff4ea4cb Merge branch 'bots-auughhgh' into 'master'
Bots (scream)

Closes #752, #780, #741, and #753

See merge request KartKrew/Kart!1693
2023-12-22 20:14:38 +00:00
James R
c0b8d4498a Add justbumped exception to metal SA2 crates 2023-12-22 05:40:32 -08:00
Sally Coolatta
bfd84b1099 Fix logic bug with bot shortcut waypoints 2023-12-19 11:27:12 -05:00
Sally Coolatta
54e62bbd8f Leave bot friction alone on dash pads
Should fix #752, otherwise probably isn't harmful though.
2023-12-19 08:59:01 -05:00
toaster
c34b5f6034 SPB Capsule improvements
- Destroy all SPB Capsules in the stage when an SPB becomes relevant
    - When an SPB is put in a player's roulette
    - When an SPB is thrown
        - Automatically happens when SPB Capsule is touched
- Don't respawn a popped SPB Capsule while an SPB is out
2023-12-08 22:24:38 +00:00
toaster
ee0eff89b4 K_SPBInGame: Optimise to use trackercap instead of full thinkerlist romp 2023-12-08 22:19:06 +00:00
Oni
e77a52e9fa Merge branch 'sealed-vanish' into 'master'
Winning player vanishes when crossing finish line in Sealed Stars

See merge request KartKrew/Kart!1677
2023-12-08 04:36:17 +00:00
Oni
940ce281ae Merge branch 'fix-hazard-scale-comparisons' into 'master'
Don't do scale-to-scale collision checks vs static hazards (resolves #491, #781)

Closes #781 and #491

See merge request KartKrew/Kart!1665
2023-12-07 05:22:12 +00:00
James R
2277b2017e K_UpdateTripwire: set Tripwire Blaster punt_ref to player 2023-12-04 20:25:47 -08:00
James R
7d998d0d91 Let player punt if tricking 2023-12-03 16:28:56 -08:00
AJ Martinez
5575a049b1 Don't do scale-to-scale collision checks vs static hazards 2023-11-27 12:41:45 -07:00
AJ Martinez
119f309cb8 Scale Prison bonus time to remaining time and difficulty 2023-11-26 15:34:11 -07:00
James R
9ff174dd06 Hardcode Frozen Production Frost Throwers (ceiling and horizontal versions) 2023-11-22 23:53:14 -08:00
James R
ea697d2048 Physics changes for players in ice cube state
- Cancel offroad
- Inputs do not work
  - Cannot accelerate
  - Drift/Brake does not work (side-effect of P_PlayerInPain)
- Sprite shakes if icecube.shaketimer
- Sprite is colorized Cyan
- Max friction (slippery)
- Player is considered to be in a pain state
- Sprite slowly turns clockwise
- Sprite tilting is disabled
2023-11-22 19:04:30 -08:00
Oni
687769623f Merge branch 'buff-faraway-ringboost' into 'master'
Buff faraway ringbox

See merge request KartKrew/Kart!1655
2023-11-22 23:41:09 +00:00
AJ Martinez
98b77b6d37 Reduce ringbox awards in Thunderdome 2023-11-22 16:18:06 -07:00
AJ Martinez
074f1e0061 WIP: Nerf Ringbox handling by a LOT 2023-11-22 15:50:03 -07:00
AJ Martinez
07dd3f5f76 WIP: Ring Box handling boost 2023-11-22 15:31:51 -07:00
AJ Martinez
8a3a48695d WIP: More Ring Box adjustments 2023-11-22 14:57:23 -07:00
AJ Martinez
8f56fafe6b Don't double decrement long ringboosts 2023-11-22 02:15:59 -07:00
AJ Martinez
a2d9b1361a Never adjust bot ringboost gain below player ringboost gain (fixes runaway bot underflow) 2023-11-21 22:08:25 -07:00
toaster
f365ef9417 In Tutorial, always use Ring/Sneaker roulette at the Time Attack speed
Also cleans up the conditions for battleprisons and versus mode
2023-11-18 18:44:56 +00:00
toaster
a55803b690 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-18 18:00:05 +00:00
Oni
94a593487b Merge branch 'fix-reducevfx' into 'master'
Fix `reducevfx` mkaing some VFX visible, when they shouldn't be

See merge request KartKrew/Kart!1622
2023-11-18 07:11:25 +00:00
Oni
9a5515fb31 Merge branch 'empty-kart-fixes' into 'master'
Fix dead karts creating terrain splashes indefinitely; remove fuse but let them be killed

Closes #748

See merge request KartKrew/Kart!1631
2023-11-17 09:32:09 +00:00
Oni
87bcebb547 Merge branch 'no-midair-wavedash' into 'master'
Stop sliptides midair (resolves #768)

Closes #768

See merge request KartKrew/Kart!1635
2023-11-17 08:33:17 +00:00
Oni
1a43b5873f Merge branch 'sliptide-jumpscare' into 'master'
Don't draw 1 tic of indicators on dying players

See merge request KartKrew/Kart!1634
2023-11-17 08:26:57 +00:00
toaster
0762b93ef2 Tutorial skipping challenge - first pass
- Go to a MainCfg-specified map on its guessed gametype
    - `TutorialChallengeMap = RR_ZonedCity`
- Some unique settings
    - K_CanChangeRules() == false
    - If GTR_CIRCUIT, make it Hard Speed
    - If GTR_BUMPERS, die in one hit
    - If GTR_BOTS, make them all difficulty 13 of the default bot skin
    - No Medals or Spray Cans during the Tutorial Challenge
- Complete the stage in 1st place or don't bother at all
- Has the "Give up" menu option available, but no "Try Again"
- Condition for successfully completing the Tutorial Skip
    - `Condition1 = TutorialSkip`

Related bugfixes:
- Correctly wipe skipstats when returning to the Title/menus
- Typing of `ultimatemode` (hey this isn't accessible by anything right now I wonder)
2023-11-16 21:44:52 +00:00
AJ Martinez
46f6f29e32 Nix experimental debug print 2023-11-16 12:55:21 -07:00
toaster
97996d1a22 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-16 13:46:59 +00:00
AJ Martinez
fc821b7e8f Stop sliptides midair 2023-11-16 00:35:24 -07:00
AJ Martinez
d08170ecea Don't draw 1 tic of indicators on dying players 2023-11-15 23:55:45 -07:00
AJ Martinez
f2b364fd48 Allow all capsule spawns in Tutorial 2023-11-15 23:19:13 -07:00
James R
72f1414432 MT_KART_LEFTOVER: remove fuse, let it be killed
Gets punted into the air when it's killed.
2023-11-15 20:03:47 -08:00
Oni
9ed05b5c21 Merge branch 'spike-fixes' into 'master'
Bigger wall spikes hitbox, improved collision; entire spike hitbox hurts player, tumbles airborne; renderhitbox papercollision

See merge request KartKrew/Kart!1629
2023-11-16 03:12:44 +00:00
Oni
38a6ac33f0 Merge branch 'fix-shield-ring-spill' into 'master'
Fix losing rings even with a shield out; fix losing Garden Top before you even activate it

See merge request KartKrew/Kart!1625
2023-11-16 00:32:05 +00:00
James R
4065f56b98 MT_WALLSPIKE: always bounce toward tip 2023-11-15 15:36:49 -08:00
AJ Martinez
f0ddb79156 Allow bubblebounce from trick, but disable trick handling 2023-11-15 01:03:55 -07:00
AJ Martinez
d54d2f6d04 Merge remote-tracking branch 'origin/master' into catholic-vfx 2023-11-14 21:47:51 -07:00
James R
a7e6ed7607 K_PopPlayerShield: do not destroy Garden Top before it is deployed 2023-11-14 20:33:33 -08:00
James R
ee7f3d7108 Replace K_ReduceVFX with K_ReduceVFXForEveryone, replace owner cases with RF_REDUCEVFX 2023-11-13 23:49:33 -08:00
James R
61cad641bb Invincible player punts hazardous/solid things, unless MF_ELEMENTAL
If player is in one of these states:

- Invincibility
- Grow (K_IsBigger)
- Flame Shield dash
- Over 200% speed

And the other object:

- Does not have MF_DONTPUNT

Then, touching a solid object:

- Punts the object, unless the object has MF_ELEMENTAL
- Fizzles the object, if the object has MF_ELEMENTAL

Or, when an object damages the player:

- That object is punted, unless it has MF_ELEMENTAL
- The object fizzles, if it has MF_ELEMENTAL

Punting means:

- A copy of the object is made
- Both the player and copy receive 5 tics of hitlag
- The copy is thrust away from the player at a minimum of
  60 FU, or 2x either the player's or object's momentum,
  whichever is ultimately greater
- The copy despawns after 2 seconds
- The copy flickers constantly, while thrust away

Fizzling means:

- The object disappears completely
- A puff of smoke is spawned in place of the object
- No hitlag is applied to the player

Both punting and fizzling:

- Hide the original object (intangible and invisible)
- The original object reppears after 30 seconds
- For 2 seconds before reappearing, the object flickers
  back in, but is still intangible
2023-11-13 22:18:35 -08:00
AJ Martinez
aad6795ba7 Trickpanels: I don't even know who I am anymore 2023-11-13 16:41:09 -07:00