Commit graph

1556 commits

Author SHA1 Message Date
James R
427ab44471 Add setspheres command 2023-06-29 21:01:13 -07:00
toaster
1ec5b74892 Implement SECRET_MEMETAUNTS
Permits "Meme" player taunt voice and "Meme" follower horn options
2023-06-28 19:31:40 +01:00
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
4344221252 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into seeecret-colors 2023-06-28 12:48:50 +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
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
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
James R
7130435667 Let give command give power-ups, amount = power-up duration in tics 2023-06-27 02:08:07 -07:00
AJ Martinez
c71bb7092e Merge remote-tracking branch 'origin/master' into ringbox 2023-06-26 19:19:21 -07:00
AJ Martinez
0a6bac0dcc Ringbox: HUD, transform time define, ring-box-only, scaling rewards 2023-06-26 17:36:41 -07: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
45f8f1c89f Remove a bunch of unused emerald stuff inherited from SRB2
All superseded by M_CheckCupEmeralds + GTR_POWERSTONES stuff
2023-06-25 23:49:20 +01:00
toaster
3e6a5fda21 Change the rules of when GP Backup occours/is deleted
- Re-saved every time you lose a life, to prevent scumming
- Force-deletion of your backup has changed
    - Don't when saying NO to the GP Backup load prompt
    - Don't when returning to titlescreen under non-DEVELOP
    - DO when starting a new Grand Prix session of any cup
2023-06-25 23:44:38 +01:00
toaster
12ff436877 Make a first-class feature instead of a passworded secret
- Now called "Grand Prix Backup"
- Filename is now `gpringsav.bkp`
- Since available in standard contexts, do a little extra guarding against unsporting behaviour:
    - In non-DEVELOP builds, delete Grand Prix Backup when returning to the titlescreen/menus.
- "undo your extra work and make it more generic" - Tyron
2023-06-25 23:44:37 +01:00
Sally Coolatta
7842032eee Split ringbox stuff from itembox stuff 2023-06-16 05:55:33 -04:00
toaster
f72bd7ff32 Make name of the item "Eggmark"
Cvar was previously "eggmanmonitor" inherited from a completely different implementation of the item
Menu was previously "Eggman Mark", which was good inspiration but too unwieldy
Has been blended together per Gardentop and VC discussion
2023-06-15 21:10:06 +01:00
AJ Martinez
41540ed9e5 WIP: Ring Box 2023-06-14 23:32:31 -07:00
toaster
6c6306889a M_StartMessage revamp
Immense 25-file diff, so spun off into its own branch.
- Improved appearance
    - Not just a big block of text on a blue background
    - Well, OK, the main part is, but some stuff has been spun out into its own fields
        - Title text
        - Text and button prompt for Yes/No or OK
    - Slides with pow on and off the screen
- Disabled MM_EVENTHANDLER, which has always been dog but got considerably worse after newmenus to the point nothing's using it anymore
    - Required in order to reduce the reliance on FUNCPTRCAST, which prevents Eidolon from compiling some stuff because it's not valid C++
2023-06-09 19:23:36 +01:00
AJ Martinez
bf901f0166 Add DEVELOP cvar "botcontrol" to disable bot actions 2023-05-29 23:49:08 -07:00
Sally Coolatta
724beb0ffe Bots: Improve rubberbanding further
- Use easing functions for the rubberbanding values themselves, for more fine-control over the end-points and the curves.
- Fixed K_UpdateRubberband being broken from using shift instead of divide.
- Rename `debugbotpredict` to `debugbots`, it now displays some of the bots' botvars values as well. If the player isn't a bot, it will show them from the first place bot (for inspecting the rubberband value).
- Bot turning buff was increased, from x1.25 to x2.0. Noticed that Tails bots were failing turns on Popcorn Workshop. I personally think that Tails bots shouldn't be failing very many turns unless if they're finding objects, and constant wall-bumping should be reserved for Eggman and Metal :P
2023-05-19 01:00:55 -04:00
toaster
b95c537cdf Got_Mapcmd: Handle the case where netcommunicated roundqueue data with a size less than the client's would be silently ignored. 2023-05-15 17:55:43 +01:00
toaster
de22fc8ff1 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into profile-restrictions
# Conflicts:
#	src/hu_stuff.c
#	src/y_inter.c
2023-05-12 13:42:50 +01:00
toaster
9aeebe44e9 queuemap: Add "-clear" parameter
- Can be used to clear all entries in the round queue
- Stores the special state in the gametype field
- Returns a message if the queue is already empty
2023-05-03 23:46:09 +01:00
toaster
80ed8b81b9 Command_Map_f, Command_QueueMap_f: Prevent memory leak on cheat-limited early-return 2023-05-03 23:23:45 +01:00
toaster
b72bc73d28 Two new command automation events
- "QueueStart"
    - Activates just before RoundStart, but only if a roundqueue is being started
- "QueueEnd"
    - Activates just before IntermissionStart, but only if the roundqueue has just finished its final map
