Commit graph

1142 commits

Author SHA1 Message Date
AJ Martinez
6ad7c7692c Sliptide/drift exit cleanup 2023-10-21 19:50:21 -07:00
Oni
9c585e35de Merge branch 'fix-cheese' into 'master'
Fix perma ring box anticheese

See merge request KartKrew/Kart!1572
2023-10-22 00:06:16 +00:00
AJ Martinez
bb263114f0 Wrong Perma Ring Box flag for anticheese 2023-10-21 17:05:47 -07:00
toaster
7604235c00 Self-review: Fix inverted before-exiting check for FellOff 2023-10-20 16:22:45 +01:00
AJ Martinez
7b1c6a615c Fix perma ring box anticheese 2023-10-20 00:39:32 -07:00
toaster
6211c0b222 UCRP_GIANTRACERSHRUNKENORBI
"hit a giant racer with a shrunken Orbinaut"
Does what it says on the tin
2023-10-19 18:43:40 +01:00
toaster
0478d9a2e3 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-19 17:32:35 +01:00
toaster
5680e00deb P_TrackRoundConditionTargetDamage, Obj_SpecialUFODamage: Fix incorrect non-g_localplayers indexing into player table
Destroying the UFO has now been promoted to a full deferred condition check
2023-10-19 16:38:50 +01:00
toaster
0f06807c65 UCRP_HITMIDAIR: Don't count hitting yourself 2023-10-18 02:05:33 +01:00
toaster
83acdaa0cf UCRP_HITDRAFTERLOOKBACK
"hit a racer drafting off you while looking back at them"
Self-explanatory set of conditions
Wrote a commented out more compicated check for valid angles between player and target, but lastdraft probably is good enough for these purpses
2023-10-18 02:05:12 +01:00
toaster
065fc0b89c UCRP_RETURNMARKTOSENDER: Don't fire checkthisframe if it's already true 2023-10-18 01:57:57 +01:00
toaster
417afd0ac9 UCRP_FALLOFF, UCRP_TOUCHOFFROAD, UCRP_TOUCHSNEAKERPANEL, UCRP_RINGDEBT: Don't flag if it happens to the player after they exit
UCRP_FALLOFF, // Fall off (or don't)
 UCRP_TOUCHOFFROAD, // Touch offroad (or don't)
 UCRP_TOUCHSNEAKERPANEL, // Either touch sneaker panel (or don't)
 UCRP_RINGDEBT, // Go into debt (or don't)
2023-10-18 00:27:44 +01:00
toaster
acad8754c8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-17 23:32:08 +01:00
toaster
9e1aec4298 UCRP_RETURNMARKTOSENDER
"when cursed with Eggmark, blow up the racer responsible"
Just a simple condition. Either it happens or it doesn't.
MT_SPBEXPLOSION now tracks whether it was made by KITEM_EGGMAN or KITEM_SPB, too!
2023-10-17 22:25:47 +01:00
toaster
3e494a342c UCRP_GACHABOMMISER
Break a target (Prison Egg/UFO) using exactly one Gachabom again and again
Becomes invalid if an Insta-Whip collides with a target, or you throw two at the same time
2023-10-17 21:09:22 +01:00
toaster
01b97cb829 Update UCRP_UFOATTACKMETHOD into UCRP_TARGETATTACKMETHOD
Supports Prison Eggs and Gachabom now as well.
For the original behaviour, combine with the new UCRP_SMASHUFO.
2023-10-17 21:03:20 +01:00
toaster
b91823540b UC_PRISONEGGCD: Don't use K_FlipFromObject, this was heinously incorrect 2023-10-17 20:57:19 +01:00
toaster
f0d1813752 UCRP_TRACKHAZARD: Optimise implementation to not be 100 booleans
Much like player->availabilities, use a set of bits on UINT8.
2023-10-16 18:04:23 +01:00
toaster
d4e3d8433d UCRP_TRACKHAZARD
A series of 100 booleans on the roundconditions struct, one per possible lap.
Allows for a full suite of track hazard touching conditions - see the following examples.

- `Condition1 = Prefix_IsMap RR_MOTOBUGMOTORWAY
- `Condition1 = TrackHazard No`
- `Condition1 = IsMap RR_MOTOBUGMOTORWAY`
    - "MOTOBUG MOTORWAY: Don't touch any track hazard"
- `Condition1 = Prefix_GrandPrix`
- `Condition1 = IsMap RR_HARDBOILEDSTADIUM`
- `Condition1 = TrackHazard Yes`
- `Condition1 = And`
- `Condition1 = FinishPlace 1`
    - "GRAND PRIX: On HARD-BOILED STADIUM, touch a track hazard every lap & finish in 1st"
- `Condition1 = Prefix IsMap RR_DEATHEGG`
- `Condition1 = Trackhazard No 8`
    - "DEATH EGG ZONE: Don't touch any track hazard on lap 8"
- `Condition1 = Prefix_IsMap RR_SPEEDHIGHWAY
- `Condition1 = TrackHazard No Final`
    - "SPEED HIGHWAY: Don't touch any track hazard on the final lap"
2023-10-16 17:09:12 +01:00
toaster
3c5e03428a UCRP_HITMIDAIR: Fix typo for object type check 2023-10-16 15:48:08 +01:00
AJ Martinez
53a001da08 Fix visual type desync on respawned battle items 2023-10-15 18:03:53 -07:00
AJ Martinez
1eab3a6838 More whip tuning 2023-10-14 16:09:21 -07:00
toaster
eeefb7beae Prison Egg CD drop: Visual polish
- Initial launch
    - Spin faster
    - Spawn closer to the center of the Prison Egg
- Pickup animation
    - Inspired by those star panels you had to use Flight Formation's Rocket Shoot into in Heroes
