Files
Bubberstation/code/modules/mapping/mail_sorting_helpers.dm
John Willard fa31403353 LateInitialize is not allowed to call parent anymore (#82540)
## About The Pull Request

I've seen a few cases in the past where LateInitialize is done cause of
the init return value being set to do so for no real reason, I thought I
should try to avoid that by ensuring LateInitialize isn't ever called
without overriding.

This fixes a ton of machine's LateInitialize not calling parent
(mechpad, door buttons, message monitor, a lot of tram machines,
abductor console, holodeck computer & disposal bin), avoiding having to
set itself up to be connected to power. If they were intended to not
connect to power, they should be using ``NO_POWER_USE`` instead.

Also removes a ton of returns to LateInit when it's already getting it
from parent regardless (many cases of that in machine code).

## Why It's Good For The Game

I think this is better for coding standard reasons as well as just
making sure we're not calling this proc on things that does absolutely
nothing with them. A machine not using power can be seen evidently not
using power with ``NO_POWER_USE``, not so much if it's LateInitialize
not calling parent.

## Changelog

🆑
fix: Mech pads, door buttons, message monitors, tram machines, abductor
consoles & holodeck computers now use power.
/🆑
2024-04-08 22:15:07 -06:00

121 lines
3.7 KiB
Plaintext

/obj/effect/mapping_helpers/mail_sorting
icon_state = "sort_type_helper"
late = TRUE
var/sort_type = SORT_TYPE_WASTE
/obj/effect/mapping_helpers/mail_sorting/LateInitialize()
var/obj/structure/disposalpipe/sorting/mail/mail_sorter = locate(/obj/structure/disposalpipe/sorting/mail) in loc
if(mail_sorter)
mail_sorter.sortTypes |= sort_type
else
log_mapping("[src] failed to find a mail sorting disposal pipe at [AREACOORD(src)]")
qdel(src)
/obj/effect/mapping_helpers/mail_sorting/supply
icon_state = "sort_type_helper_sup"
/obj/effect/mapping_helpers/mail_sorting/supply/disposals
sort_type = SORT_TYPE_DISPOSALS
/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay
sort_type = SORT_TYPE_CARGO_BAY
/obj/effect/mapping_helpers/mail_sorting/supply/qm_office
sort_type = SORT_TYPE_QM_OFFICE
/obj/effect/mapping_helpers/mail_sorting/engineering
icon_state = "sort_type_helper_eng"
/obj/effect/mapping_helpers/mail_sorting/engineering/general
sort_type = SORT_TYPE_ENGINEERING
/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office
sort_type = SORT_TYPE_CE_OFFICE
/obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics
sort_type = SORT_TYPE_ATMOSPHERICS
/obj/effect/mapping_helpers/mail_sorting/security
icon_state = "sort_type_helper_sec"
/obj/effect/mapping_helpers/mail_sorting/security/general
sort_type = SORT_TYPE_SECURITY
/obj/effect/mapping_helpers/mail_sorting/security/hos_office
sort_type = SORT_TYPE_HOS_OFFICE
/obj/effect/mapping_helpers/mail_sorting/security/detectives_office
sort_type = SORT_TYPE_DETECTIVES_OFFICE
/obj/effect/mapping_helpers/mail_sorting/medbay
icon_state = "sort_type_helper_med"
/obj/effect/mapping_helpers/mail_sorting/medbay/general
sort_type = SORT_TYPE_MEDBAY
/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office
sort_type = SORT_TYPE_CMO_OFFICE
/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry
sort_type = SORT_TYPE_CHEMISTRY
/obj/effect/mapping_helpers/mail_sorting/medbay/virology
sort_type = SORT_TYPE_VIROLOGY
/obj/effect/mapping_helpers/mail_sorting/science
icon_state = "sort_type_helper_sci"
/obj/effect/mapping_helpers/mail_sorting/science/research
sort_type = SORT_TYPE_RESEARCH
/obj/effect/mapping_helpers/mail_sorting/science/rd_office
sort_type = SORT_TYPE_RD_OFFICE
/obj/effect/mapping_helpers/mail_sorting/science/robotics
sort_type = SORT_TYPE_ROBOTICS
/obj/effect/mapping_helpers/mail_sorting/science/genetics
sort_type = SORT_TYPE_GENETICS
/obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab
sort_type = SORT_TYPE_EXPERIMENTOR_LAB
/obj/effect/mapping_helpers/mail_sorting/science/ordnance
sort_type = SORT_TYPE_ORDNANCE
/obj/effect/mapping_helpers/mail_sorting/science/xenobiology
sort_type = SORT_TYPE_XENOBIOLOGY
/obj/effect/mapping_helpers/mail_sorting/service
icon_state = "sort_type_helper_serv"
/obj/effect/mapping_helpers/mail_sorting/service/hop_office
sort_type = SORT_TYPE_HOP_OFFICE
/obj/effect/mapping_helpers/mail_sorting/service/library
sort_type = SORT_TYPE_LIBRARY
/obj/effect/mapping_helpers/mail_sorting/service/chapel
sort_type = SORT_TYPE_CHAPEL
/obj/effect/mapping_helpers/mail_sorting/service/theater
sort_type = SORT_TYPE_THEATER
/obj/effect/mapping_helpers/mail_sorting/service/bar
sort_type = SORT_TYPE_BAR
/obj/effect/mapping_helpers/mail_sorting/service/kitchen
sort_type = SORT_TYPE_KITCHEN
/obj/effect/mapping_helpers/mail_sorting/service/hydroponics
sort_type = SORT_TYPE_HYDROPONICS
/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet
sort_type = SORT_TYPE_JANITOR_CLOSET
/obj/effect/mapping_helpers/mail_sorting/service/dormitories
sort_type = SORT_TYPE_DORMITORIES
/obj/effect/mapping_helpers/mail_sorting/service/law_office
sort_type = SORT_TYPE_LAW_OFFICE