Commit graph

51 commits

Author SHA1 Message Date
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
minenice55
255a866fc3 implement KRF_UNIQUE (xItem's XIF_UNIQUE) 2025-11-07 12:57:07 -05:00
GenericHeroGuy
a2396fbdac Item refactor, part 2
Clean up alt item stuff, replace the billion parameters with kartroulette_t
2025-11-07 18:01:13 +01:00
Anonimus
540978570a Kill voidptrs 2025-11-07 06:20:40 -05:00
Anonimus
f0b7f3822e Of course I forget this 2025-11-07 05:19:43 -05:00
Anonimus
34cfb6d2ef (Attempt to) make things a bit more boilerplate
* SPB forcing has been generalized as a 'forceme' variable that any item can set to force itself (based on priority)
* SPB odds in general have been generalized; the KRF_RUNNERAUGMENT flag lets any item use SPB odds rules, minus the forcing
* Items can modify or override their odds with unique odds functions
* Odds tables are further indexed by 'item format', an evolution of the kart item type (Legacy, Alternate) system
* Distribution debugger has been updated in respect to the fact that any item can force themselves. Red 'FRC' text, including the force priority, appears on any item forcing itself
2025-11-07 05:17:41 -05:00
minenice55
19d67aa4e0 KPF_* item flags for HUD rendering
replaces the boolean values with a flags enum
2025-11-06 18:59:02 -05:00