Commit graph

47 commits

Author SHA1 Message Date
minenice55
92f3ecdd83 allow configuring thundershield radius 2026-02-18 17:13:35 -05:00
yamamama
542648e948 Add KIF_HYUCANTSTEAL
- Prevents the given item from ever being stolen by Hyudoro
- Useful for those extra-special items that you really want the player to use
2026-02-16 18:40:48 -05:00
yamamama
d5ca5516de Split Classic and Alt. Invincibility
- It's what the people want, why bother to complain?
- Alt is now its own separate item titled the S-Monitor
- Several variables, macros, functions, and comments have been renamed to fit this change
2026-02-16 18:40:48 -05:00
minenice55
a2c6efb86e configurable item amount display 2026-01-26 18:12:03 -05:00
NepDisk
6aac27ff1d Add cvar to allow bubbleboost to mow offroad and shield boost rumble support
On maps with tripwires these are great for shortcuts not so much with offroad only setups. Lets try to level the playing field.

Oh and also lets add rumble support for flame and bubble boosts since it feels nice.
2026-01-21 20:11:20 -05:00
yamamama
d417033fb6 Year update attempt 2 2026-01-01 14:45:23 -05:00
NepDisk
eb4394ee90 Seperate brick and lock 2026-01-01 13:49:00 -05:00
yamamama
a8b47436dd We've made a full rotation around the sun
I'm sure I've missed things; this was me just grepping instances of "2025" and adding the necessary changes
2026-01-01 13:32:38 -05:00
NepDisk
ab1cb9429f Make eggmine slotlock a optional feature 2026-01-01 11:39:06 -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
271cec1907 Fix more warnings reported by clang 2025-12-29 00:56:18 +01:00
yamamama
cf4120be13 Kill kartspbdist
The changes to KRF_RUNNERAUGMENT obsolete the need for this cvar entirely LMAO
2025-12-27 17:43:23 -05:00
yamamama
15cd75eead Per-item RUNNERAUGMENT distances 2025-12-27 17:38:48 -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
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
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
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
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
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
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
minenice55
c16bb035ed prep potential hide from roulette flag 2025-11-07 22:54:27 -05:00
GenericHeroGuy
4986bde9ab Restore the item toggle menu back to working order 2025-11-08 02:15:47 +01: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
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
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