Commit graph

1303 commits

Author SHA1 Message Date
toaster
4bc8f80d64 MT_FLOATINGITEM: Don't pick (back?) up immediately
Happened very frequently with Blend Eye
2023-10-31 22:17:21 +00:00
toaster
71d301779b Blend Eye Hardcode part EX: Code the rest of the owl 2023-10-31 21:47:18 +00:00
toaster
7e362b1ee8 MT_BLENDEYE_PUYO, MT_SPIKEDTARGET: Hardcode simple thinkers/init/death behaviour 2023-10-30 00:13:03 +00:00
toaster
388b14e956 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into will-it-blend
# Conflicts:
#	src/k_podium.c
2023-10-29 12:36:30 +00:00
Oni
f5c1180095 Merge branch 'turn-solver-leniency' into 'master'
Sliptide/drift exit cleanup

See merge request KartKrew/Kart!1576
2023-10-29 06:08:22 +00:00
toaster
c72fcca57e Adjust the circumstances players can get lives in GP contexts
- Permit awarding in A_ForceWin
    - Set var1 to 1 to do so
- More tightly restrict against awarding in GPEVENT_SPECIAL specifically
2023-10-25 17:45:58 +01:00
toaster
4e2cc4bc34 MT_RANDOMITEM: Fixes relevant to Blend Eye development
- Custom Mace system
    - Change the OTHER MF2_ that MT_RANDOMITEM uses to also not conflict with the sound-creating property
    - Support being counted for the P_RespawnBattleBoxes system
- If there's only one Random Item on the course, have an extra delay before its respawn is forced
- More prevention of S_RINGBOX1 set in GTR_SPHERES
- Fix potential state issue for Ring Box conversion
2023-10-24 23:10:17 +01:00
toaster
c27e733985 P_DamageMobj changes for MF_BOSS
- Track round condition target damage, for potential future challenges
- Disable whip collision to prevent buzzsaw behaviour
2023-10-24 23:10:16 +01:00
AJ Martinez
be1ce929c7 Fix time-increment overlap in prisons 2023-10-24 02:15:19 -07:00
AJ Martinez
dbe25d8be4 Fix Prisons difficulty to respond to GP settings 2023-10-23 19:55:54 -07:00
AJ Martinez
5cdedd53ba Prisons: respond to game difficulty 2023-10-22 17:16:04 -07:00
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