Commit graph

1053 commits

Author SHA1 Message Date
minenice55
92e74dca27 lots of performance tuning for recovery dash
crawling: accelerates faster when in flashtics, capped at a fixed 22 fu/t for all stats, is slipperier
recovery dash: accelerates much slower, lasts longer
ssmt charge is maintained when going airborne instead of being completely lost
2026-01-27 21:45:10 -05:00
minenice55
0beaae5f55 start spindash/ssmt 2026-01-27 02:07:47 -05:00
NepDisk
ab9368a15b Revert "Fix grow and invin color sticking with previous commit"
This reverts commit a8a5392304.
2025-12-25 18:24:14 -05:00
Gustaf Alhäll
18186a2fd7 Fix use-after-free when object dies on touch 2025-12-24 12:03:09 -05:00
NepDisk
7249273ca3 Revert "Kill Alt. Invin."
This reverts commit f414006e66.
2025-12-22 20:23:45 -05:00
yamamama
f414006e66 Kill Alt. Invin. 2025-12-22 20:05:13 -05:00
NepDisk
a8a5392304 Fix grow and invin color sticking with previous commit 2025-12-20 09:32:31 -05:00
minenice55
38e47fb835 oops 2025-12-12 23:55:21 -05:00
yamamama
508530d088 Add missing factors to item the item roll tracker
* Track floating item pickups and Hyudoro steals
2025-12-12 23:47:11 -05:00
minenice55
1f104c7ef5 create eggmine missiles closer to the player
final misc tweaks too, ready for PR
2025-12-09 15:39:57 -05:00
yamamama
dfc1981854 Add the "Arrow Bullet"
* Toggleable QoL option for Alt. Shrink
* While using Alt. Shrink, at or above a speed threshold (currently 175% the statblock's cruising speed), ignore most things that would damage you
* Rewards breakaways and incentivizes going fast
* Graphics are placeholder
2025-11-30 16:40:44 -05:00
AJ Martinez
cebf6a6e4e Fix crashes when P_DamageMobj was naively passed a removed source 2025-11-30 15:15:20 -05:00
minenice55
856a2951e8 Merge branch 'next' into airthrust 2025-11-26 21:04:16 -05:00
GenericHeroGuy
fbc2087cc5 Update the death animation... again! Now with more bounce
Also make MF_SCENERY objects use P_SlideMove again on wall collisions, to
match v1... except if the object also has MF_BOUNCE, for the sake of
~~the tires~~ practicality
2025-11-26 22:28:38 +01:00
minenice55
6a6ed9d8b3 start re-implementing airthrust from #158 2025-11-26 13:13:15 -05:00
GenericHeroGuy
3780d75767 Fix floor spawning WITHOUT breaking maps
also fix camera jank when respawning on maps where the world origin is
inside a gravflip section
2025-11-25 20:21:17 +01:00
GenericHeroGuy
166e7335ff Fix respawning on the floor in legacy checkpoint mode 2025-11-25 17:54:38 +01:00
NepDisk
616e0ecb88 Add Panel Stack toggle for hardcode stacking 2025-11-20 20:38:00 -05:00
NepDisk
54aebfd8b2 Make rainbow dash rings do something unique
Since tricking is not a thing in this game, make rainbow dashrings remove pogospring gravity for a small time frame for extra height
2025-11-18 23:24:57 -05:00
Oni
f6914942e7 Merge branch 'dashrings' into 'master'
Hardcode MT_DASHRING & MT_RAINBOWDASHRING

See merge request KartKrew/Kart!1345
2025-11-18 17:35:20 -05:00
NepDisk
5dfb285bd8 Modify P_CanPickupItem hook to function correctly
Returning true for the first return argument disables being able to pickup stuff, in combontion with weapon and other status checks can be used to turn off picking x item. the second return specifies if you override vanilla pickup behaviour and always pick up stuff
2025-11-18 01:27:50 -05:00
NepDisk
e9d7843b91 Allow P_CanPickupItem to be hooked and unmagic it 2025-11-17 21:50:03 -05:00
GenericHeroGuy
1385692e83 Cleanup itemroulette 2025-11-12 23:18:24 +01:00
GenericHeroGuy
e95faf8b55 Cleanup K_AwardPlayerItem 2025-11-12 22:50:29 +01:00
GenericHeroGuy
15c64731e4 Make kartitemtype_e unsigned, replace KITEM_SAD with MAXKARTITEMS
Plus some misc fixes/changes (per-map initialization in one place)
2025-11-12 22:06:05 +01:00
GenericHeroGuy
efac1d27c2 Item refactor, part 1
Too much shit to explain, read the diff (you should anyway!)
Very sloppy, expect lots of fixes
TODO: SOC it all, separate "active odds" table, how to handle alt items
2025-11-06 22:59:02 +01:00
minenice55
2c04bb2ef5 generalize alt invinc to apply to any item
(with some work)
2025-11-04 21:55:30 -05:00
minenice55
0572cff437 cvars for more opinionated things we can play around with in tests 2025-11-01 00:55:31 -04:00
GenericHeroGuy
b9022d9640 Further tweaks to Bubble Shield
* Guest star: fixed-point item bar
* Bubble scaling and shards have been refined
* No more passive protection against explosives and thunder
* The bubble boost timer now protects you from mine explosion particles, not
  just flashtics, making it easier to pass through proxmines
2025-11-01 01:27:41 +01:00
GenericHeroGuy
1a3630c640 Redapple the Bubble Shield, part 1/?
* The bubble remains inflated after holding the button, and slowly deflates
* Popping the shield now gives you flashtics, in addition to the speedboost
* Popping it also makes you invulnerable to proxmines!?
* Getting hit by an item while the shield is deflated protects you from
  JUST the spinout exactly ONCE, geez, think of the poor D5 players
* Players can be bumped by the inflated shield again, but it's very weak
* Bumping players with a deflated shield depletes half its HP, inflated
  bumps cost the same as other bumps
2025-10-31 22:31:28 +01:00
GenericHeroGuy
29c3c3c55c Waypoint jank? What waypoint jank?
* Finish line sight check? Gone
* Corpses updating their waypoint and respawn? Gone
* Respawning on the finish line causing lap cheats? Gone
* bigwaypointgap now kills you in just HALF A SECOND
2025-10-29 23:30:22 +01:00
Anonimus
4b448de85e Bubble Shield adjustments
Primarily to improve its defensive capabilities
* Trade penetrating attacks (like a Thunder Shield's AoE attack)
* Remove bump-chip
* Make how items damage the Bubble Shield more modular overall
2025-10-25 12:52:36 -04:00
NepDisk
7458efc0ec Minor cherries fixes 2025-10-24 14:41:28 -04:00
NepDisk
65cea70c05 Merge pull request 'Cherries™️ Part 2' (#175) from cherries into blankart-dev
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/175
2025-10-24 20:20:57 +02:00
NepDisk
a8609d7204 Un-shitify function.acp1 pointers 2025-10-23 23:26:26 -04:00
GenericHeroGuy
92f17189b0 Repair and interpolate overtime/jitters 2025-10-23 23:15:26 +02:00
toaster
d9b8eab1ea No contesters use the position of their broken kart on the minimap
This is instead of their flung body, which drifts significantly from where you died and muddies the "LOL YOU DIED THAT CLOSE TO THE FINISH!?" voicecall laughter moments
2025-10-23 20:36:05 +02:00
toaster
45c23445d6 timelimitintics-related shenanigans
- Play a countdown sound (same as introcountdown) per each of the last 3 seconds
- Jitter the time display HUD extra strong in a two-tic window around the above
- Fix timelimitintics not being set in TESTOVERTIMEINFREEPLAY builds (which is now all DEVELOP builds)
2025-10-23 20:36:05 +02:00
toaster
eeafd2bcc0 If timelimit is being modified before starttime, tick the secret timer but don't modify the total limit. 2025-10-23 20:36:05 +02:00
toaster
877ee24ac2 Add "allowdemos" option to K_CanChangeRules()
It's been used interchangably as "this is a singleplayer gameplay context" and "This is a no cvar changing context". This addition repairs some behaviour which might have been inconsistent between netgame and netreplay.
2025-10-23 20:36:05 +02:00
toaster
2939f63418 Support alternate gameplay events during GP
- Implementation details:
    - grandprixinfo.eventmode is the reference point
    - All bots have spectator applied and removed at map start depending on eventmode, and I've done my best to guard against side effects of not removing them entirely
    - You shouldn't turn off grandprixinfo.gp when turning on things like specialStage.active or bossinfo.boss when pursuing eventmode behaviour
    - Probably needs to be integrated into XD_MAP for any future netplay support, is currently disabled.
    - You technically don't have to assign a Capsules map to be the bonus and a Special Stage to be the special. A Capsules map can be assigned to a Special Stage too, and a Boss can be assigned to either of them.
    - Special Stages are still just as incomplete as they were before.
- Break the Capsules has special behaviour.
   - Timelimit starts at 20 seconds.
   - Earn 10 seconds (plus a little extra cheaty time) every capsule you destroy.
   - WIN + extra life if you bust all the capsules, COOL if you get some but run out of time, LOSE if you lose your bumper or run out of time without breaking a single capsule.
   - Supposed to also give you rings, but ran into a LOT of difficulty with this and didn't want to commit half-baked stuff, so it'll be a later project.
Also:
- Fix a long standing bug where totalring was reset between maps, preventing the sum from adding up across GP rounds and depriving you of extra lives you were owed.
- Fix an issue where Break the Capsules record attack was KARTSPEED_HARD.
- Send timelimitintics in savegames, since it's handled seperately now.
2025-10-23 16:28:40 +02:00
toaster
22f6c8b532 Rework time limit a bit
- Make timelimitintics handled a bit more like gamespeed, encore, frantic, etc - update on mapload/starttime, not during gameplay
    - Use default setting if can't change rules - this is a surprise tool that will help us later
- Have it properly update when adjusting gametype from the menu
    - Cleaned up SV_StartSinglePlayerServer to do this
- Remove CV_SAVE to prevent time limit bruh moments
2025-10-23 16:28:39 +02:00
GenericHeroGuy
febc28a172 Revive the v2 death animation 2025-10-15 21:59:17 +02:00
GenericHeroGuy
aa64b9aeed Let flame shield punt hazards 2025-10-13 21:41:48 +02:00
GenericHeroGuy
ef1596caeb Fix karteliminatelast 'No' not working in replays (closes #145) 2025-10-02 15:49:17 +02:00
NepDisk
44605bbce6 Port RR karteliminate last changes 2025-10-01 17:46:24 -04:00
Sally Coolatta
1082667117 Fix human vs bot P_CheckRacers conditions 2025-09-30 00:03:13 -04:00
NepDisk
630b75a504 P_DoPlayerExit changes
12ecb1f7a4
2025-09-30 00:01:05 -04:00
minenice55
034e24a44f overtime!!! 2025-09-29 21:57:43 -04:00
Anonimus
5f337c0a6c Make bubble shield pop boosts cancel on spinouts
Fixes #132 point 2
2025-09-28 15:45:10 -04:00