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

"won" attribute set inconsistently with "score" attribute for defuser planted in last second edge case #86

Open
CodingPenguin1 opened this issue Feb 28, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@CodingPenguin1
Copy link

CodingPenguin1 commented Feb 28, 2024

Describe the bug
Team can be marked as having won a round even though the lost it. Score is updated correctly.

To Reproduce
I believe this issue is caused when the defuser is finished being planted after the action phase ends. In the case I found, there was a 1v1 in the last seconds of the round. The attacker planted the defuser, starting before the round ended, and finishing after the round would have ended. This, of course, adds 45s to the timer for the defender to stop the defuser. In this case, that happened. The defender killed the attacker and stopped the defuser. The following was output to the JSON after running r6-dissect

"teams": [
    {
        "name": "Kenough Uni",
        "score": 6,
        "won": false,
        "role": "Defense"
    },
    {
        "name": "UC Acad",
        "score": 0,
        "won": true,
        "winCondition": "DefusedBomb",
        "role": "Attack"
    }

Expected behavior
The "won" value should be flipped for each team. "Kenough Uni" should have true for "won" and "UC Acad" false.

@redraskal redraskal added the bug Something isn't working label Feb 28, 2024
@redraskal
Copy link
Owner

redraskal commented Mar 3, 2024

will look at this soon

@redraskal
Copy link
Owner

the defuser disable event was likely not recorded, so the win condition defaults to a defuse.

@redraskal
Copy link
Owner

can you send the replay to ben@ctos.sh @CodingPenguin1?

my guess is the match timer was not at 0.00, so the disable event was ignored

@CodingPenguin1
Copy link
Author

@redraskal sent

@redraskal
Copy link
Owner

redraskal commented Mar 5, 2024

@CodingPenguin1 the disable timer did not reach 0 when stopped (ended on 0.022). r6-dissect should probably rely on an actual defuser state as opposed to the timer.

this requires more research, not sure when i'll have a solution

@CodingPenguin1
Copy link
Author

No worries, glad to have found an edge case for you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants