Commit graph

57 commits

Author SHA1 Message Date
yamamama
4fe0dff858 Add grandprixinfo.gp checks I forgot about 2025-12-29 10:41:05 -05:00
yamamama
474a59ab7c Add "Lunatic" and "Maniac" modes
DUDE TOUHOU LMAO

Jokes aside:
* Lunatic = Master difficulty with modifications to make the races
  significantly more difficult:
  * Introduces a "lunaticmode" boolean to grandprixinfo;
    the demoversion has been upped to 0x0010 due to this
  * The bot modifier is, at MINIMUM, 2.0, making them aggressive as hell;
    Rival bots use a 2.5 modifier
  * Bump Spark is always off in this mode
  * RUNNERAUGMENT results have their distances significantly shortened;
    if a rival bot takes the lead, this distance is shortened even FURTHER
    so they don't frontrun against the human player endlessly
  * Alt. Invinc shows up earlier as a sort of "mercy" for human players;
    it would otherwise not show up until the race was effectively over
  * Maniac = Nightmare difficulty (Master at Expert speed)
    with Lunatic's changes
2025-12-28 21:13:30 -05:00
GenericHeroGuy
51fbf12903 Start by clearing out a bunch of warnings 2025-12-28 02:00:47 +01:00
yamamama
15cd75eead Per-item RUNNERAUGMENT distances 2025-12-27 17:38:48 -05:00
GenericHeroGuy
a5b82f41cb New map patches, fix wrong name for SPB result 2025-12-25 23:32:24 +01:00
yamamama
506917e24b Shrink Fix part 1: Fudge spring launch scales 2025-12-24 23:22:04 -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
7491793989 Fix two small warnings 2025-12-14 00:20:55 -05:00
yamamama
75bdd14cef Refactor cluster filtering
Double-clustering still needs to be done
2025-12-14 00:02:55 -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
382f1f1a82 make eggmine SADs add to itemlist 2025-12-12 21:56:32 -05:00
yamamama
b937c0519c Reformat the stupid cvar 2025-12-12 21:38:16 -05:00
yamamama
67a0d061da *patrick mouth gif* 2025-12-12 21:38:16 -05:00
yamamama
327035e68e Start work on an item roll tracker
Uses an unordered-map system so we don't loop through every item constantly

Opting for trying to fit everyone on the screen; 320x200 users can deal with it
Scrolling is not yet implemented, and this system isn't netsynched yet
2025-12-12 21:38:15 -05:00
NepDisk
6d6cb09280 Convert most strcmp/stricmp to fastcmp/fasticmp 2025-12-11 13:00:32 -05:00
minenice55
7df2d13c85 let's be funny, flipped by egg mine gives victim one Sad 2025-12-09 17:15:59 -05:00
minenice55
6eb1a6688a get everything working exactly like the prototype 2025-12-09 00:38:57 -05:00
minenice55
82f4599275 make eggmine pop an action like the lua 2025-12-08 22:09:16 -05:00
minenice55
3a74330c5a wall bounce 2025-12-08 21:44:53 -05:00
minenice55
f3e64e3c8a start hardcoding this 2025-12-08 21:32:54 -05:00
GenericHeroGuy
e733394ded New Lua item API + cleanup 2025-12-08 20:54:36 +01:00
yamamama
6aa50b62d7 Add support for Alt. item patches 2025-12-07 20:38:41 -05:00
minenice55
1dde02b85a make K_SetItemOut more general 2025-12-06 17:03:39 -05:00
minenice55
6f14af9243 separate out the "equipped item" field
will need more modularization and some coding style standardization (perhaps via K_SetItemOut?)
2025-12-06 16:56:37 -05:00
minenice55
83176e4c9f make equip style a property of the items proper
KNOWN ISSUE: rockets and eggman leave the item slot empty when equipped, should probably add a "equipped item type" field to the player struct
2025-12-06 00:33:51 -05:00
minenice55
2c71e4c18a semi-expose the item equipping logic
really just need enough to be able to prototype stuff with
2025-11-28 20:03:23 -05:00
minenice55
7cfdf38cb5 use renderfracs in fancyroulette
also default fancy roulette speed to 3 ticks per cycle
2025-11-23 17:49:52 -05:00
minenice55
50b6e919fe implement xitem-next's version of fancy roulette
now even fancier
2025-11-17 23:48:22 -05:00
GenericHeroGuy
67dd2c875f Add altitem flags, fix alt shrink setting indirect cooldown 2025-11-16 15:47:05 +01:00
GenericHeroGuy
9efc468979 Updated item toggles menu
Invinc is animated on the title screen, superring now gets locked out
Small odds code cleanup since the landmine's result is finally gone
2025-11-15 17:18:33 +01:00
yamamama
ea090b35f0 Increase Alt. Invin. distance threshold...again
95% this time
2025-11-13 16:11:38 -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
Anonimus
8e17e5e5cc Odds exaggeration is a legacy bandaid 2025-11-12 07:18:56 -05:00
Anonimus
2122da0933 SPB Rush toggle 2025-11-12 07:17:54 -05:00
Anonimus
ef6958a578 KRF_HIDEFROMSPB
This isn't a thing in v1 and I'm not sure why it was locked to the Thunder Shield for so long
2025-11-12 07:13:40 -05:00
Anonimus
cfef019cfb e 2025-11-12 03:21:31 -05:00
minenice55
48dce534e2 implement item usage cooldown (xItemLib feature)
mainly to by used by lua scripts
2025-11-12 00:38:41 -05:00
GenericHeroGuy
f7c1c474e6 Clean up and consolidate all item cooldown code
* The "unique item" flag has moved to kartitem, and split to accomodate
  shields (item slot only, not paper items)
* "BGoneTime" renamed to "CooldownTime"
* indirectitemcooldown has been folded into the existing cooldown system,
  all results with the indirect flag share the highest cooldown time
* Added cooldown debugger to kartdebugdistribution
* Fixed Thunder Shield not resetting cooldown when killing an SPB
2025-11-09 22:00:48 +01:00
GenericHeroGuy
2546729b0c Custom item papersprites 2025-11-08 23:46:16 +01:00
minenice55
528a4640a0 implement KIF_HIDEFROMROULETTE 2025-11-08 16:31:25 -05:00
GenericHeroGuy
d7f3a88d9f Clean up more alt shrink code 2025-11-08 17:34:29 +01:00
GenericHeroGuy
66c894558f Move held item thinker code into k_items.c 2025-11-08 17:23:19 +01:00
GenericHeroGuy
7bd225da17 Move forceme into kartroulette_t 2025-11-08 16:24:09 +01:00
Anonimus
187826bb01 Fix bgone purgatory 2025-11-08 02:44:44 -05:00
Anonimus
79aaff6265 Fix forceme oversight 2025-11-08 02:23:09 -05:00
GenericHeroGuy
3c64f345fb SOC the items... finally! 2025-11-07 23:23:23 +01:00
Anonimus
bdf06d086d Rewrite the shield cooldown system to apply to KRF_UNIQUE items in general 2025-11-07 14:49:05 -05:00