Skip to content

Deathmatch gamemode#694

Merged
nullsystem merged 1 commit into
NeotokyoRebuild:masterfrom
nullsystem:GH-691_DeathmatchMode
Oct 16, 2024
Merged

Deathmatch gamemode#694
nullsystem merged 1 commit into
NeotokyoRebuild:masterfrom
nullsystem:GH-691_DeathmatchMode

Conversation

@nullsystem

@nullsystem nullsystem commented Oct 12, 2024

Copy link
Copy Markdown
Collaborator

Description

  • TODO: Weapon restriction? (Separate PR)
  • Deathmatch spawning
    • Use info_player_deathmatch entity if possible
    • Otherwise can just use the separate file (dmspawn)
    • Vector of spawns checked if it been filled at the current fill, spawned in starting from a given random int to the next available spawn
  • Deathmatch gameplay
    • Either to maximum XP or time runs out
    • If tying at max XP or post time out, it'll end when there's a single highest XP winner
  • UI
    • HUD round state adjusted for DM
    • Scoreboard adjusted for DM, no Jinrai/NSF coloring
  • ConVars
    • neo_sv_dmspawn_useent - Default 0, override to use map's deathmatch spawn entity over the dmspawn loc file
    • neo_sv_dm_max_class_dur - Default 5s, maximum duration you're allowed to pick a class post-spawning in
    • neo_dm_round_timelimit - Timelimit for deathmatch
    • neo_sv_dm_win_xp - Default 50, if 0 disable XP win limit
  • ConCommands - Here's the commands to edit dmspawn loc files and check on it. Used only for local server.
    • neo_sv_dmspawn_create - Create a dmspawn spawn
    • neo_sv_dmspawn_removeall - Remove all dmspawn spawns
    • neo_sv_dmspawn_printlocs - Print all coordinates of the dmspawn spawns
    • neo_sv_dmspawn_save - Save the map's loc dmspawn file
    • neo_sv_dmspawn_load - Load the map's loc dmspawn file
    • neo_sv_dmspawn_teleportnext - Teleport to the next dmspawn spawn
    • neo_sv_dmspawn_mapinfo - Check amount of dmspawn spawns and if it can DM

Toolchain

  • Linux GCC Distro Native Arch/GCC 14

Linked Issues

@nullsystem
nullsystem force-pushed the GH-691_DeathmatchMode branch 8 times, most recently from cb95a65 to 7699286 Compare October 15, 2024 20:53
@nullsystem nullsystem changed the title [WIP] Deathmatch gamemode Deathmatch gamemode Oct 15, 2024
@nullsystem
nullsystem marked this pull request as ready for review October 15, 2024 20:53
@nullsystem
nullsystem requested a review from a team October 15, 2024 21:34
Comment thread mp/src/game/server/neo/neo_player.cpp Outdated
@nullsystem
nullsystem marked this pull request as draft October 15, 2024 22:50
@nullsystem
nullsystem force-pushed the GH-691_DeathmatchMode branch 2 times, most recently from 257117d to a7bd7e7 Compare October 16, 2024 00:06
@nullsystem
nullsystem marked this pull request as ready for review October 16, 2024 00:11
@nullsystem
nullsystem requested a review from brysondev October 16, 2024 00:11
brysondev
brysondev previously approved these changes Oct 16, 2024
@AdamTadeusz

Copy link
Copy Markdown
Contributor

Would it be worth giving players a few seconds of invulnerability after spawning?

@brysondev

brysondev commented Oct 16, 2024

Copy link
Copy Markdown
Contributor

Would it be worth giving players a few seconds of invulnerability after spawning?

https://github.com/NeotokyoRebuild/neo/pull/694/files#diff-c4ea17be8fcce45e76e46a0f050cbdc12308a47653133f08ee36d7fbdf9e181dR1667

He is, but it's only until they fire or the timer expires. Or do you mean it's not worth giving invuln?

@AdamTadeusz

Copy link
Copy Markdown
Contributor

Would it be worth giving players a few seconds of invulnerability after spawning?

https://github.com/NeotokyoRebuild/neo/pull/694/files#diff-c4ea17be8fcce45e76e46a0f050cbdc12308a47653133f08ee36d7fbdf9e181dR1667

He is, but it's only until they fire or the timer expires. Or do you mean it's not worth giving invuln?

my bad, bots start shooting instantly by default so i didnt notice

@AdamTadeusz

Copy link
Copy Markdown
Contributor

I do think it would be worth if the spawns saved the player's look direction though. If you're placing a spawn in a corner you probably don't want the player on spawn to face into a wall

@AdamTadeusz

AdamTadeusz commented Oct 16, 2024

Copy link
Copy Markdown
Contributor

@nullsystem do you have an example map with player_info_deathmatch entities to test whether spawning on those works too?

[Edit] nvm works on dm_lockdown

@nullsystem

Copy link
Copy Markdown
Collaborator Author

@nullsystem do you have an example map with player_info_deathmatch entities to test whether spawning on those works too?

[Edit] nvm works on dm_lockdown

I do plan on releasing zigzag with dm entity spawn soon anyway and probably a dmspawn file for oilstain, both for playtesting this normally

@AdamTadeusz

Copy link
Copy Markdown
Contributor
Nagrywanie.ekranu.2024-10-16.131655.mp4

Shame we decoupled both aux and sprint from these, maybe the energy packs could refill your thermoptic cloak

AdamTadeusz
AdamTadeusz previously approved these changes Oct 16, 2024
* Use info_player_deathmatch entity if possible
* Otherwise can just use the separate file
* also add some info command to tell if the map can dm or not
* fixes NeotokyoRebuild#691
@nullsystem
nullsystem dismissed stale reviews from AdamTadeusz and brysondev via e397fbe October 16, 2024 18:19
@nullsystem
nullsystem force-pushed the GH-691_DeathmatchMode branch from a7bd7e7 to e397fbe Compare October 16, 2024 18:19
@nullsystem

Copy link
Copy Markdown
Collaborator Author

@AdamTadeusz @brysondev I've added in y-look-angle for each DMSpawn spawn now

@nullsystem
nullsystem merged commit 132dd85 into NeotokyoRebuild:master Oct 16, 2024
@nullsystem nullsystem added this to the v9.1-prealpha milestone Oct 16, 2024
@nullsystem
nullsystem deleted the GH-691_DeathmatchMode branch May 7, 2025 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Deathmatch

3 participants