Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deathmatch gamemode #694

Merged
merged 1 commit into from
Oct 16, 2024

Conversation

nullsystem
Copy link
Collaborator

@nullsystem nullsystem commented Oct 12, 2024

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
@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
Contributor

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

@brysondev
Copy link
Contributor

brysondev commented Oct 16, 2024

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
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
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
Copy link
Contributor

AdamTadeusz commented Oct 16, 2024

@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
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
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
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
7 checks passed
@nullsystem nullsystem added this to the v9.1-prealpha milestone Oct 16, 2024
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