Commit graph

23383 commits

Author SHA1 Message Date
toaster
e7ee979f1a Horncode
A much more focused replacement for Hornmod, specc'd out by Tyron and Oni working together and implemented by the author of this commit because it's pretty funny.

- Followers have `hornsound` in their SOC configuration.
    - The default sound for all followers without a provided one is sfx_horn00.
- They'll play this sound if you use lookback with one following you, and there's nearby players to get the player looking all the way around.
    - Only the players who are successfully considered for lookback will hear it.
- Has a v1-like visual with less randomisation, but still netsynced.
- Also controlled by the cvar `taunthorns`, which, like `tauntvoices`, takes "Tasteful" (default), "Meme", and "Off".

TODO: make the condition for horn a little delayed, so you have to hold lookback for a little bit.
2023-06-28 17:54:23 +01:00
toaster
be9ff7e7cb p_saveg.c: TypeIsNetSynced(mobjtype_t) function
Makes opting out of netsave inclusion far, far simpler
2023-06-28 16:45:46 +01:00
toaster
1429a91cd9 Increase maximum # of Followers
Surprisingly easy as it requires negative values to mark "None", so it was already out of the range of UINT8
2023-06-28 16:36:36 +01:00
toaster
4344221252 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into seeecret-colors 2023-06-28 12:48:50 +01:00
toaster
3b169c71dc Merge branch 'fixconditionsets' into 'master'
Conditionset is UINT16, not UINT8

See merge request KartKrew/Kart!1302
2023-06-28 11:47:59 +00:00
toaster
a933e7a084 Provide helpful warning for too-large id counts for ConditionSet Condition# lines 2023-06-28 12:17:41 +01:00
toaster
e2669dba0c Correct readcondition helper function as well 2023-06-28 12:16:25 +01:00
Oni
93e3b2aca0 Merge branch 'conclusions' into 'master'
Conclusions

See merge request KartKrew/Kart!1300
2023-06-28 00:51:45 +00:00
Oni
ed413e5808 Merge branch 'z-vote-defaults' into 'master'
RTV and RIB default to Yes

See merge request KartKrew/Kart!1304
2023-06-28 00:42:02 +00:00
VelocitOni
2c67244954 RTV and RIB default to Yes
"Skip Map" and "Redo Map" on by default for Z-Voting
2023-06-27 20:37:55 -04:00
Oni
f393b9782b Merge branch 'super-flicky' into 'master'
Battle: Super Flicky power-up, give power-up command, general functions for interfacing power-ups (also Lua)

See merge request KartKrew/Kart!1301
2023-06-28 00:31:53 +00:00
Oni
1217934693 Merge branch 'zvote-menu' into 'master'
Call Vote + Admin Tools Menus

See merge request KartKrew/Kart!1303
2023-06-28 00:24:32 +00:00
toaster
cc73279756 Allow both CALL VOTE and ADMIN TOOLS in pause menu
Also slight re-ordering
2023-06-28 00:37:30 +01:00
toaster
97dd516568 Unrelated Pause Menu bugfix: Only permit GP "TRY AGAIN" option in GS_LEVEL, given it's buggy right now (we can change it back when it's fixed) 2023-06-28 00:07:39 +01:00
toaster
dee753d979 Admin Tools menu
Just a superpowered version of the Call Votekick menu, also just to make release cleanly
2023-06-28 00:02:09 +01:00
toaster
685e1b019f Actually pay attention to K_PlayerIDAllowedInMidVote for access to calling votes 2023-06-27 23:59:46 +01:00
toaster
b59346f637 Votekick menu
Not super polished, literally just implemented this way to make freeze
2023-06-27 23:59:01 +01:00
toaster
9372f8ff1a Conditionset is UINT16, not UINT8 2023-06-27 23:03:05 +01:00
toaster
d8ea8c0fe1 Implement "CALL VOTE" for victimless commands on the pause menu
Currently just plays the squishy "nope" sound for "KICK PLAYER?", all others are functional
Shows whether vote is active or the cooldown is too recent (via numerical timer) as reasons for why you can't select it
2023-06-27 17:53:59 +01:00
toaster
721d5d9da9 Improve M_HandlePauseMenuGametype and M_HandleHostMenuGametype
Simplify massively by using IT_ARROWS
2023-06-27 17:45:27 +01:00
toaster
8a4cca8518 Seperate out K_SendCallMidVote from Command_CallVote 2023-06-27 17:33:01 +01:00
toaster
15ff670a48 Reduce space width of Level Select high/low fonts - fancy fonts shouldn't be monospace 2023-06-27 17:32:03 +01:00
toaster
34563ebecd Got_KickCmd: Only PROMOTE any regular kick to votekick if that player's the victim, don't downgrade a ban 2023-06-27 17:30:43 +01:00
toaster
ddce2e9a2d zvote_call runitback
- "Redo Level?"
- Functionally `restartlevel` but votable
2023-06-27 14:24:45 +01:00
toaster
ec8a6247c2 Z-vote is now server-authoriative
- Only calls callback if you're the server (and not demo.playback, forward thinking for stored xcmd netreplays)
- G_GamestateUsesExitLevel() for homogenising the conditions that permit XD_EXITLEVEL to be dispatched and recieved
2023-06-27 14:16:48 +01:00
toaster
07fa5fff01 M_DrawPause: Make the visual case for user-selectable options more flexible/less specific to the gametype changer it was implemented for.
A surprise tool that will help us later
2023-06-27 13:28:12 +01:00
Oni
fe3790b0db Merge branch 'ringbox' into 'master'
Ring Box

