cmss13-devs / cmss13-devs/cmss13
Admin moving a shuttle that can't land causes a crash
- Dominant language
- DM
- Stars
- 170
- Forks
- 940
- Avg merge
- 5d 16h
- Merged PRs (30d)
- 61
Description
### Testmerges
None
### Round ID
NA
### Description of the bug
I was testing something locally and ran into this bug:
```
[2024-06-08 10:49:19.497] runtime error: Called request() with mode: pre-arrival.
- proc name: stack trace (/proc/stack_trace)
- source file: code/__HELPERS/unsorted.dm,1467
- usr: Immature Queen (/mob/living/carbon/xenomorph/queen)
- src: null
- usr.loc: the floor (235,55,4) (/turf/open/shuttle/dropship)
- call stack:
- stack trace("Called request() with mode: pr...")
- Alamo (/obj/docking_port/mobile/marine_dropship/alamo): request(LZ1: Communications Landing Zo... (/obj/docking_port/stationary/marine_dropship/lz1))
- Alamo (/obj/docking_port/mobile/marine_dropship/alamo): admin fly shuttle(Immature Queen (/mob/living/carbon/xenomorph/queen))
- Shuttle (/datum/controller/subsystem/shuttle): ui act("fly", /list (/list), /datum/tgui (/datum/tgui), /datum/ui_state/admin_state (/datum/ui_state/admin_state))
- /datum/tgui (/datum/tgui): on act message("fly", /list (/list), /datum/ui_state/admin_state (/datum/ui_state/admin_state))
- /datum/tgui (/datum/tgui): on message("act/fly", /list (/list), /list (/list))
- /datum/tgui_window (/datum/tgui_window): on message("act/fly", /list (/list), /list (/list))
- tgui Topic(/list (/list))
- ThePiachu (/client): Topic("type=act%2Ffly&payload=%7B%22i...", /list (/list), null)
```
It was caused when I accidentally sent two shuttles to the same location as admin and tried moving one of them to a different landing zone.
### What's the difference with what should have happened?
You should be able to safely recover from admin derps.
### How do we reproduce this bug?
1. Start game
2. Send both shuttles as admin to the same LZ via Admin -> Shuttles -> Shuttle Manipulator
3. When one arrives and the other can't land, you will see messages that the shuttle is being blocked
4. Try sending the blocked shuttle to any other LZ via Shuttle Manipulator
5. You will encounter the runtime error caused by trying to send the shuttle that is in the pre-arrival state
### Issue Bingo
- [X] Issue could be reproduced at least once
- [X] Issue happened in a recent (less than 7 days ago) round
- [X] Couldn't find an existing issue about this (https://github.com/cmss13-devs/cmss13/issues)
Contributor guide
Assessment
This issue has not been assessed yet.