I chose before in both instances because Automate_Run runs off COM_BufAddText, and I don't completely trust that the buffer won't overflow for particularly complicated server commands, so prioritising the rarer event. However, this is open for discussion
2023-05-03 22:08:13 +01:00
toaster
d09cfe6704 antigrief_cons_t: Increase maximum for parity with the previous entry in the series 2023-05-01 16:57:35 +01:00
toaster
ab68be49e1 cv_antigrief
- Increments a timer on human players who aren't making progress, does it even faster if they're going backwards.
    - Only applies in:
        - Netgames
        - GTR_CIRCUIT after the timer starts
        - If there's no timelimit, pointlimit, or K_Cooperative (because unproductive behaviour there will be punished by other rules)
    - The rate at which this changes needs trial and error, but getting the feature functional is more important to start out with.
- If this timer reaches cv_antigrief's value in seconds , the player gets a "Grief Strike"
    - This doesn't happen if:
        - There's only one active player in the server, so FREE PLAY permits mappers to test what increments/decrements the counter
            - Turn `debugwaypoints` on to observe this
        - The cvar is set to 0
    - Less than 3 grief strikes is a forced spectate
    - Anything more is a kick via "automatic grief detection"
        - Unless your node is the host (or an admin)
    - Remove grief strike strike for finishing normally

# Conflicts:
#	src/d_clisrv.h
2023-05-01 16:57:35 +01:00
toaster
15b0141700 Spectator re-entry timer
- On becoming a spectator in a netgame, there is a delay before you can de-spectate.
    - 30 seconds by default.
        - This can be changed using the cvar `spectatorreentry`.
    - ...unless there's only two people left including you, in which case it's three minutes!!
        - This can be changed using the cvar `duelspectatorreentry`.
        - If spectatorreentry is set to greater than duelspectatorrentry, the former is used instead.
    - This timer is wiped on mapload and intermission, so NEW CHALLENGER APPROACHING !! and level changes in general allow people in.
- General purpose cleanup of K_CheckSpectateStatus
2023-05-01 16:57:34 +01:00
toaster
d50e3a1895 Got_Teamchange: Do not repeatedly declare a player has become a spectator if they already were 2023-05-01 16:57:34 +01:00
AJ Martinez
167f5f40ed PT_SAY and gamestochat: the rest of the owl 2023-04-29 20:16:20 -07:00
AJ Martinez
07eb7dea19 Revert "WIP: XD_REQSAY"
This reverts commit 00e25ee593.
2023-04-28 17:14:32 -07:00
AJ Martinez
00e25ee593 WIP: XD_REQSAY 2023-04-28 02:10:50 -07:00
toaster
a03c31f59a SendNameAndColor: Some cleanup
- Default to "Default", not "Match", when sendFollowerColor is unusable
- Do not use invalid index into `followers[]` when adjusting sendFollowerColor
2023-04-25 14:53:25 +01:00
Sally Coolatta
c486ec19af SECRET_COLOR 2023-04-25 14:19:52 +01:00
James R
94e3a6450b Add respawnat command, lightsnake to a specific waypoint 2023-04-24 15:04:14 -07:00
Sally Coolatta
996ca9adad Z Voting 2023-04-20 15:55:38 -04:00
toaster
9c17ea0d28 Got_MapQueuecmd: Fix message handling
- Used Admin status of sender rather than local player to obstruct or hide
- Servers are not admins, they just sidestep many authoriative checks
- Server returned early before any chance of printing
- Slightly cleaner message
2023-04-18 12:32:58 +01:00
toaster
9b0c82d5dc Got_MapQueuecmd: Add a success message for adding a map to the round queue (visible only to admins) 2023-04-17 20:16:30 +01:00
toaster
2d46112c58 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into round-queue
# Conflicts:
#	src/d_netcmd.h
2023-04-17 20:08:37 +01: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
AJ Martinez
b3e7eed018 Merge remote-tracking branch 'origin/master' into serverside-pwr 2023-04-14 20:05:25 -07:00
AJ Martinez
f3d062e4e1 Use non-DEVELOP admin promotion in (HOST)TESTERS 2023-04-13 16:19:35 -07:00
toaster
d61d822231 Compilation fixes: Unused variable warnings 2023-04-11 20:02:39 +01:00
AJ Martinez
c7c9f145ca Really get rid of XD_POWERLEVEL 2023-04-11 19:38:02 +01:00
AJ Martinez
3012839138 Serverside PWR: Completely rip out profile PWR, add PWR to XD_ADDPLAYER 2023-04-11 19:38:02 +01:00
AJ Martinez
134a5ef9c0 WIP 2023-04-11 19:38:01 +01:00
toaster
f1ca263c40 Promote gametypes in XD_MAP, XD_MAPQUEUE and XD_REQMAPQUEUE to UINT16
Since new-voting repermitted custom gametypes to go beyond the bounds of a UINT8, here's some extra anti-footgun protection.
2023-04-11 17:18:30 +01:00