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

Wait Period rewrite + Black Mesa Chapter 1-3 EDT improvements #168

Merged
merged 27 commits into from
Nov 13, 2024

Conversation

ampreeT
Copy link
Owner

@ampreeT ampreeT commented Oct 30, 2024

Code Changelog:

  • Fixed HEV hands pickup animation only playing for a single player once
  • Fixed waiting period bug with delayed output triggers not being detected
  • Fixed waiting for players prematurely starting before players are connected
  • Waiting for players timer will always wait the full period on first map load
  • Waiting for players timer will skip to 3 seconds when the player count matches the player count of the last map
  • Waiting for players timer will be skipped if there is only one player from the previous map
  • Waiting for players timer will now reset when the last spawned player disconnects and the map has not started yet

Map Changelog:

  • bm_c1a0a
    • Added HEV checkpoint
    • Adjusted two checkpoints to bring all players
    • Adjusted checkpoint positions and angles
    • Fixed potential softlock for checkpoints on entities LCS_AM_Airlock_trigger and door_02_btm
  • bm_c1a0b
    • Adjusted two checkpoints to bring all players
    • Adjusted checkpoint positions and angles
    • Fixed potential softlock for checkpoint on entity lab2_door4
  • bm_c1a1a
    • Added checkpoint to Eli/Kliener scripted sequence
    • Fixed players spawning in with incorrect health if they transitioned from the last map and suicides after the initial game start cutscene plays
    • Fixed CPR scripted sequence ending prematurely when a player progressed ahead in the map
  • bm_c1a1b
    • Fixed health being set to 95 on game start
    • Deleted trigger that could retrigger the scripted sequence of the guard shooting at the zombie
    • Added changelevel block to the end of the level
  • bm_c1a1c
    • Added checkpoint in the room with the rescued scientist
    • Adjusted checkpoint positions and angles
    • Added weapon_glock to player equipment
  • bm_c1a1d
    • Fixed lift headcrabs spawning before the lift sequence if the power was turned on and a player fell
    • Added checkpoint after the lift sequence
    • Adjusted checkpoint positions and angles
    • Changed player equipment loadout
    • Removed stuck headcrab at the end of the level
  • bm_c1a1e
    • Adjusted the top stairs shortcut door to be always open
    • Stopped storage doors from closing when going up the ladder before the crate jump puzzle sequence
    • Stopped storage doors from closing when triggering the houndeye spawns near the elevator
    • Added two checkpoints
    • Added two checkpoint portals
    • Adjusted checkpoint positions and angles
    • Changed player equipment loadout

@ampreeT ampreeT requested a review from Alienmario October 30, 2024 23:26
Copy link
Collaborator

@Alienmario Alienmario left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting for players timer will always wait the full period on first map load or if the map change was over 5 minutes ago

I'd rather a consistent behavior. What issue does this solve when premature starting has been fixed?

Waiting for players timer will now reset when the last spawned player disconnects and the map has not started yet

What issue does this solve?

Bringalls

I tend to prefer portals over bringall. One, it does not disrupt players as much, people can (mostly) progress at their own pace (sucks when 1 guy is speedrunning). Second, some play this as their first BM or even HL experience. So I only used them for big map events.

I have not tested this in-game yet, will do that next.

edt/bms/bm_c1a0a.edt Show resolved Hide resolved
edt/bms/bm_c1a0a.edt Outdated Show resolved Hide resolved
edt/bms/bm_c1a0b.edt Outdated Show resolved Hide resolved
edt/bms/bm_c1a0b.edt Outdated Show resolved Hide resolved
edt/bms/bm_c1a1b.edt Outdated Show resolved Hide resolved
scripting/include/srccoop/manager.inc Outdated Show resolved Hide resolved
scripting/include/srccoop/manager.inc Outdated Show resolved Hide resolved
scripting/include/srccoop/manager.inc Outdated Show resolved Hide resolved
scripting/include/srccoop/manager.inc Outdated Show resolved Hide resolved
edt/bms/bm_c1a1e.edt Outdated Show resolved Hide resolved
@ampreeT
Copy link
Owner Author

ampreeT commented Nov 3, 2024

Waiting for players timer will always wait the full period on first map load or if the map change was over 5 minutes ago

I'd rather a consistent behavior. What issue does this solve when premature starting has been fixed?

The issue that this solves when premature starting has been fixed is a quality of life change. If a player joins, crashes mid-connection and never rejoins, I would assume a new batch of people are going to join together down the road and we would want to wait longer than the wait period of 3 seconds for everyone to connect. We'll always have to wait the full period on first map load regardless since we do not store player count on last server launch.

Waiting for players timer will now reset when the last spawned player disconnects and the map has not started yet

What issue does this solve?

This solves a issue with the timer still counting down regardless whether if the last connected spawned player spawns in, disconnects and never rejoins. I was thinking we'd want the timer to reset and wait if there are no connected players.

Bringalls

I tend to prefer portals over bringall. One, it does not disrupt players as much, people can (mostly) progress at their own pace (sucks when 1 guy is speedrunning). Second, some play this as their first BM or even HL experience. So I only used them for big map events.

For sure I agree with this. I've only tried to include bringalls in spots that have disruptions in visuals or scripting. For example in bm_c1a0a, the active fog controller will change if players stay behind with the train while others progress. Also, the HEV pickup will spawn NPCs and start new scripted sequences.

@Alienmario
Copy link
Collaborator

Alienmario commented Nov 8, 2024

Waiting for players timer will always wait the full period on first map load or if the map change was over 5 minutes ago

I'd rather a consistent behavior. What issue does this solve when premature starting has been fixed?

The issue that this solves when premature starting has been fixed is a quality of life change. If a player joins, crashes mid-connection and never rejoins, I would assume a new batch of people are going to join together down the road and we would want to wait longer than the wait period of 3 seconds for everyone to connect. We'll always have to wait the full period on first map load regardless since we do not store player count on last server launch.

I'd still rather let players control for this themselves. If they are together, they'll wait for each other (which may take longer than our timer anyway). If it's a random, we're just making them wait for nothing. Restart map is also a thing - in which case the timer should fulfil its primary purpose - load time balancing.
I just wouldn't expect to see the timer if I'm the only one on the server.
But if you insist, at least make this configurable.

Waiting for players timer will now reset when the last spawned player disconnects and the map has not started yet

What issue does this solve?

This solves a issue with the timer still counting down regardless whether if the last connected spawned player spawns in, disconnects and never rejoins. I was thinking we'd want the timer to reset and wait if there are no connected players.

That's fine.

One last thing, there's an extra second after timer reaches 0. I would expect it to start a second after "1".

@ampreeT ampreeT merged commit 9a377be into master Nov 13, 2024
2 checks passed
@ampreeT ampreeT deleted the wait-period-fix branch November 13, 2024 02:14
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.

2 participants