Commit graph

2601 commits

Author SHA1 Message Date
Gunla
b8f3c7e357 Merge branch 'fastfall-with-speed' into 'master'
Scale fast fall momentum with speed at time of trigger

See merge request KartKrew/Kart!1047
2023-03-18 23:00:06 +00:00
toaster
81e880464a CD Special Stage UFO changes
- MT_CDUFO is now a valid type of Prison in Prison Break
    - Tracked on counter
    - Tracked on HUD
    - Tracked on minimap
- P_AddBrokenPrison in p_inter.c
    - Generalises behaviour on breaking a Prison Break object
- MT_CDUFO polish
    - Can now be broken with all damaging objects EXCEPT Shield Orbinaut/Shield Jawz
        - These two are exceptions to prevent them from denying you your on-contact item grab., which these will still give you if you touch them
    - Breaking the object by touching it now causes hitlag instead of fireworks
        - The fireworks were to make touching it feel good... but hitlag feels better :P
    - Now supports mapobjectscale directly.
    - Scaled 1.5x mapobjectscale
    - Hitbox now far closer to actual sprite (which was just replaced, but was inexplicably far away from the old one too)
2023-03-18 00:22:44 +00:00
toaster
2e1efaff0c Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading
# Conflicts:
#	src/k_battle.c
#	src/k_hud_track.cpp
#	src/k_kart.c
#	src/p_inter.c
2023-03-14 21:59:19 +00:00
AJ Martinez
4607aeda4c More lenient minimum wavedash time 2023-03-14 04:32:15 -07:00
James R
f390ff26ec Scale fast fall momentum with speed at time of trigger
Previous was 4x gravity. Now 3x at the lowest, scales up
to around 8x at 200% speed (can go further).
2023-03-13 20:11:53 -07:00
James R
94faf486fd Add player->fastfallBase 2023-03-13 20:09:20 -07:00
James R
1f70b9c63c Merge remote-tracking branch 'origin/bumpers-ARE-health' 2023-03-13 00:51:44 -07:00
Sal
e70c23fe0f Merge branch 'sliptide-improvements' into 'master'
Wavedash refinement

See merge request KartKrew/Kart!1040
2023-03-13 02:54:55 +00:00
AJ Martinez
b741d1f11a Use dedicated sound for wavedash min charge indicator 2023-03-12 17:09:09 -07:00
toaster
241475155b Rename "Break the Capsules" to "Prison Break"
We had this collective consciousness bigbrain moment in VC together, and it can literally only happen in this branch because unlocks.pk3 is the only main-game asset that needs to change for it
Solves the big problem we had with mixing up Item Capsules and ~~Battle Capsules~~ PRISON EGGS
2023-03-12 20:17:46 +00:00
toaster
65a4f33b6f R_GetEngineClass
Before unlockable conditions dependent on Engine Class are added, standardise the system.
- enum constant in r_skins.h from A-I + J
    - Engine Class J is for SF_IRONMAN
        - The Joker in the pack of cards
        - Also immediately after I in the alphabet
        - It's a Jape that works on multiple levels
- Integrate into K_UpdateEngineSounds
    - Ignores Engine Class J
- Show the Engine Class in character select extrainfo mode, even in situations character name would have been the only thing shown
2023-03-12 14:41:15 +00:00
toaster
01f6eb71f5 Optimisation: reduce the number of calls to M_CheckUnlockConditions
- For P_Ticker()'s calls to M_UpdateUnlockablesAndExtraEmblems
    - Do not check non-UCRP_REQUIRESPLAYING conditions
        - Controlled by a new `boolean doall` parameter to M_UpdateUnlockablesAndExtraEmblems
        - Most other contexts have this as true
        - Forced true if update is meant to be silent
    - Only check UCRP_REQUIRESPLAYING conditions if a relevant property has been touched
        - Controlled by a new `boolean checkthisframe` property on roundcondition_t
        - Set in all contexts where roundcondition_t is modified
        - Would also be set on lap change, but that case is already covered by the following
- Check all conditions, both UCRP_REQUIRESPLAYING and not, on:
    - local player K_HandleLapIncrement
    - local player P_DoPlayerExit
    - local player P_DoTimeOver
    - Controlled by a new `boolean deferredconditioncheck` property on gamedata_t
2023-03-12 13:52:28 +00:00
James R
01efc8cbd4 Merge branch '3p-challenger' into 'master'
HERE COMES A NEW CHALLENGER for 3P + fix DUEL mode bugs

Closes #463

