Commit graph

22044 commits

Author SHA1 Message Date
Sally Coolatta
383bf4b604 Fix deleted line for uphill/downhill multiplier 2023-03-11 18:07:04 -05:00
toaster
3abba2bd26 G_LoadGameData: Add -resetchallengegrid command line parameter for DEVELOP builds only 2023-03-11 21:19:42 +00:00
toaster
4d88923173 UC_ALLCHAOS, UC_ALLSUPER, UC_ALLEMERALDS: Provide a ??? tease for Master difficulty if not unlocked 2023-03-11 21:09:43 +00:00
toaster
6f62abc1ef UCRP_FINISHPLACE: Don't permit messed up position of 0 2023-03-11 21:06:37 +00:00
toaster
f411ca1e85 UC_ALLCHAOS, UC_ALLSUPER, UC_ALLEMERALDS: Move to using KARTSPEED/KARTGP constants directly 2023-03-11 19:42:20 +00:00
James R
e5e23e788a Remove hitlag threshold condition from items
This condition blocked items from doing damage after just
being thrown. The intention was to not let shotgun Ballhog
instakill the player. This is now prevented by
MF2_ALREADYHIT instead.

blame cab1af549
2023-03-11 05:39:07 -08:00
James R
264e445f0c Add MF2_ALREADYHIT; don't deal damage for multiple wombos within the same tic
These wombos still create hitlag.
2023-03-11 05:39:07 -08:00
James R
ec6ffbf072 Let wombo damage work again
Damage can't be ignored entirely while in hitlag because
that defeats stacked hitlag (wombo combo).

But it should be ignored if in an invincible state.
2023-03-11 05:39:07 -08:00
James R
d28b1615cf Don't let mine explosion's own hitbox receive hitlag
Don't extend the time that its hitbox remains.
2023-03-11 05:39:07 -08:00
James R
8c1771112c Fix Bubble Shield duplicate collisions
Bubble Shield could collide with the same object up to
5 times per tic! (3 times at least!)

1) P_CheckPosition from MFE_ONGROUND being unset.
2) P_CheckPosition AGAIN from MFE_ONGROUND being unset
   while literally being on the ground. This one's
   probably a bug in general but it's beyond the scope of
   this commit. It's also scary movement code, yiiiikes...
3) P_MoveOrigin to teleport the Bubble to its holder's
   position.
4) If something moves into the Bubble.
5) If something moves into the player holding the Bubble.

This generated extra unwated hitlag, especially noticeable
against invincible players.

To reduce these to one collision only, the Bubble is now
MF_NOCLIPTHING except while calling P_MoveOrigin. The
player's own hitbox is also disabled for Bubble
collisions.
2023-03-11 05:39:07 -08:00
James R
ee4011cca6 Don't pause mobj thinker for player whose hitlag will be cancelled anyway 2023-03-11 05:36:24 -08:00
James R
622bfa9512 Count nullHitlag for inflictor player too
Cancel hitlag of inflictor player too if the inflictor is
a constant damage source and the target is invincible.
2023-03-11 05:36:24 -08:00
James R
b2a6ffecf9 Refactor player->invulnhitlag -> player->nullHitlag
- Move condition for whether hitlag came from a constant
  damage source into P_DamageMobj directly. Should be more
  accurate if a player is dealt brand new damage, the
  constant damage still won't count.

- player->invulnhitlag renamed to player->nullHitlag
2023-03-11 05:36:24 -08:00
toaster
c67412f6ef Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading 2023-03-11 12:42:55 +00:00
Sally Coolatta
431a99db78 Don't decrease bot difficulty on Master 2023-03-11 05:01:50 -05:00
Sally Coolatta
5639113ed8 Slope thrust changes
- Slope thrust is scaled with game speed. Makes Easy more reasonable, and Hard goofier.
- Slope upward/downward thrust multiplier is applied to all objects equally, instead of only players.
2023-03-11 04:59:47 -05:00
Sally Coolatta
569b9a7dee Reduce all bot difficulty when retrying
Especially reasonable now that you have a penalty for retrying.
2023-03-11 04:07:50 -05:00
SteelT
d9ef9514fa Merge branch 'altmusic-autoload' into 'master'
Auto load altmusic.pk3 on startup

See merge request KartKrew/Kart!1038
2023-03-11 03:03:57 +00:00
SteelT
43991dd798 Auto load altmusic.pk3 on startup 2023-03-10 21:43:51 -05:00
toaster
6129d810cc UC_ALLCHAOS, UC_ALLSUPER, and UC_ALLEMERALDS
Measures whether you have all 7 Chaos Emeralds, 7 Super Emeralds, or 14 Emeralds
- Hidden if you haven't entered a special stage yet
- Checks all cups and all relevant difficulties outside of GS_LEVEL
    - You can specify a difficulty of Normal, Hard, or Master
2023-03-10 22:50:08 +00:00
toaster
b3aa2520bc gamedata->everseenspecial
Record whether you've ever successfully entered a special stage
Used for conditions which were previously checking for whether you'd completed a special stage - which I think is a bit too restrictive for someone figuring out what next to lab
2023-03-10 22:43:06 +00:00
toaster
cbebfe5a62 UC_POWERLEVEL: Do not iterate over your profiles in GS_LEVEL 2023-03-10 22:41:03 +00:00
toaster
fea235d8a7 UC_REPLAY
Save a replay after finishing a round.
Basically another tutorial unlock condition like UC_ADDON
2023-03-10 21:44:48 +00:00
toaster
dfe75726df cupwindata_t
Save your best GP stats across sessions.
- Saved into gamedata
- Deliniated per difficulty option
- Draw onto cupgrid in GP cup select
    - Best grade
    - Whether you've ever gotten the Emerald
        - TODO: Always shows Chaos Emerald, will need updating when Super Emerald graphics are created
    - Monitor status changes depending on recorded position
        - 1st: Gold, shiny
        - 2nd: Silver, shiny
        - 3rd: Bronze, shiny
        - 4th and downwards: Beige, barely different
