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
Remove cyborg antagonist roles on death #17215
Conversation
* Roles persist after the death of a cyborg - good for the crew credits. * Roles are removed if the new body is not emagged/syndicate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If only it was that simple, this will lead to any syndie/emagged borg resurrected as a human through cloning or SR being classed as an antagonist. Roles being removed on death isn't really an issue for crew credits since they should use the historic antagonist list anyway (not sure why they don't)
I think the ideal handling of this is that emagged and syndie antag statuses should always be removed on death and re-added on assembly, since the antagonist status is inherently tied to the frame itself.
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're going to need to explain beyond "No." and "It is.", you haven't actually answered the review.
So, I... removing the antag status of cyborgs when they are destroyed/brain pulled... In theory... an emagged cyborg should have their antag status removed - because So, the next best thing is: remove the antag status when they are put back into a body. That works - but... some people prefer antag removal on death. Ok, let's try that again:
Of course, it is bad if the antagonist role is not removed - as they do not get the "equipment" a second time.
And if they are then emagged again, we have the following situation:
Which is the worst thing that can happen. Also see #17170. Cloning is not an issue - the antag role is set to be removed on cloning. (Which I hope works better than I am sorry for my last response - you did not deserve this. |
I've managed to replicate and fix the syndicate cyborg brain removal issue, it's now handled the same as emag status (which yes may have bugs but at least it doesn't just delete itself on brain removal now) I can't replicate any of the emagged bugs locally, the antag status has been removed and re-added fine every way I can test. This likely means either there's a major replication step left out of all the bug reports or it's somehow a race condition causing procs to be called in the wrong order due to server lag. The paranoia Also apology accepted, code can be frustrating :) |
…nto antagcyborgs # Conflicts: # code/mob/living/silicon/robot.dm # code/modules/antagonists/syndicate_cyborg/syndicate_cyborg.dm
Yes, I have seen b56dfdc.
It is a very common thing, at least on RP.
I think this is a good compromise. I will update this PR to do that and synchronize the Thank you for accepting my apology. |
Giving out the equipment again should link to the right rack in (hopefully) all cases.
Heureka! I found it! Reproducer:
This will remove the head, call In that cases the antag status is not lost. Now I just need to fix THAT. |
[silicons] [bug]
Fixes #17170, ##16113, #13569
About the PR
Cyborg antagonist roles (emagged/syndicate cyborg) are now (hopefully) reliably removed from cyborg antagonists.
Why's this needed?
Currently the roles are not removed if the head part is removed.
This leads to a bunch of bugs.
Changelog