See merge request KartKrew/Kart!1008
2023-03-12 03:22:56 +00:00
AJ Martinez
fcd1fe8b8b Wavedash refinement 2023-03-11 17:20:44 -07: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
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
AJ Martinez
85c492e848 Wavedashing no longer puts everyone in your netgame into a hurricane 2023-03-09 02:01:57 -07:00
Sally Coolatta
d7256aa5f6 Give bots friction rubberband again 2023-03-09 03:06:30 -05:00
James R
ef664c5124 Reset DUEL mode before POSITION ends 2023-03-08 21:18:30 -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
James R
85a101cbd7 Replace battlecapsules || bossinfo.valid checks with K_Cooperative 2023-03-08 19:01:02 -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
toaster
d2c36c952a Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading
# Conflicts:
#	src/k_grandprix.c
#	src/k_grandprix.h
2023-03-07 19:37:46 +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
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
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
AJ Martinez
2fb6bc5f46 Require 25% minimum handleboost to sliptide, change sliptide zip to 24% 2023-03-06 16:51:41 -07:00
Sally Coolatta
3c07641938 Add final position as a ranking requirement
1st is a large bonus, 2nd is a medium bonus, 3rd place is no bonus, and everything below is a penalty. This will help make Loser Valley grades never be above a C at most.
2023-03-06 18:26:06 -05:00
Sally Coolatta
3d1070c2f2 Show ranking data on the screen 2023-03-06 18:25:16 -05:00
Sally Coolatta
20dedb6602 Try to fix the podium bot spawning (again)
- Podium waypoint initialize is done always directly after spawning the player, instead of trying to detect it in K_UpdatePodiumWaypoints.
- Position is manually calculated for K_InitializePodiumWaypoint, instead of needing K_UpdateAllPlayerPositions to be called.
- Instead of calling K_UpdateAllPlayerPositions every time a player spawns, do it at the end of the spawning loops.
- Prioritize spawning bots in further away spots instead of 1st available, as spots 1st to 3rd spots are more important.
2023-03-06 18:24:51 -05:00
toaster
baeb48ca1f roundconditions_t - State tracking for events which occour mid-match and don't stay that way
- Exists on every player struct to simplify writes, but A) not netsynced and B) only checked for local players
- Updated in the relevant locations - no centralised ticking at the moment
- Has a number of new associated conditions that require playing (UCRP's).
    - The following require [True/False] as supplementary information.
        - FallOff
        - TouchOffroad
        - TouchSneakerPanel
        - RingDebt
    - The following have no supplementary information because they're universally a specific achievement.
        - TripwireHyuu
        - SPBNeuter
        - LandmineDunk
        - HitMidair
    - The following has specific requirements that can be set.
        - WetPlayer [name of fluid]
             - Append "Strict" to forbid even skimming the surface of the map's fluid.
2023-03-06 22:31:35 +00:00
James R
feb70916c1 Merge branch 'bumpers-use-health' into 'master'
Sync player mobj health to bumper count

See merge request KartKrew/Kart!1003
2023-03-06 15:43:24 +00:00
AJ Martinez
948dea8304 Sliptide zip readability 2023-03-06 06:17:34 -07:00
AJ Martinez
08ddc324c3 Fix potential ADDBOOST macro footgun 2023-03-06 06:11:13 -07:00
AJ Martinez
8951ccf61d Buff sliptide zip 2023-03-06 05:43:02 -07:00
AJ Martinez
c2c2c71f0a Freeze sliptide zip delay while airborne 2023-03-06 05:17:26 -07:00
AJ Martinez
2e41862802 Please fucking stage the files I tell you to stage 2023-03-06 05:03:39 -07:00
AJ Martinez
f4fbd1e654 Sliptide boost VFX first pass 2023-03-06 05:00:59 -07:00
AJ Martinez
87d8945f97 Make sliptiding actually good (no visuals)
50% increased effect of handling boosts, 75% reduced penalty for handling boost stacking, grants a boost proportional to your sliptide length when you straighten out
2023-03-05 23:57:47 -07:00
Sally Coolatta
9c264b3736 K_UpdateAllPlayerPositions
Call this whenever we need accurate player positions. In addition to before player think, is now being used for exiting as well as immediately when the player is spawned.
2023-03-05 14:59:11 -05:00
Sally Coolatta
35d0cb8eaa Move podium code to its own file 2023-03-03 16:10:05 -05:00
Sally Coolatta
a1976aa43d Fixes for podium bots loading
- Handle bot spectator on spawn purely in P_SpawnPlayer from now on
- Don't give podium players flashing tics
- Don't call P_MovePlayerToStarpost during podium. (Needs further fixing in another branch, since this also apparently affects bot spawning in all maps.)
- Update mobj_t pointers in CL_ClearPlayer if G_GamestateUsesLevel()
- Forcefully set initial podium waypoint if jointime <= 1
- Use G_SpawnPlayer consistently in P_InitPlayers for podium
2023-03-03 16:10:05 -05:00
Sally Coolatta
672d69c626 More podium physics tweaks for the new scale
- Normalize turning stats
- More friction
- Less acceleration
- Podium bots will go at a reduced speed when going towards a No Respawn waypoint, so they can calm down a bit before they get on their platform.
2023-03-03 16:10:02 -05:00