- Wiped with G_ClearRecords

Also, to avoid circular dependencies:
- KARTSPEED/KARTGP constants moved from command.h to doomstat.h
- gp_rank_e enums moved from k_rank.h to doomstat.h
2023-03-10 20:20:48 +00:00
toaster
f3cde6140a G_GetNextMap: Do not permit entering GPEVENT_SPECIAL if you're on Easy 2023-03-10 20:15:33 +00:00
toaster
304a7dce72 K_InitGrandPrixRank: Accomodate cv_gptest 2023-03-10 20:14:48 +00:00
James R
3349f17cd7 Update line special 80
- UDMF: use args[1] instead of line tag.
- Binary: do not add thing angle to thing's tag list, just
  compare angle directly. Seemed weird that this was the
  only place in the code to alter the tags list like that.
2023-03-10 04:17:07 -08:00
toaster
8b437d5a32 Minimum viable product of Chao Keys condition bypass
- Start with 3, per Sakurai's prior art.
- Earn them per certain number of rounds
    - DEVELOP builds: once every 4 rounds
    - Release builds: once every 50 rounds
    - Has an internal cap based on the maximum number of unlockables supported.
        - Possible future work could adjust this to restrict based on the maximum number of unlockables unlocks.pk3 actually has set.
- Use on the Challenges screen to bust open small tiles with hints (or the very first tile, if you haven't unlocked anything yet).
    - Will do a funny shake if you try anything else.
- Interrupts menu flow just like getting an unlock.
    - The matches you've played will tick upwards, giving you keys as they loop over.
2023-03-09 22:33:10 +00:00
toaster
328ab0059a F_StartIntro: Disable sound credit (was relevant during routine gamedata deletion) 2023-03-09 21:47:16 +00:00
Eidolon
901ebdb5b0 Implement musicdef volume in new mixer 2023-03-09 15:12:24 -06:00
toaster
40786a006c P_MobjCheckWater: Remove wet player test print 2023-03-09 16:40:39 +00:00
James R
600063f46b Merge branch 'bot-improvements-round-12' into 'master'
Bots Again: Round 12

See merge request KartKrew/Kart!1034
2023-03-09 10:29:14 +00:00
Oni
60863a88a3 Merge branch 'quieter-wavedash' into 'master'
Quieter wavedashing

See merge request KartKrew/Kart!1035
2023-03-09 09:05:55 +00:00
AJ Martinez
85c492e848 Wavedashing no longer puts everyone in your netgame into a hurricane 2023-03-09 02:01:57 -07:00
Sally Coolatta
f2afc65af4 Merge branch 'bot-improvements-round-12' of https://git.do.srb2.org/KartKrew/Kart into bot-improvements-round-12 2023-03-09 03:07:38 -05:00
Sally Coolatta
d7256aa5f6 Give bots friction rubberband again 2023-03-09 03:06:30 -05:00
Sally Coolatta
cd2dd1315a Reduce waypoint radius for bots on turns 2023-03-09 03:06:30 -05:00
James R
794b276267 Merge branch 'snacpending-monch' into 'master'
PARANOIA: snacpending negative error plays sfx_monch

See merge request KartKrew/Kart!1027
2023-03-09 07:57:42 +00:00
James R
f19de81dd2 Merge branch 'fix-eggman-transfer-crash' into 'master'
Fix null ref in eggman transfer

See merge request KartKrew/Kart!1031
2023-03-09 07:56:22 +00:00
James R
cdecada971 Battle: TARGET on the player with 6 emeralds 2023-03-08 23:31:34 -08:00
James R
ef664c5124 Reset DUEL mode before POSITION ends 2023-03-08 21:18:30 -08:00
James R
d83f91d169 Call K_TimerReset before spawning map things
Fixes DUEL items spawning twice if DUEL mode remains on
between maps. Fixes DUEL items spawning the next map after
DUEL mode deactivates.
2023-03-08 21:08:05 -08:00
James R
ba994c261a HERE COMES A NEW CHALLENGER for 3P
Fixes DUEL mode still being active if a 3rd player enters
before 20 seconds is up.
2023-03-08 21:07:40 -08:00
VelocitOni
23b04832ad Buff Spikes
Both Vertical and Wallspikes size and increase, vertical spikes tumble, speed is now TICRATE instead of 2*TICRATE
2023-03-08 22:02:24 -05:00
James R
b04433bc7b Fix TARGET visibility on players holding emeralds 2023-03-08 19:01:03 -08:00
James R
c781780ff8 Lose bumpers when using the respawn command 2023-03-08 19:01:03 -08:00
James R
5cebe7ab35 Battle: count emeralds inside of monitors during Overtime too
Don't spawn extra emeralds during Overtime since some
monitors could survive.
2023-03-08 19:01:03 -08:00
James R
700331fdd6 Drop Targets collide with Battle Monitors and Break the Capsules
Doesn't alter Capsule's path along its waypoints. I think
the interaction with capsules is funny even if it wouldn't
happen normally.
2023-03-08 19:01:02 -08:00
James R
8ce90d7737 Battle: fix emerald win condition
- winning player ALSO exits
- winner gets 100 points
2023-03-08 19:01:02 -08:00
James R
6d305deacc Fix 2P FINISH text scrolling
Was using the wrong center offset.
2023-03-08 19:01:02 -08:00