Commit graph

398 commits

Author SHA1 Message Date
AJ Martinez
bfcc453d56 Guard Break FX 2023-05-19 21:14:47 -07:00
AJ Martinez
9aa4a459ce Guard break, UFO instawhip 2023-05-19 18:45:27 -07:00
AJ Martinez
6f02923d89 Shield VFX 2023-05-19 17:59:47 -07:00
Sally Coolatta
34b12cc436 Bots: Improve spindash behaviors further
- Added new spindashing conditions:
   - In offroad.
   - Trying to go up-hill on a steep slope.
   - On a conveyor going the opposite direction they're trying to go. (Barren Badlands)
- Instead of checking for any spindash condition and adding to the confirm timer, it adds to the confirm timer for every single condition.
    - Increased the confirm time from 2sec to 3sec to accommodate for this change.
- Fixed not using precise momentum angle, causing the low-speed scenarios spindash is intended for to not always work.
- Bots now check for spindash conditions even in damage states, allowing for spindashes after a spinout.
- Fixed the spindash confirm not decreasing over time when entering a condition and then exiting it, causing random spindashes when it wouldn't make sense.
2023-05-14 18:26:31 -04:00
Sally Coolatta
d9d561ee28 Make big items look better
- Bobbing
- Scaling
- Different heights on debris

Also cap scale in full scale maps
2023-04-29 17:46:41 -04:00
Sally Coolatta
3b7ac38d9f Ring Shooter: E-Brake + adjust distance
- Y is now additionally another macro for HOLD!
- Disable HOLD! drop from respawning when done with Ring Shooter.
- Immediate release Ring Shooter now goes back a waypoint, and does not have a minimum distance to go forward anymore.
2023-04-17 00:23:11 -04:00
Sally Coolatta
319cee4afa Move ring shooter to its own file 2023-04-17 00:23:07 -04:00
Sally Coolatta
668d832ca1 Delete respawn command, put Ring shooter on Y 2023-04-17 00:23:06 -04:00
lachablock
c98ff9616b Start Ring Shooter respawn: while e-braking, enter the respawn command to spawn a Ring Shooter. Currently purely visual and does not despawn. Steals the player's face for funsies. 2023-04-17 00:22:07 -04:00
Chromatian Keiske
205de5503f Merge branch 'momentum-angle-consistency' into 'master'
Raise threshold for K_MomentumAngle to fall back on facing angle

Closes #483

See merge request KartKrew/Kart!1081
2023-03-23 08:36:29 +00:00
James R
9b5db6fedb Add K_MomentumThreshold, raise threshold for K_MomentumAngle to 6 FU, same as K_AirFailsafe 2023-03-22 15:47:08 -07:00
toaster
01dbbc34d1 K_PopPlayerShield
- Split out from K_DropHnextList to make its handling more explicit, and to permit K_DropItems scenarioes to *not* drop shields.
- Always called on P_DamageMobj on any non DMG_STUMBLE damagetype, so shields always get digested on true pain.
    - Todo: Should shields be popped even on DMG_STING..?
- NOT called on Eggman Mark pickup.
- Add to Lua (alongside K_DropHnextList, which was inexplicably missing).
2023-03-21 13:48:30 +00:00
James R
1f70b9c63c Merge remote-tracking branch 'origin/bumpers-ARE-health' 2023-03-13 00:51:44 -07:00
Sally Coolatta
d7256aa5f6 Give bots friction rubberband again 2023-03-09 03:06:30 -05: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
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
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
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
e47f46d3bc Give podium bots more traction 2023-03-03 16:09:50 -05:00
Sally Coolatta
4a8dd02320 Podium cutscene basics
- Bots follow a slightly more strict path via waypoints
- Bots decide their starting waypoint path depending on their position. (The 1st place winner will start by chasing waypoint ID 1, etc)
- The map used for podium sequence can be decided via `PodiumMap = x` in MainCfg.

TODO:
- Camera work
- Add Lose / Win animation states when stopping at final waypoint
- Adjust physics so that the bots can follow the path more strictly in this mode
- Actually go to it after GP
2023-03-03 16:09:49 -05:00
James R
5cb54f29fe Sync player mobj health to bumper count
Fixes players killed twice if P_DamageMobj is called with
DMG_TIMEOVER and gametyperules GTR_BUMPERS.

Moves death condition out of K_HandleBumperChanges and
lets losing last bumper organically kill the player by
decreasing their health.
2023-03-02 22:05:30 -08:00
James R
8ba2155d89 Refactor timelimit and pointlimit to use "Default" option
- "Default" automatically updates the time/point limit
  according to the rules of the gametype.
- This fixes the bug where if you set timelimit at all,
  the default 2 minute limit will never be set again for
  Battle mode.
2023-02-24 23:19:07 -08:00
AJ Martinez
00aa69ca0a Buff eggbox speed, allow contact transfers 2023-02-21 23:00:56 -07:00
James R
ba27c87ff0 Add capsuletest cvar
- capsuletest off - default behavior.

- capsuletest multiplayer - always spawn non time attack
capsules, even in FREE PLAY.

