mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 21:48:39 +01:00
Refactors how machines are deconstructed (#81291)
## About The Pull Request This refactors how machines are deconstructed in the following ways - You can no longer override `obj/machinery/deconstruct()`. If you want customized behaviour then override `on_deconstruction()` instead. This comes with the added benifit of no longer needing to check for the `NO_DECONSTRUCTION` flag because the machine base proc does that for us & if it finds that flag it won't proceed to call `on_deconstruction()` meaning no machine will have a chance to spawn anything which is the current behaviour. This is required to make #81290 work for all machines at least so that machine can send the `COMSIG_OBJ_DECONSTRUCT` signal without subtypes overriding & forgetting to call the parent proc - `dump_contents()` only gets called when the machine is deconstructed not destroyed thus not leaving behind any of its contents inside. Fixes https://github.com/tgstation/tgstation/pull/81290#issuecomment-1925752583 ## Changelog 🆑 fix: machines that should not drop contents when deleted no longer do. refactor: refactors how machines are deconstructed. report bugs on github. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
@@ -39,10 +39,8 @@
|
||||
tickets.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/ticket_machine/deconstruct(disassembled = TRUE)
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/wallframe/ticket_machine(loc)
|
||||
qdel(src)
|
||||
/obj/machinery/ticket_machine/on_deconstruction(disassembled = TRUE)
|
||||
new /obj/item/wallframe/ticket_machine(loc)
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine, 32)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user