]> git.smokeofanarchy.ru Git - space-station-14.git/commit
Fix some rounds failing to end due to mind roles (#32792)
authorPieter-Jan Briers <pieterjan.briers+git@gmail.com>
Sun, 13 Oct 2024 20:55:15 +0000 (22:55 +0200)
committerGitHub <noreply@github.com>
Sun, 13 Oct 2024 20:55:15 +0000 (22:55 +0200)
commitc7b0d5a27cb40298e99ea08cdf77092575ef102b
tree1885ae9101b74689c4aba930869afd078507dc7b
parent56ba3fdf09c7ff2f09509795e194c38da009e07c
Fix some rounds failing to end due to mind roles (#32792)

* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
Content.Server/GameTicking/GameTicker.RoundFlow.cs
Resources/Prototypes/Roles/MindRoles/mind_roles.yml