- capsuletest timeattack - always spawn time attack
capsules, even in multiplayer.
2023-01-11 21:46:21 -08:00
James R
6eb8da1a56 Add K_GetTotallyRandomResult, for battle item spawners 2023-01-01 18:38:53 -08:00
James R
a94e18c277 Add K_UpdateMobjItemOverlay 2023-01-01 18:38:53 -08:00
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
Sally Coolatta
36e9a56f29 Add K_TimeAttackRules
Lets Time Attack capsules spawn in Free Play, and prevents Time Attack specific rules from happening in Special Stages
2022-12-17 01:05:30 -05:00
Sally Coolatta
e7ae65f30e Next round of UFO tweaks
- Damage depends on item thrown at it.
- UFO speeds up when getting damaged.
- Made UFO speed up more often.
- First Special Stage item column is active farther back.
- Items can't be disabled if rules can't be changed.
- Item column code with items disabled uses fractional precision.
- Fixed bug with the new item table code to support different lengths better.
- Tweaked UFO speed values again.
- UFO is no longer solid.
2022-12-15 23:16:26 -05:00
Sally Coolatta
d1b2e42560 Lots more UFO work
- UFO is able to be damaged. (No damage values set yet, so it has an obnoxious amount of health.)
- Emerald becomes collectible when fully damaged.
- Jawz can target the UFO.
- Tweaked some of the speed values.
2022-12-15 23:12:52 -05:00
Sal
03b37e2871 Merge branch 'deterministic-roulette' into 'master'
Deterministic roulette

See merge request KartKrew/Kart!808
2022-12-16 00:50:45 +00:00
James R
7f569fe168 Rename K_SpawnBrolyKi to Obj_SpawnBrolyKi, move to objects/broly.c, spawn MT_BROLY 2022-12-15 04:14:38 -08:00
James R
34dec00539 Add K_SpawnBrolyKi, green circle shrinks during explosion hitlag 2022-12-14 19:54:31 -08:00
Sally Coolatta
a481e4b34b Deterministic roulette
The roulette contains NO (non-seeded) RNG anymore. You manually stop it at any time.

Still needs the visual of the items scrolling, to make it not blind.
2022-12-11 23:58:11 -05:00
Sally Coolatta
e331910fe3 Reduce VFX toggle
Can be used to disable VFX, so it can only appear if its owner is a display player. If no owner is provided, then it will be removed entirely.

Applied to most things that Ivo asked for
2022-11-26 20:12:00 -05:00
AJ Martinez
770378eea0 Ironman: move transform VFX into function for reuse 2022-11-03 03:38:56 -07:00
Sally Coolatta
7b7cbbbf26 Fix oddities with duel items not always spawning 2022-10-01 22:58:58 -04:00
James R
f3668fbd7c Merge branch 'top-final' 2022-09-29 10:52:45 -07:00
James R
5063a4acf1 The Garden Top
This is all the visual effects and item logic of the Top
minus (almost all [1]) physics adjustments when a player is
riding one.

While on a Top:

- Otherwordly humming while floating

- Cannot drift [1]. Instead, holding drift begins grinding
the Top into the ground -- sparks fly out
- Sprite tilts left and right as you turn
- No wheel screech when turning too far
- Speed lines while holding drift
- Tripwire Boost effect scales to cover you AND the Top

- One hit and you lose it

- Throwing forward, getting hit or just losing it because
you were in first place for too long: the Top flies out
from under you and begins snaking like crazy
- Throwing backward also makes the Top fly out from under
you but it also thrusts you forward. The Top dies
instantly so it's not dangerous ;-)

- If you're in first for too long, it begins vibrating
- If you tumble, it dances across your entire screen

A loose top will tumble anyone it hits.
2022-09-28 02:01:37 -07:00
James R
77bc259986 Separate water skipping condition into K_WaterSkip 2022-09-28 00:07:26 -07:00
Sally Coolatta
afc2a0dcdc Properly spawn effects for the other objects 2022-09-27 13:09:30 -04:00
Sally Coolatta
841bcf3619 Allow non-players to water skip/run
Water skipping is enabled for Orbinaut, Jawz, and Ballhog currently. Jawz can water run, as long as their target is on/above the plane they're at -- once their target goes into the water, they'll start skipping.
2022-09-27 12:31:33 -04:00
Sally Coolatta
f6b62b6ac6 Clean up water skip conditions
- Use Digital Empire's water running conditions (fully prevents ever being able to water-run on water that isn't level)
- Code cleanup of other parts of this code
- Made the threshold for water skipping much more strict
- Fixed water skip being scaled to player scale instead of map scale
- Make water run / tripwire easier for rubberbanding bots
2022-09-27 11:07:25 -04:00
Sally Coolatta
b0e3840550 Add jawz.c + new backwards behavior 2022-09-25 11:27:07 -04:00
Sally Coolatta
cc331d90da Add orbinaut.c + new backwards behavior 2022-09-25 09:55:49 -04:00
Sally Coolatta
ee7125ffdf Fix missing function declaration 2022-09-24 16:42:16 -04:00