If Oxygen sabo kill and Meeting starts occur at the same time, they are wiped out
yukieiji opened this issue · 6 comments
Describe the bug
If Oxygen sabo kill and Meeting starts occur at the same time, they are wiped out.
To Reproduce
Steps to reproduce the behavior:
- Starts to 'Oxygen sabo'
- Take 'Oxygen mask'
- Stats meeting
- wiped out
Expected behavior
It resets correctly at the start of the meeting and no one dies.
Screenshots
Version (please complete the following information):
- Among Us: [e.g. 2022.3.29s] 2023.7.12s
- Submerged: [e.g. 2022.4.9s] 2023.7.24
Log file
Please attach the log file located in BepInEx/LogOutput.log
If you have restarted your game since you last encountered the issue, please try to reproduce the issue again and then upload the log.
ExtremeRolesDumpedLog 2023-07-29T22-52-51.log
Additional context
I think that this issues occurs when the following processes are performed.
- 'doKillCheck' is set to 'true'
- reset process of meeting start
- processing of the order of kill processing
So, if setting 'doKillCheck' to false in the meeting reset process, this problem will be cured.
I cannot reproduce this issue - When a meeting is called the sabotage is ended correctly
By calling a meeting, ShipStatus.RepairGameOverSystems
is invoked which calls SubmarineOxygenSystem.RepairDamage
with an amount
of 16
, causing it to end correctly by setting the countdown
to 10000
.
This might be a compatibility issue between Submerged and the other mods you have installed
Sure, there is another mod installed, but I haven't applied any patches to this part of the system...
This is the streaming when this bug occurred.
https://www.youtube.com/watch?v=4X7iO7ksh5Y&t=8280
Just after the meeting occurs, the game is over and the result screen is shown.
Result screen shows total wipeout due to Oxygen sabo(Even though some players had acquired masks).
By calling a meeting, ShipStatus.RepairGameOverSystems is invoked which calls SubmarineOxygenSystem.RepairDamage with an amount of 16, causing it to end correctly by setting the countdown to 100000.
I think that if a meeting occurs while doKillCheck
is true, the meeting will occur without resetting it and the state where the mask was acquired will also disappear, so it will be wiped out.
Damn that was a nice issue to spot. I'm pretty sure I've fixed it. Thanks for reporting it, the fix will be included in the next update.