otta8634 [Sun, 2 Mar 2025 07:38:28 +0000 (15:38 +0800)]
Add an InstaHook ruleset
Many InstaGib servers also play with offhand hook enabled, often with extra changes made to the hook since by default it travels quite slowly in comparison to the fast-paced InstaGib gameplay.
Added ruleset and associated balance config files for InstaHook.
Custom hook balance settings were based on TheRegulars Instagib Server.
otta8634 [Wed, 12 Mar 2025 08:05:43 +0000 (16:05 +0800)]
Allow displaying the winning map/gametype on the voting hud
Also renamed g_maplist_votable_nodetail to g_maplist_votable_detail, and added sv_vote_gametype_detail.
When 1, the hud displays the "(2 votes)" text in light blue for all maps in the tied winning place, provided they've received at least one vote.
When 2, the hud displays only which map will win the tie break (randomly chosen by the server) in light blue.
This can help prevent annoying situations where for example 4 players vote for different maps and 1 player votes for a map that the 4 players all don't like, previously there'd be a 20% chance it'd be selected despite the 4 players all disliking it -- now the players will know if it'll be picked or not, if this cvar is set to 2.
This does however remove most of the randomness from the voting, so this is disabled by default (cvars both 1).
Also cleaned up associated code.
otta8634 [Mon, 10 Mar 2025 12:43:14 +0000 (20:43 +0800)]
Improve mapvoting keeptwo
Renamed the cvars from *_keeptwotime to *_reduce_time.
Allowed keeping more than just two maps, by setting *_reduce_count (new cvar).
If reduce_count is < 2, it will keep every map that received at least one vote, provided there's at least 2 of them.
Improved cvar descriptions.
Cleaned up associated code somewhat.
Improved associated code documentation.
otta8634 [Sun, 9 Mar 2025 11:04:15 +0000 (19:04 +0800)]
Allow all non?carrier -> non?carrier/self ka/tka dmg/force combos
Implemented this similar to as described here https://gitlab.com/xonotic/xonotic-data.pk3dir/-/merge_requests/1431#note_2317419396, using a damage vector and force vector.
Currently the carrier -> carrier isn't very useful in ka/tka since there's only one ball, but this approach is consistent, and more balls may be allowed in future.
Consequently fixed up the comments.
otta8634 [Sat, 1 Mar 2025 13:35:01 +0000 (21:35 +0800)]
Add some documentation to default balance config files
Explained how non-default ones work in conjunction with the default balance files.
Provided some examples to make it easier to understand.
Updated the dumpweapons command so it adds the documentation comments to the top of the file.
otta8634 [Sat, 1 Mar 2025 13:22:16 +0000 (21:22 +0800)]
Remove g_ft_start_armor from some balance configs
This was most likely mistakenly left behind after someone changed the setting in balance-xonotic.cfg, but forgot to change the setting in all other balance-*.cfg files.
otta8634 [Sat, 1 Mar 2025 11:09:08 +0000 (19:09 +0800)]
Update check-cvars.sh to only disallow changing extra settings in custom balance files
Now custom balance files like balance-overkill.cfg don't have to change every single cvar balance-xonotic.cfg does, so that the same defaults don't need to repeated for every single balance file.
The only requirement now is that balance-overkill.cfg can't set any cvars which aren't also set in balance-xonotic.cfg.
Additionally balance files can't set cvars with the wrong prefix (like cl_ or r_), and likewise hud files can't set cvars with prefixes other than hud_ or _hud_.
This doesn't apply to the hud cfg files, since they're compared against _hud_descriptions.cfg, which doesn't set defaults, so they must do it themselves.
Changes weren't made to the cfg files in question yet.
bones_was_here [Thu, 27 Feb 2025 16:50:57 +0000 (02:50 +1000)]
ka, tka: refactor/fix ball carrier time scoring
ka: runs the ball carried think func every frame to facilitate other
features, which also allows the code to be simplified somewhat and makes
cvar g_keepaway_score_timeinterval redundant. See subsequent commits.
tka: as above, also implements fractional timepoints accumulation,
making g_tka_score_timepoints behaviour consistent with
g_keepaway_score_timepoints.
bones_was_here [Mon, 24 Feb 2025 17:01:42 +0000 (03:01 +1000)]
items: clean up pickup respawntime cvars
- uses autocvars instead of copying in worldspawn
- removes unnecessary funcs
- moves declarations from pickup.qh to specific files
- removes now-redundant macros from misc.qh
otta8634 [Sun, 9 Mar 2025 08:36:40 +0000 (16:36 +0800)]
Improve ka/tka/kh bot key/ball chasing logic
Made them only chase a key/ball they can see.
- First check if a waypoint exists and is visible.
- If not, use checkpvs.
Made the tka bots "chase" their own ball, so they can protect their team's ball carrier.
- Uses a lower rating scale (half) than chasing a ball the other team has.
otta8634 [Sun, 9 Mar 2025 08:27:00 +0000 (16:27 +0800)]
Improve when waypoints are shown in ka/tka/kh/ctf
Hid the waypoint from enemies when the player is "invisible."
Defined IS_INVISIBLE as alpha <= 0.25, has Invisibility powerup, or Cloaked mutator enabled, in qcsrc/server/utils.qh.
Showed waypoints in warmup in ka/tka/kh, and to spectators (unless they're spectating a key/ball carrier, so the waypoint isn't constantly shown at the top of the screen).
Allowed g_balance_keyhunt_delay_tracking to be negative, so that the tracking waypoints never appear.
Added cvars g_keepawayball_tracking and g_tkaball_tracking to customize when waypoints show in ka/tka.
- 0 means they never show.
- 1 means they always show.
- 2 means they show only on the dropped ball.
terencehill [Sun, 26 Jan 2025 03:12:57 +0000 (04:12 +0100)]
Make sure team is consistently set to -1 on connection for human players and bots
Thanks to this change
* the Player_ChangeTeam and Player_ChangedTeam mutator hooks (currently unused by any
mutator / gamemode) are consistently no longer called on connection
* the workaround in Player_SetTeamIndex that handles the situation where a bot unintentionally spawns
with a valid team set depending on its personal colors is no longer needed
otta8634 [Tue, 25 Feb 2025 16:37:17 +0000 (00:37 +0800)]
Relocate guide descriptions for nades & buffs into their QC files
They were previously in their .qh files, which is inconsistent with mostly everything else in the guide.
Putting them in the .qc file can prevent circular includes, so the guide entries can reference each other.
otta8634 [Tue, 25 Feb 2025 15:50:46 +0000 (23:50 +0800)]
Make website links in the guide not translatable
Website links shouldn't be translatable, and removing them from the transifex string has the benefit that if the link ever needs to be updated, we won't need every single transifex string to be changed.
Also improved the XonStat guide section a bit, adding the stats.xonotic.org link, and some extra information.
otta8634 [Fri, 21 Feb 2025 16:44:39 +0000 (00:44 +0800)]
Make all nades do a regular explosion when they are destroyed
Previously nades would do nothing when they were destroyed (e.g. falling into lava, falling into void), except normal, napalm, and monster nade would explode (or only normal after cc7e64b6).
This commit makes them all do a normal nade explosion in such case.
This is better than doing nothing (nade would mysteriously disappear), or keeping the current sound & explosion effects (they would display, but the nade wouldn't actually do anything).
otta8634 [Fri, 21 Feb 2025 16:38:15 +0000 (00:38 +0800)]
Remove nade blasts from all nades except normal nade
If a nade can do what normal nade does but something extra, nobody would ever pick normal nade, and it's not well balanced.
Also deleted g_nades_napalm_blast, since that only existed for the purpose of allowing the blast to be disabled for it.
otta8634 [Sun, 16 Feb 2025 09:30:28 +0000 (17:30 +0800)]
Disallow stealing the nb ball while dead
Previously the ball could be stolen if the Ball Stealer secondary shot landed after the player who fired it was fragged.
Now if it lands it'll still do knockback, but just not steal the ball.
otta8634 [Sat, 15 Feb 2025 20:04:12 +0000 (04:04 +0800)]
Create and use neutral domination icons
Previously the blue team highlighted hud icon and the neutral team highlighted hud icon looked identical in domination.
Added icons so they can be differentiated.
Sources
- luma: there was already a file for this in mediasource, which just wasn't used in the game for some reason.
- luminos: edited the TGA, since there was no source in mediasource.
- old: edited the TGA, since there was no source in mediasource.