cmss13-devs / cmss13

Contains the code for CM-SS13
https://cm-ss13.com
GNU Affero General Public License v3.0
82 stars 463 forks source link

OB Cannot be fired from any overwatch console. #6545

Open cm13-issue-bot opened 1 week ago

cm13-issue-bot commented 1 week ago

Testmerges

#6071: '[V] Sorokyne Strata: fixes and changes .' by Venuska1117 at commit 77b1ffb107
#6388: 'gayons' by 567Turtle at commit 4f9151f1ba
#6334: 'Xenomorph Endgame' by Git-Nivrak at commit cb6d75f3fa
#6400: 'Adds Sunsets to Roundstart, adds Sunrises to Marine Victories, and Survs can hear Evo Announcement Screeches now' by GrrrKitten at commit 2927345720
#6308: 'Hostile Survivor Rework' by Steelpoint at commit bf51f9e551
#6039: 'Project ARES TM Holder (v5)' by realforest2001 at commit 6f1869d83e

Round ID

22775

Description of the bug

CiC ahelped saying that the OB couldn't be fired with the message 'processing another action' I suspect this caused a runtime because the CO or XO tried to fire the OB from a console that an SO was logged into. The SO also admits that they may have possibly changed the active squad from Bravo to Foxtrot while the coordnates were being held/fired

What's the difference with what should have happened?

OB should work on every console.

How do we reproduce this bug?

Unknown. Possibly: launching the OB as someone who isn't logged in as the operator. Alternatively, Try to launch the OB while someone else changes the squad from Bravo to Foxtrot.

Attached logs

[2024-06-24 01:00:53.253] runtime error: Cannot read null.name
 - proc name: fire bombard (/obj/structure/machinery/computer/overwatch/proc/fire_bombard)
 -   source file: code/modules/cm_marines/overwatch.dm,797
 -   usr: null
 -   src: Overwatch Console (/obj/structure/machinery/computer/overwatch/almayer)
 -   src.loc: the floor (93,167,3) (/turf/open/floor/almayer)
 -   call stack:
 - Overwatch Console (/obj/structure/machinery/computer/overwatch/almayer): fire bombard(Samuel Carter (/mob/living/carbon/human), the dirt (45,135,2) (/turf/open/gm/dirt))
 - /datum/callback (/datum/callback): InvokeAsync()
 - Timer (/datum/controller/subsystem/timer): fire(0)
 - Timer (/datum/controller/subsystem/timer): ignite(0)
 - Master (/datum/controller/master): RunQueue()
 - Master (/datum/controller/master): Loop(2)
 - Master (/datum/controller/master): StartProcessing(0)

Additional details

Drulikar commented 1 week ago

This suggests then there was no warhead at the time: https://github.com/cmss13-devs/cmss13/blob/31e1ffbacbed8194287286d1092e16456592539b/code/modules/cm_marines/overwatch.dm#L797

silverplatedelta commented 1 week ago

Hey there, I was the SO mentioned in the above post, as well as the one who loaded the OB. I can confirm it was chambered and the screen said ready at the time of the bug occuring.