- Semibright under regular conditions
2023-10-13 18:35:07 +01:00
AJ Martinez
3e5a5baf50 Charge instawhip QoL 2023-10-13 02:48:28 -07:00
AJ Martinez
a9ec1cea68 WIP: Instawhip charge input 2023-10-13 02:23:28 -07:00
toaster
f8de2cfc83 UC_PRISONEGGCD
Gamedata minor version was updated again.
(God this was a weirdly big amount of work and it's not even polished.)
- Condition1 = PrisonEggCD [Level that has to be unlocked]
- Approximately every 30 Prison Eggs destroyed, you get a shot at a Prison Egg Drop.
    - The only Prison Egg Drop implemented right now is an Alt Music CD.
    - Your [Wild Prize] is guaranteed to be selected only from conditions associated with levels that are unlocked!
- Only spawns in Grand Prix Bonus Rounds, for netsync and game design.
- The number is fuzzed. If you start the level with 0 Prison Eggs to destroy, it selects a random number of Prisons in the level to bust.
- If you miss the pickup (such as into a deathpit), you'll get another shot in the immediate next Bonus Round you play.

Also:
- The number of Chao Keys you start your gamedata with is now part of the header file, not buried in the wiping function.
- Removed the ACTUAL last object definition vestiges of the Emerald Hunt gamemode.
2023-10-12 21:12:08 +01:00
toaster
3fe7a76c5e Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-09 12:28:52 +01:00
toaster
8c734d3646 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-07 12:42:07 +01:00
Lat
dc6bb1bfa9 solve conflicts and update to master 2023-10-07 11:15:47 +02:00
toaster
66c415ea41 Emblem system, Spray Cans: prevent Exiting players from grabbing them
Fixes an issue that as far as the author of this commit is aware was only reported on Discord
2023-10-06 19:16:31 +01:00
James R.
7b3010c93d Fix many instances of splitscreen view number if there are duplicate displayplayers
- Avoid iterating displayplayers to find view number and
  prefer R_GetViewNumber.
- Iterate over all matching displayplayers if necessary,
  instead of stopping at the first match.
2023-10-03 21:28:33 -07:00
Oni
f195b9742a Merge branch 'hardcode-chaos-chute' into 'master'
Hardcode Chaos Chute objects

See merge request KartKrew/Kart!1526
2023-10-04 03:50:56 +00:00
Oni
1387fa81a8 Merge branch 'ballz-activation' into 'master'
Ball Switch

See merge request KartKrew/Kart!1534
2023-10-02 05:41:46 +00:00
Lach
7cd059dfb3 Merge remote-tracking branch 'origin/master' into hardcode-chaos-chute 2023-09-29 22:41:31 +10:00
toaster
a68a0b0135 All other modified files: Trailing whitespace cleanup 2023-09-26 22:51:58 +01:00
toaster
bee1cb9a04 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into rideroid-hardcode
# Conflicts:
#	src/sounds.c
2023-09-26 21:39:19 +01:00
Sally Coolatta
643cf46b61 Ball switch 2023-09-26 08:37:10 -04:00
Lach
7a8bb8ec40 Hardcode Chaos Chute objects 2023-09-24 22:29:52 +10:00
Sally Coolatta
6c9a253ebf Polish ring spill
More circular by using pitch, takes gravity into account, actually has a code path for ring loss that's more than 5 rings
2023-09-23 14:52:04 -04:00
Sally Coolatta
c6897688d0 Delay ring burst after damage 2023-09-23 10:42:00 -04:00
Sally Coolatta
8e62117596 Damage hitlag sounds 2023-09-23 09:57:16 -04:00
AJ Martinez
629e9d39ba Don't kill-confirm suicide 2023-09-22 18:20:14 -07:00
Lat
fb91a9a0f7 DLZ rocket hardcode 2023-09-21 15:42:10 +02:00
Lat
5a6ecd051a Fix conflict in cmakelist w/ master merge 2023-09-20 17:17:33 +02:00
Lat
ea8e871176 LSZ bungee: first pass 2023-09-20 14:42:39 +02:00
James R.
0a6fedc48a Hyudoro: carry item capsule back to player, use MT_EMERALD for collect animation
- Carry back item capsule, painted with the skincolor of
  the player who was stolen from
- Give player item by orbiting and shrinking into the
  player like an emerald
  - Lock player item box while animation plays, draw an
    empty item box on the HUD
  - At end of animation, burst item capsule to place item
    in player's hotbar
- Hyudoros can no longer stack items in the hotbar --
  consistent with item capsules
  - (If you have a Super Ring in your hotbar and Hyudoro
    is holding a Super Ring too, it will wait for you to
    use yours)

---

MT_ITEMCAPSULE changes:

- extravalue2 != 0: use this color on caps
- MF2_STRONGBOX: award items like the roulette
  - Super Ring is placed in the hotbar instead of awarding
    rings directly
  - SPB is placed in the hotbar instead of throwing it
    immediately
- DMG_INSTAKILL: don't respawn
2023-09-17 21:56:19 -07:00
James R.
784090ec00 Nullify damaging hitlag for players with hyudorotimer 2023-09-17 21:56:18 -07:00
James R.
4819290ca2 itemroulette_t: add reserved member, block roulette and P_CanPickupItem, draw empty item box in HUD 2023-09-17 21:56:18 -07:00
James R.
a6f8f53312 P_IsPickupCheesy: add debugcheese cvar 2023-09-17 19:57:55 -07:00
toaster
9ba5a93407 Merge branch 'spraycans-2' into 'master'
Tutorial Spray Cans

Closes #669

See merge request KartKrew/Kart!1498
2023-09-17 13:17:41 +00:00