See merge request KartKrew/Kart!1292
2023-06-27 09:47:15 +00:00
AJ Martinez
e75c052e7b Force MT_RANDOMITEM to start S_RANDOMITEM in Prisons 2023-06-27 02:20:20 -07:00
James R
7130435667 Let give command give power-ups, amount = power-up duration in tics 2023-06-27 02:08:07 -07:00
James R
996f01f418 Add K_PowerUpRemaining, K_GivePowerUp, K_DropPowerUps to Lua 2023-06-27 02:08:07 -07:00
James R
919c669863 Drop power-ups when whipped
- Dropped power-ups become paper items (overloaded to
  store power-ups instead of items).
- The dropped power-up stores its remaining duration.
- The power-up can be picked up during any state.
  - If you already have the same kind of power-up, the
    duration is simply extended.
2023-06-27 02:08:07 -07:00
AJ Martinez
e4f7efca51 Add roulette ringbox flag to netsave 2023-06-27 01:42:24 -07:00
James R
a0b0891009 Add K_DropPaperItem, split from K_DropItems but with custom item type and amount 2023-06-27 01:12:01 -07:00
James R
58cccedd64 MT_FLOATINGITEM: use K_UpdateMobjItemOverlay 2023-06-27 01:12:01 -07:00
James R
bef55b818b Add power-up constants 2023-06-27 01:12:01 -07:00
James R
b9820e3264 Whip Super Flicky 2023-06-27 01:12:01 -07:00
James R
ed262f780b Add majority of Super Flicky object functionality
Thinkers and most collision.

- 4 Super Flickys deploy from above the owner player, in
  a radius.
- Radius shrinks as Flickys descend.
- Flickys orbit their owner until coming within range of
  another player.
- The entire group of Flickys attack another player at
  once, with some delay between each.
- Flickys accelerate toward their target, constantly
  building speed.
- When a Flicky is both within a short radius of its
  target and the angle of momentum is narrowed toward the
  target, the Flicky will sharply accelerate to impale the
  target.
- When a Flicky is both outside of a long radius of its
  target and the angle of momentum is facing away from the
  target, the Flicky's momentum will be drastically cut in
  order to make it easier for the Flicky to turn around.
- After one of the Flickys in the group hits its target,
  all but one of the group is free to hunt a different
  target.
- A new target is chosen from a radius around the current
  target.
- Flickys can only target players who are not respawning
  and who have not already been attacked by another
  Flicky.
- Super Flickys can be blocked by a Guard. The Super
  Flicky shall have all its momentum reflected (strong
  knockback).
- Super Flickys can be insta-whipped. This shall have the
  same effect as a Guard, with the additional effect of
  knocking the 'Super' out of the Super Flicky.
- Non-Super Flickys are knocked back with gravity. After
  bouncing off the ground once, it regains flight and will
  continue to chase its target. However, it cannot damage
  the target. After 5 seconds, the Flicky regains Super
  state.
- The Flicky power-up is on a timer. After the timer
  expires, Flickys lose Super state and ascend back into
  the air (reverse of their initial descent).
- If the Super Flicky is not orbiting its target when it
  ascends, it retains all horizontal momentum during the
  ascent, 'flying off into the distance'.
2023-06-27 00:53:24 -07:00
James R
d737387132 Add flickyAttacker and powerupvars_t to player_t, add to netsave 2023-06-27 00:50:40 -07:00
James R
b35d0ae25e Add Super Flicky sounds
fbost1, fbird, fhurt1, fhurt2 were previously freeslotted
by chars.pk3. They are used by the Flicky skin.
2023-06-27 00:50:00 -07:00
James R
fd0167a3b0 Add Super Flicky states
Adds 3DFR sprite (previously freeslotted by followers.pk3)
2023-06-27 00:49:59 -07:00
AJ Martinez
c71bb7092e Merge remote-tracking branch 'origin/master' into ringbox 2023-06-26 19:19:21 -07:00
AJ Martinez
c495106ee5 Ringbox: playtest fixups 2023-06-26 19:02:39 -07:00
AJ Martinez
a43744aa24 1P hud fixes 2023-06-26 17:51:42 -07:00
AJ Martinez
0a6bac0dcc Ringbox: HUD, transform time define, ring-box-only, scaling rewards 2023-06-26 17:36:41 -07:00
toaster
5fedd38965 Fix condition for G_GetBackupCupData focus to not include Match Race 2023-06-27 00:16:09 +01:00
toaster
34987fbffc FIXED IT
- SendNameAndColor was completely out of order for some reason
- SendNameAndColor was sending cvar value instead of the send value. The value for sending. The value chosen specifically for sending, the send value.
- Color_OnChange was just broken in the SKINCOLOR_NONE case
2023-06-27 00:07:40 +01:00
toaster
5036719280 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into seeecret-colors
# Conflicts:
#	src/k_menudraw.c
2023-06-26 23:25:47 +01:00
toaster
c9817b957a New unlockable type for watching the Credits from start to finish
Also makes gamedata save/load a little more forward compatible longterm by making a UINT32 bitfield for various once-event flags, with increased minor version
2023-06-26 22:32:47 +01:00
toaster
defd885092 GP Backup tidy (connected to ending gamestate)
- Handle removing GP Backups when any game end sequence is started, not just the Podium (in case no Podium exists)
- Guarantee removal in M_StartCup out-of-entries failure state
2023-06-26 20:54:43 +01:00
toaster
d17399bcce Revert "Quicker, almost instantaneous Sealed Star conclusion after death"
This reverts commit 32eead29e5.
2023-06-26 20:23:29 +01:00