Commit graph

21901 commits

Author SHA1 Message Date
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
James R
cdecada971 Battle: TARGET on the player with 6 emeralds 2023-03-08 23:31:34 -08: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
James R
3dd7ece9db Don't get points from killing other players in Break the Capsules or boss mode 2023-03-08 19:01:02 -08:00
James R
85a101cbd7 Replace battlecapsules || bossinfo.valid checks with K_Cooperative 2023-03-08 19:01:02 -08:00
James R
7669ae7bde Rankings HUD and minimap check for PF_ELIMINATED
Dying to the Barrier:

- crosses out your rankings icon
- hides your minimap icon
2023-03-08 19:01:02 -08:00
James R
f69d70043c Keep player alive at zero bumpers
Player have one more hit point than number of bumpers.
Break the Capsules gives zero bumpers.
2023-03-08 19:01:02 -08:00
James R
f6c8dd655a Do not kill player because of damage outside of GTR_BUMPERS
Removes more Karma Bomb crap.
2023-03-08 18:11:50 -08:00
James R
a3c64068e6 Replace bumpers completely with health
Adds some functions:

- K_Bumpers, bumper count for the count, intended for
  where player->bumpers was used in HUD and visual
  contexts.
- K_BumpersToHealth, converts bumper count to health
  points.

player->mo->health replaces player->bumpers where it was
used in health contexts.

Removes some functions:

- K_HandleBumperChanges
- K_DestroyBumpers

Everything K_HandleBumperChanges did has either been
removed or moved elsewhere. P_KillMobj also already called
K_CheckBumpers.

K_DestroyBumpers became pointless after player->bumpers
was removed.
2023-03-07 22:54:33 -08:00
James R
a1558f1fbd Move Break the Capsules and Boss elimination condition to P_KillMobj 2023-03-07 22:36:55 -08:00
James R
3843f0c3cd Remove more Karma Bomb crap
- remove Karma Bomb boost trail condition
- remove Karma Bomb condition for Eggman Mark
- remove Karma Bomb condition for hiding player name tags
- remove Karma Bomb player translucency
- remove Karma Bomb respawn invincibility
- remove Karma Bomb speed buff
- remove Karma Bomb sphere digestion
- remove Overtime Karma
2023-03-07 22:32:28 -08:00
James R
a648ff31f1 Let spectators watch players who just died in Battle
If they're going to respawn anyway, there's no reason not
to spectate them. PF_ELIMINATED condition above excludes
Overtime Barrier KO.
2023-03-07 22:29:50 -08:00
James R
f86f794d20 g_demo.c: track player mobj health instead of bumpers
Lord have mercy on my soul!!!
2023-03-07 22:29:49 -08:00
James R
86990d47d2 Merge branch 'i-error-if-missing-exchndl' into 'master'
Windows: close game with error if exchndl.dll is missing

See merge request KartKrew/Kart!1010
2023-03-08 03:25:10 +00:00
James R
afa62f2402 I_Error if exchndl.dll is missing for Windows builds 2023-03-07 17:52:10 -08:00
Oni
216e4064dc Merge branch 'wavedash-sounds' into 'master'
Add sounds to sliptide zip / wavedashing

See merge request KartKrew/Kart!1024
2023-03-07 20:23:05 +00:00
toaster
1ccd41c3db R_RenderThickSideRange: Compilation fix
It seems `lighteffect` was not a comprehensive enough blockade to referencing an uninitialised `xwalllights` for my strictly-warning compiler.
2023-03-07 19:32:52 +00:00
AJ Martinez
da2aab1af1 Avoid sound iteration, if we can help it 2023-03-07 06:08:20 -07:00
AJ Martinez
06f583a15d Un-re-buff wavedash boost because tripwire 2023-03-07 05:57:01 -07:00
AJ Martinez
3463456976 Oni fixup gaiden
Passive sound when holding wavedash (waved4), wavedash delay TICRATE -> TICRATE/2, wavedash delay pauses while driftboosting
2023-03-07 04:58:17 -07:00
AJ Martinez
65b62e07c8 Add sounds to slipide zip / wavedashing 2023-03-07 03:20:41 -07:00
James R
df00ed4f64 Merge branch 'render-highlight' into 'master'
debugrender_contrast, debugrender_spriteclipping and debugrender_highlight

See merge request KartKrew/Kart!1021
2023-03-07 09:53:13 +00:00
Oni
cb6391c2cc Merge branch 'high-contrast-debug-waypoints' into 'render-highlight'
Make debugwaypoints radiuses more visible

See merge request KartKrew/Kart!1022
2023-03-07 09:52:24 +00:00
James R
aa927a5b00 Merge branch 'overtime-spectator' 2023-03-07 01:45:16 -08:00
James R
540bd6e18d Merge branch 'improve-battle-tracking' into 'master'
HUD TARGET for Battle Kiosk, Monitors and Emeralds; remove WANTED over players' heads

See merge request KartKrew/Kart!1016
2023-03-07 09:44:07 +00:00
Oni
e4ba544994 Merge branch 'buff-sliptide' into 'master'
Make sliptiding actually good

See merge request KartKrew/Kart!1020
2023-03-07 08:49:46 +00:00
James R
b8a503f56a Always sync health to bumpers in P_KillPlayer
Fixes Death Pit respawning in Battle.
2023-03-06 23:37:42 -08:00
James R
a55ddef528 Add cv_scrambleremoved, disable scramble on P_RemoveMobj
Because Monitors and players leaving leak references,
disable this crashing to be able to test other stuff at
least.
2023-03-06 22:55:01 -08:00
Oni
cdc56ab2cc Merge branch 'podium' into 'master'
Podium

See merge request KartKrew/Kart!1014
2023-03-07 05:58:20 +00:00
AJ Martinez
5d79ecd065 Oni feedback fixup
Sneaker boosts now pause decay timer, boost strength reduced to prevent tripwire memes, boost lengthened based on proximity to bottom left, further improvements to handling boosts
2023-03-06 20:01:09 -07:00
James R
ccd933556d Battle: activate director after dying to Overtime Barrier 2023-03-06 18:52:59 -08:00
James R
d56be63249 Battle: eliminate players killed by the Overtime Barrier
- Players killed this way become invisible and unable to
  move.
- Ends the match when one player is remaining.
2023-03-06 18:52:59 -08:00
James R
f2c806185e Cycle color of player TARGET between held emeralds 2023-03-06 18:52:53 -08:00
James R
18ccc3db27 Remove g_hiscore since it's not used anymore 2023-03-06 18:52:53 -08:00
James R
b023b16561 Remove WANTED over players' heads, TARGET wanted player 2023-03-06 18:52:53 -08:00
James R
20fe13deb7 HUD TARGET for Battle Kiosk, Monitors and Emeralds
Except in Break the Capsules, Boss mode or DUEL mode:

- When Overtime begins, all TARGETs are hidden and the
  Kiosk is targeted instead. Blue colored TARGET.

- TARGET player themself sees TARGETs on emeralds and
  monitors with emeralds inside. TARGET color matches
  emerald.
2023-03-06 18:52:53 -08:00
AJ Martinez
a7cc5aac78 Fix Lua interface mangling writes to sliptideZipBoost 2023-03-06 16:53:14 -07:00
AJ Martinez
2fb6bc5f46 Require 25% minimum handleboost to sliptide, change sliptide zip to 24% 2023-03-06 16:51:41 -07:00