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

Fixes ai shell deployment not unregistering a death signal properly #162

Merged
merged 1 commit into from
Oct 20, 2023

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Skyrat: Skyrat-SS13/Skyrat-tg#24444
Original PR: tgstation/tgstation#78816

it was screaming runtimes each time an ai disconnected or reconnected to an ai shell because it never unregistered the death disconnect signal properly.

[2023-10-01 14:56:38.191] RUNTIME: runtime error: living_death overridden. Use override = TRUE to suppress this warning.
 - Target: Calaban Default Shell-980 (/mob/living/silicon/robot/shell) Proc: disconnect_shell (code/datums/signals.dm:39)
 - proc name:  stack trace (/proc/_stack_trace)
 -   source file: code/__HELPERS/stack_trace.dm,4
 -   usr: Calaban (/mob/living/silicon/ai)
 -   src: null
 -   usr.loc: the floor (150,25,4) (/turf/open/floor/circuit)
 -   call stack:
 -  stack trace("living_death overridden. Use o...", "code/datums/signals.dm", 39)
 - Calaban (/mob/living/silicon/ai): RegisterSignal(Calaban Default Shell-980 (/mob/living/silicon/robot/shell), "living_death", "disconnect_shell", 0)
 - Calaban (/mob/living/silicon/ai): Deploy to Shell(Calaban Default Shell-980 (/mob/living/silicon/robot/shell))
 - Reconnect to shell (/datum/action/innate/deploy_last_shell): Trigger(null)
 - Reconnect to shell (/atom/movable/screen/movable/action_button): Click(null, "mapwindow.map", "icon-x=12;icon-y=17;left=1;but...")
 - Reconnect to shell (/atom/movable/screen/movable/action_button):  Click(null, "mapwindow.map", "icon-x=12;icon-y=17;left=1;but...")
 - /datum/callback/verb_callback (/datum/callback/verb_callback): Invoke()
 - world: push usr(Calaban (/mob/living/silicon/ai), /datum/callback/verb_callback (/datum/callback/verb_callback))
 - /datum/callback/verb_callback (/datum/callback/verb_callback): InvokeAsync()
 - Input (/datum/controller/subsystem/verb_manager/input): run verb queue()
 - Input (/datum/controller/subsystem/verb_manager/input): fire(0)
 - Input (/datum/controller/subsystem/verb_manager/input): fire(0)
 - Input (/datum/controller/subsystem/verb_manager/input): fire(0)
 - Input (/datum/controller/subsystem/verb_manager/input): ignite(0)
 - Master (/datum/controller/master): RunQueue()
 - Master (/datum/controller/master): Loop(2)
 - Master (/datum/controller/master): StartProcessing(0)

shouldn't be player facing i think but who knows maybe we've missed something here on an empty shell death. ai eye resets to the shell's position? no clue lmao it was just fucking annoying

…roperly [MDB IGNORE] (#24444)

* Fixes ai shell deployment not unregistering a death signal properly (#78816)

it was screaming runtimes each time an ai disconnected or reconnected to
an ai shell because it never unregistered the death disconnect signal
properly.

```
[2023-10-01 14:56:38.191] RUNTIME: runtime error: living_death overridden. Use override = TRUE to suppress this warning.
 - Target: Calaban Default Shell-980 (/mob/living/silicon/robot/shell) Proc: disconnect_shell (code/datums/signals.dm:39)
 - proc name:  stack trace (/proc/_stack_trace)
 -   source file: code/__HELPERS/stack_trace.dm,4
 -   usr: Calaban (/mob/living/silicon/ai)
 -   src: null
 -   usr.loc: the floor (150,25,4) (/turf/open/floor/circuit)
 -   call stack:
 -  stack trace("living_death overridden. Use o...", "code/datums/signals.dm", 39)
 - Calaban (/mob/living/silicon/ai): RegisterSignal(Calaban Default Shell-980 (/mob/living/silicon/robot/shell), "living_death", "disconnect_shell", 0)
 - Calaban (/mob/living/silicon/ai): Deploy to Shell(Calaban Default Shell-980 (/mob/living/silicon/robot/shell))
 - Reconnect to shell (/datum/action/innate/deploy_last_shell): Trigger(null)
 - Reconnect to shell (/atom/movable/screen/movable/action_button): Click(null, "mapwindow.map", "icon-x=12;icon-y=17;left=1;but...")
 - Reconnect to shell (/atom/movable/screen/movable/action_button):  Click(null, "mapwindow.map", "icon-x=12;icon-y=17;left=1;but...")
 - /datum/callback/verb_callback (/datum/callback/verb_callback): Invoke()
 - world: push usr(Calaban (/mob/living/silicon/ai), /datum/callback/verb_callback (/datum/callback/verb_callback))
 - /datum/callback/verb_callback (/datum/callback/verb_callback): InvokeAsync()
 - Input (/datum/controller/subsystem/verb_manager/input): run verb queue()
 - Input (/datum/controller/subsystem/verb_manager/input): fire(0)
 - Input (/datum/controller/subsystem/verb_manager/input): fire(0)
 - Input (/datum/controller/subsystem/verb_manager/input): fire(0)
 - Input (/datum/controller/subsystem/verb_manager/input): ignite(0)
 - Master (/datum/controller/master): RunQueue()
 - Master (/datum/controller/master): Loop(2)
 - Master (/datum/controller/master): StartProcessing(0)
```

shouldn't be player facing i think but who knows maybe we've missed
something here on an empty shell death. ai eye resets to the shell's
position? no clue lmao it was just fucking annoying

* Fixes ai shell deployment not unregistering a death signal properly

---------

Co-authored-by: Sealed101 <[email protected]>
@AnywayFarus AnywayFarus merged commit df45260 into master Oct 20, 2023
23 checks passed
@AnywayFarus AnywayFarus deleted the upstream-mirror-24444 branch October 20, 2023 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants