From 5853b61b55ecd78354e4c5792c52489b7810d8ed Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Thu, 17 Apr 2025 04:52:07 -0700 Subject: [PATCH] [MIRROR] New to init final (#10649) Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- .../old_yw/tether_better/tether_things.dm | 36 +- archive/maps/old_yw/yw/cryogaia_things.dm | 20 +- archive/maps/old_yw/yw/cryogaia_turfs.dm | 7 +- .../old_yw/yw/residential/_residential.dm | 4 +- .../maps/old_yw/yw/submaps/beach/_beach.dm | 12 +- .../yw/submaps/engine_submaps_yw/engine_yw.dm | 8 +- .../old_yw/yw/submaps/space/_debrisfield.dm | 16 +- code/__defines/materials.dm | 1 + code/__defines/species_languages.dm | 2 + code/__defines/species_languages_vr.dm | 2 +- code/__defines/subsystems.dm | 1 + code/_helpers/turfs.dm | 2 +- code/_helpers/unsorted.dm | 2 +- code/controllers/subsystems/air_traffic.dm | 1 + code/controllers/subsystems/ticker.dm | 2 +- code/game/atoms.dm | 1 + code/game/atoms_movable_ch.dm | 2 +- code/game/jobs/job_controller.dm | 6 +- code/game/machinery/computer/ai_core.dm | 2 +- .../machinery/computer3/computers/card.dm | 2 +- code/game/machinery/event/christmas_ch.dm | 5 +- code/game/machinery/hologram.dm | 2 +- code/game/machinery/upgrade_machinery.dm | 39 -- code/game/machinery/vending_yw.dm | 4 +- code/game/mecha/mecha_parts_ch.dm | 4 +- .../objects/effects/decals/Cleanable/vore.dm | 3 +- .../game/objects/effects/decals/contraband.dm | 20 +- code/game/objects/effects/effect_system_ch.dm | 8 +- code/game/objects/effects/landmarks.dm | 6 +- .../objects/effects/spawners/bombspawner.dm | 18 +- code/game/objects/effects/step_triggers.dm | 3 +- .../items/devices/communicator/cartridge.dm | 82 ++--- code/game/objects/items/devices/e_beacon.dm | 3 +- .../objects/items/devices/radio/headset.dm | 4 +- code/game/objects/items/devices/tvcamera.dm | 4 +- .../objects/items/falling_object_attack_vr.dm | 3 +- code/game/objects/items/robot/robot_parts.dm | 2 +- .../items/stacks/tiles/tile_types_ch.dm | 8 +- .../circuitboards/computer/camera_monitor.dm | 4 +- .../items/weapons/gift_wrappaper_ch.dm | 5 +- code/game/objects/items/weapons/manuals_ch.dm | 3 - code/game/objects/items/weapons/syndie.dm | 10 +- code/game/objects/mob_spawner_vr.dm | 4 +- code/game/objects/structures/barricades.dm | 16 +- .../closets/secure/guncabinet.dm | 6 +- .../closets/secure/secure_closets.dm | 4 +- .../crates_lockers/closets/statue.dm | 7 +- code/game/objects/structures/droppod.dm | 32 +- code/game/objects/structures/flora/trees.dm | 8 +- code/game/objects/structures/girders.dm | 21 +- code/game/objects/structures/gravemarker.dm | 7 +- code/game/objects/structures/janicart.dm | 5 +- code/game/objects/structures/railing.dm | 4 +- .../objects/structures/simple_doors_vr.dm | 6 +- .../structures/stool_bed_chair_nest/stools.dm | 11 +- .../stool_bed_chair_nest/stools_vr.dm | 4 +- .../objects/structures/windoor_assembly.dm | 4 +- code/game/objects/structures/window.dm | 4 +- code/game/turfs/flooring/flooring_decals.dm | 14 +- code/game/turfs/simulated/fancy_shuttles.dm | 3 +- code/game/turfs/simulated/floor_types.dm | 8 +- code/game/turfs/simulated/wall_types.dm | 9 +- code/modules/Phorochemistry/Phorochemputer.dm | 3 +- code/modules/Phorochemistry/misc_phoronics.dm | 4 +- code/modules/admin/verbs/adminhelp.dm | 12 +- code/modules/admin/verbs/mapping.dm | 3 +- code/modules/awaymissions/loot_vr.dm | 5 +- code/modules/blob2/blobs/node.dm | 4 +- code/modules/blob2/core_chunk.dm | 4 +- code/modules/blob2/mobs/spore.dm | 4 +- code/modules/casino/casino_cards.dm | 3 +- .../clothing/accessories/accessory_vr.dm | 4 +- code/modules/clothing/accessories/clothing.dm | 40 ++- code/modules/clothing/chameleon.dm | 41 ++- code/modules/clothing/clothing.dm | 22 +- code/modules/clothing/clothing_vr.dm | 12 +- code/modules/clothing/suits/storage.dm | 8 +- code/modules/economy/cash_register.dm | 3 + code/modules/economy/money_bag.dm | 4 +- code/modules/economy/retail_scanner.dm | 7 +- code/modules/entopics_vr/entopics.dm | 4 +- code/modules/events/meteor_strike_vr.dm | 8 +- code/modules/flufftext/Hallucination.dm | 66 ++-- code/modules/food/food/snacks_ch.dm | 6 +- code/modules/food/kitchen/icecream.dm | 3 +- code/modules/games/cah.dm | 4 +- code/modules/games/cards_ch.dm | 3 +- code/modules/games/spaceball_cards.dm | 4 +- code/modules/games/tarot.dm | 8 +- code/modules/games/wizoff.dm | 7 +- code/modules/hydroponics/seed_machines.dm | 8 +- .../core/assemblies/device.dm | 8 +- .../core/integrated_circuit.dm | 4 +- .../integrated_electronics/passive/power.dm | 4 +- .../subtypes/data_transfer.dm | 12 +- .../integrated_electronics/subtypes/input.dm | 6 +- .../subtypes/manipulation.dm | 4 +- .../integrated_electronics/subtypes/memory.dm | 4 +- .../subtypes/reagents.dm | 4 +- .../interserver shipping/shipping_hooks.dm | 3 +- code/modules/library/lib_items.dm | 15 +- code/modules/lighting/lighting_area.dm | 6 - code/modules/lighting/sunlight_handler.dm | 10 +- .../modules/materials/materials/_materials.dm | 2 - code/modules/mining/mine_items.dm | 4 +- code/modules/mob/dead/observer/observer.dm | 33 +- code/modules/mob/freelook/ai/eye.dm | 15 +- code/modules/mob/freelook/mask/eye.dm | 4 +- .../mob/freelook/mask/update_triggers.dm | 4 +- code/modules/mob/language/outsider.dm | 2 +- code/modules/mob/language/synthetic.dm | 4 +- code/modules/mob/living/bot/farmbot.dm | 4 +- code/modules/mob/living/carbon/alien/alien.dm | 2 +- .../mob/living/carbon/alien/larva/larva.dm | 4 +- code/modules/mob/living/carbon/brain/MMI.dm | 17 +- .../living/carbon/human/human_species_vr.dm | 52 +-- .../human/species/shadekin/dark_portal_ch.dm | 4 +- .../carbon/human/species/station/greyYW.dm | 4 +- .../human/species/station/prommie_blob.dm | 13 +- .../species/station/protean/protean_blob.dm | 2 +- .../human/species/xenomorphs/alien_species.dm | 4 +- .../human/species/xenomorphs/xenomorphs.dm | 16 +- .../mob/living/carbon/metroid/items.dm | 8 +- code/modules/mob/living/living.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 32 +- .../living/silicon/ai/ai_remote_control.dm | 5 - code/modules/mob/living/silicon/ai/ai_vr.dm | 4 +- .../modules/mob/living/silicon/decoy/decoy.dm | 7 +- code/modules/mob/living/silicon/pai/pai.dm | 25 +- .../silicon/robot/dogborg/dog_modules.dm | 20 +- .../silicon/robot/dogborg/dog_sleeper.dm | 6 +- .../mob/living/silicon/robot/drone/drone.dm | 13 +- .../living/silicon/robot/drone/drone_say.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 8 +- .../mob/living/silicon/robot/robot_items.dm | 12 +- .../living/silicon/robot/robot_modules_yw.dm | 21 +- .../living/silicon/robot/sprites/standard.dm | 3 +- .../silicon/robot/subtypes/boozeborg.dm | 4 +- .../silicon/robot/subtypes/boozeborg_ch.dm | 7 +- .../exploration/exploration-modules.dm | 5 +- code/modules/mob/living/silicon/silicon.dm | 15 +- .../mob/living/simple_animal/aliens/synx.dm | 11 +- .../mob/living/simple_mob/overmap_mob_vr.dm | 24 +- code/modules/mob/living/simple_mob/sd_pets.dm | 12 +- .../animal/alien animals/jellyfish.dm | 12 +- .../subtypes/animal/alien animals/teppi.dm | 21 +- .../subtypes/animal/farm animals/chicken.dm | 8 +- .../subtypes/animal/farm animals/cow.dm | 5 +- .../subtypes/animal/farm animals/goat.dm | 4 +- .../subtypes/animal/passive/mouse.dm | 35 +- .../subtypes/animal/passive/mouse_vr.dm | 7 +- .../subtypes/animal/space/animals_yw.dm | 4 +- .../subtypes/animal/space/mouse_army_ch.dm | 4 +- .../subtypes/animal/space/snake_vr.dm | 4 +- .../subtypes/vore/dominated_brain.dm | 8 +- .../living/simple_mob/subtypes/vore/lamia.dm | 3 +- .../subtypes/vore/leopardmander_ch.dm | 4 +- .../simple_mob/subtypes/vore/morph/morph.dm | 31 +- .../vore/shadekin/rakshasa_abilities.dm | 8 +- .../subtypes/vore/shadekin/rakshasa_trap.dm | 5 +- .../simple_mob/subtypes/vore/slug_ch.dm | 19 +- .../simple_mob/subtypes/vore/succubi.dm | 4 +- .../simple_mob/subtypes/vore/wolftaur.dm | 4 +- code/modules/mob/mob_grab.dm | 12 +- code/modules/mob/mob_planes.dm | 4 +- code/modules/mob/mob_planes_vr.dm | 10 +- code/modules/mob/new_player/new_player.dm | 19 +- code/modules/mob/transform_procs.dm | 4 +- .../modular_computers/hardware/_hardware.dm | 9 +- .../hardware/battery_module.dm | 14 +- .../modular_computers/hardware/hard_drive.dm | 4 +- .../hardware/network_card.dm | 4 +- .../hardware/portable_hard_drive.dm | 4 +- code/modules/multiz/basic.dm | 5 +- .../nifsoft/software/13_soulcatcher.dm | 19 +- .../overmap/ships/engines/gas_thruster.dm | 8 +- code/modules/paperwork/adminpaper.dm | 2 +- code/modules/paperwork/paperplane.dm | 2 +- code/modules/paperwork/pen.dm | 23 +- code/modules/pda/cart.dm | 3 +- code/modules/pda/pda.dm | 12 +- code/modules/pda/pda_subtypes.dm | 36 +- code/modules/pda/radio.dm | 2 +- code/modules/persistence/noticeboard.dm | 4 +- code/modules/planet/sun.dm | 8 +- code/modules/planet/thor.dm | 4 +- code/modules/power/fusion/core/core_field.dm | 6 +- .../fusion/fuel_assembly/fuel_assembly_ch.dm | 4 +- .../particle_accelerator/particle.dm | 6 +- code/modules/power/singularity/singularity.dm | 5 +- code/modules/power/smes.dm | 29 ++ code/modules/power/tesla/energy_ball.dm | 7 +- .../guns/energy/cell_loaded_vr/nerd.dm | 8 +- .../modules/projectiles/guns/projectile_ch.dm | 4 +- code/modules/reagents/reagents/other_ch.dm | 8 +- code/modules/resleeving/implant_ch.dm | 3 - code/modules/tables/update_triggers.dm | 2 +- code/modules/vore/eating/belly_obj_vr.dm | 2 +- code/modules/vore/eating/living_vr.dm | 7 +- code/modules/vore/eating/vorepanel_vr.dm | 2 +- code/modules/vore/fluffstuff/MadokaSpear.dm | 4 +- .../vore/fluffstuff/custom_boxes_vr.dm | 5 +- .../vore/fluffstuff/custom_clothes_yw.dm | 4 +- .../vore/fluffstuff/custom_items_yw.dm | 5 +- code/modules/xenobio2/mob/xeno.dm | 4 +- maps/expedition_vr/beach/_beach.dm | 13 - maps/expedition_vr/space/_debrisfield.dm | 5 +- maps/groundbase/groundbase_shuttles.dm | 3 + .../stellar_delight_shuttles.dm | 68 ++++ .../stellar_delight/stellar_delight_things.dm | 3 - .../mob/living/simple_animal/aliens/synx.dm | 6 +- .../surface_submaps/wilderness/CaveS.dmm | 2 +- tgui/packages/tgui-panel/reconnect.tsx | 64 ++-- .../AppearanceChangerColors.tsx | 220 ++++++++++++ .../AppearanceChangerDetails.tsx | 340 ------------------ .../AppearanceChangerMarkings.tsx | 148 ++++++++ .../AppearanceChangerParts.tsx | 78 ++-- .../interfaces/AppearanceChanger/index.tsx | 6 +- tgui/packages/tgui/styles/main.scss | 3 + tools/ci/validate_files.sh | 34 +- vorestation.dme | 1 - 221 files changed, 1452 insertions(+), 1427 deletions(-) delete mode 100644 code/game/machinery/upgrade_machinery.dm create mode 100644 maps/stellar_delight/stellar_delight_shuttles.dm create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerColors.tsx delete mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerDetails.tsx create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerMarkings.tsx diff --git a/archive/maps/old_yw/tether_better/tether_things.dm b/archive/maps/old_yw/tether_better/tether_things.dm index 0a628f913c..da689942ce 100644 --- a/archive/maps/old_yw/tether_better/tether_things.dm +++ b/archive/maps/old_yw/tether_better/tether_things.dm @@ -29,32 +29,32 @@ external_pressure_bound = ONE_ATMOSPHERE * 1.1 -/obj/effect/step_trigger/teleporter/to_mining/New() - ..() +/obj/effect/step_trigger/teleporter/to_mining/Initialize(mapload) + . = ..() teleport_x = src.x teleport_y = 2 teleport_z = Z_LEVEL_SURFACE_MINE -/obj/effect/step_trigger/teleporter/from_mining/New() - ..() +/obj/effect/step_trigger/teleporter/from_mining/Initialize(mapload) + . = ..() teleport_x = src.x teleport_y = world.maxy - 1 teleport_z = Z_LEVEL_SURFACE_LOW -/obj/effect/step_trigger/teleporter/to_solars/New() - ..() +/obj/effect/step_trigger/teleporter/to_solars/Initialize(mapload) + . = ..() teleport_x = world.maxx - 1 teleport_y = src.y teleport_z = Z_LEVEL_SOLARS -/obj/effect/step_trigger/teleporter/from_solars/New() - ..() +/obj/effect/step_trigger/teleporter/from_solars/Initialize(mapload) + . = ..() teleport_x = 2 teleport_y = src.y teleport_z = Z_LEVEL_SURFACE_LOW -/obj/effect/step_trigger/teleporter/wild/New() - ..() +/obj/effect/step_trigger/teleporter/wild/Initialize(mapload) + . = ..() //If starting on east/west edges. if (src.x == 1) @@ -99,14 +99,14 @@ if(Z.name == "Mining Outpost") teleport_z = Z.z -/obj/effect/step_trigger/teleporter/to_plains/New() - ..() +/obj/effect/step_trigger/teleporter/to_plains/Initialize(mapload) + . = ..() teleport_x = src.x teleport_y = world.maxy - 1 teleport_z = Z_LEVEL_PLAINS -/obj/effect/step_trigger/teleporter/from_plains/New() - ..() +/obj/effect/step_trigger/teleporter/from_plains/Initialize(mapload) + . = ..() teleport_x = src.x teleport_y = 2 teleport_z = Z_LEVEL_SURFACE_LOW @@ -346,8 +346,8 @@ var/global/list/latejoin_tram = list() desc = "Neutralizes toxins and provides a mild analgesic effect." icon_state = "pill2" -/obj/item/reagent_containers/pill/airlock/New() - ..() +/obj/item/reagent_containers/pill/airlock/Initialize(mapload) + . = ..() reagents.add_reagent(REAGENT_ID_ANTITOXIN, 15) reagents.add_reagent(REAGENT_ID_PARACETAMOL, 5) @@ -366,8 +366,8 @@ var/global/list/latejoin_tram = list() name = "expedition weaponry cabinet" req_one_access = list(access_explorer,access_armory) -/obj/structure/closet/secure_closet/guncabinet/excursion/New() - ..() +/obj/structure/closet/secure_closet/guncabinet/excursion/Initialize(mapload) + . = ..() for(var/i = 1 to 2) new /obj/item/gun/energy/locked/frontier(src) for(var/i = 1 to 2) diff --git a/archive/maps/old_yw/yw/cryogaia_things.dm b/archive/maps/old_yw/yw/cryogaia_things.dm index 3def925f78..3d9b95495f 100644 --- a/archive/maps/old_yw/yw/cryogaia_things.dm +++ b/archive/maps/old_yw/yw/cryogaia_things.dm @@ -321,8 +321,8 @@ var/global/list/latejoin_tram = list() desc = "Neutralizes toxins and provides a mild analgesic effect." icon_state = "pill2" -/obj/item/reagent_containers/pill/airlock/New() - ..() +/obj/item/reagent_containers/pill/airlock/Initialize(mapload) + . = ..() reagents.add_reagent(REAGENT_ID_ANTITOXIN, 15) reagents.add_reagent(REAGENT_ID_PARACETAMOL, 5) @@ -356,7 +356,7 @@ var/global/list/latejoin_tram = list() var/deiceTools[0] var/nextWeatherCheck -/obj/machinery/door/airlock/glass_external/freezable/New() +/obj/machinery/door/airlock/glass_external/freezable/Initialize(mapload) //Associate objects with the number of seconds it would take to de-ice a door. //Most items are either more or less effecient at it. //For items with very specific cases (like welders using fuel, or needing to be on) see attackby(). @@ -369,7 +369,7 @@ var/global/list/latejoin_tram = list() //This is for preventing "Sierra" syndrome that could result from needing very specific objects. deiceTools[/obj/item/tool] = 10 deiceTools[/obj/item] = 12 - ..() + . = ..() /obj/machinery/door/airlock/glass_external/freezable/attackby(obj/item/I, mob/user as mob) //Special cases for tools that need more then just a type check. @@ -479,8 +479,8 @@ var/global/list/latejoin_tram = list() name = "expedition weaponry cabinet" req_one_access = list(access_explorer,access_brig) -/obj/structure/closet/secure_closet/guncabinet/excursion/New() - ..() +/obj/structure/closet/secure_closet/guncabinet/excursion/Initialize(mapload) + . = ..() for(var/i = 1 to 4) new /obj/item/gun/energy/locked/frontier(src) for(var/i = 1 to 4) @@ -683,14 +683,14 @@ obj/machinery/trailblazer/Initialize(mapload) req_access = null req_one_access = list(access_pilot,access_explorer) -/obj/effect/step_trigger/teleporter/from_plains/New() - ..() +/obj/effect/step_trigger/teleporter/from_plains/Initialize(mapload) + . = ..() teleport_x = world.maxx - 1 teleport_y = src.y teleport_z = Z_LEVEL_CRYOGAIA_MAIN -/obj/effect/step_trigger/teleporter/to_plains/New() - ..() +/obj/effect/step_trigger/teleporter/to_plains/Initialize(mapload) + . = ..() teleport_x = 2 teleport_y = src.y teleport_z = Z_LEVEL_PLAINS diff --git a/archive/maps/old_yw/yw/cryogaia_turfs.dm b/archive/maps/old_yw/yw/cryogaia_turfs.dm index 6181082aec..f00a06ff23 100644 --- a/archive/maps/old_yw/yw/cryogaia_turfs.dm +++ b/archive/maps/old_yw/yw/cryogaia_turfs.dm @@ -2,8 +2,8 @@ CRYOGAIA_TURF_CREATE(/turf/simulated/open) /turf/simulated/open/cryogaia edge_blending_priority = 0.5 //Turfs which also have e_b_p and higher than this will plop decorative edges onto this turf -/turf/simulated/open/cryogaia/New() - ..() +/turf/simulated/open/cryogaia/Initialize(mapload) + . = ..() if(outdoors) SSplanets.addTurf(src) @@ -205,9 +205,6 @@ CRYOGAIA_TURF_CREATE(/turf/simulated/mineral/floor) name = "sand transit" icon = 'icons/turf/transit_vr.dmi' icon_state = "desert_ns" -/turf/space/sandyscroll/New() - ..() - icon_state = "desert_ns" //Sky stuff! // A simple turf to fake the appearance of flying. diff --git a/archive/maps/old_yw/yw/residential/_residential.dm b/archive/maps/old_yw/yw/residential/_residential.dm index a327f9da09..557c3e9650 100644 --- a/archive/maps/old_yw/yw/residential/_residential.dm +++ b/archive/maps/old_yw/yw/residential/_residential.dm @@ -51,10 +51,10 @@ icon_state = "reinf_preview" -/obj/structure/table/leadreinforcedwood/New() +/obj/structure/table/leadreinforcedwood/Initialize(mapload) material = get_material_by_name(MAT_LEAD) reinforced = get_material_by_name(MAT_WOOD) - ..() + . = ..() // Spawn points diff --git a/archive/maps/old_yw/yw/submaps/beach/_beach.dm b/archive/maps/old_yw/yw/submaps/beach/_beach.dm index 89df0e2018..364b85b397 100644 --- a/archive/maps/old_yw/yw/submaps/beach/_beach.dm +++ b/archive/maps/old_yw/yw/submaps/beach/_beach.dm @@ -94,15 +94,15 @@ // These are step-teleporters, for map edge transitions // This top one goes INTO the cave -/obj/effect/step_trigger/teleporter/away_beach_tocave/New() - ..() +/obj/effect/step_trigger/teleporter/away_beach_tocave/Initialize(mapload) + . = ..() teleport_x = src.x //X is horizontal. This is a top of map transition, so you want the same horizontal alignment in the cave as you have on the beach teleport_y = 2 //2 is because it's putting you on row 2 of the map to the north teleport_z = z+1 //The cave is always our Z-level plus 1, because it's loaded after us //This one goes OUT OF the cave -/obj/effect/step_trigger/teleporter/away_beach_tobeach/New() - ..() +/obj/effect/step_trigger/teleporter/away_beach_tobeach/Initialize(mapload) + . = ..() teleport_x = src.x //Same reason as bove teleport_y = world.maxy - 1 //This means "1 space from the top of the map" teleport_z = z-1 //Opposite of 'tocave', beach is always loaded as the map before us @@ -114,8 +114,8 @@ name = "Water" icon_state = "water" -/turf/simulated/floor/beach/coastwater/New() - ..() +/turf/simulated/floor/beach/coastwater/Initialize(mapload) + . = ..() add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water","layer"=MOB_LAYER+0.1)) // -- Areas -- // diff --git a/archive/maps/old_yw/yw/submaps/engine_submaps_yw/engine_yw.dm b/archive/maps/old_yw/yw/submaps/engine_submaps_yw/engine_yw.dm index 845ec44d8e..b7ab4be7b1 100644 --- a/archive/maps/old_yw/yw/submaps/engine_submaps_yw/engine_yw.dm +++ b/archive/maps/old_yw/yw/submaps/engine_submaps_yw/engine_yw.dm @@ -8,12 +8,12 @@ var/clean_turfs // A list of lists, where each list is (x, ) //check for duplicte loaders. TODO: Make referance a subsystem that isnt upstream. See /controllers/subsystems/mapping_yw.dm and mapping_vr.dm -/obj/effect/landmark/engine_loader_pickable/New() +/obj/effect/landmark/engine_loader_pickable/Initialize(mapload) if(SSmapping.engine_loader_pickable) warning("Duplicate engine_loader landmarks: [log_info_line(src)] and [log_info_line(SSmapping.engine_loader)]") delete_me = TRUE SSmapping.engine_loader_pickable = src - return ..() + . = ..() /obj/effect/landmark/engine_loader_pickable/proc/get_turfs_to_clean() . = list() @@ -93,9 +93,9 @@ var/destroy = 0 //killmepls var/building = 0 -/obj/machinery/computer/pickengine/New() +/obj/machinery/computer/pickengine/Initialize(mapload) + . = ..() message_admins("Engine select console placed at [src.x] [src.y] [src.z]") - ..() /obj/machinery/computer/pickengine/attack_ai(var/mob/user as mob) if(istype(user, /mob/living/silicon/robot)) diff --git a/archive/maps/old_yw/yw/submaps/space/_debrisfield.dm b/archive/maps/old_yw/yw/submaps/space/_debrisfield.dm index 9a8b5b4a0c..9348d0013e 100644 --- a/archive/maps/old_yw/yw/submaps/space/_debrisfield.dm +++ b/archive/maps/old_yw/yw/submaps/space/_debrisfield.dm @@ -13,26 +13,26 @@ // -- Objs -- // -/obj/effect/step_trigger/teleporter/debrisfield_loop/north/New() - ..() +/obj/effect/step_trigger/teleporter/debrisfield_loop/north/Initialize(mapload) + . = ..() teleport_x = x teleport_y = 2 teleport_z = z -/obj/effect/step_trigger/teleporter/debrisfield_loop/south/New() - ..() +/obj/effect/step_trigger/teleporter/debrisfield_loop/south/Initialize(mapload) + . = ..() teleport_x = x teleport_y = world.maxy - 1 teleport_z = z -/obj/effect/step_trigger/teleporter/debrisfield_loop/west/New() - ..() +/obj/effect/step_trigger/teleporter/debrisfield_loop/west/Initialize(mapload) + . = ..() teleport_x = world.maxx - 1 teleport_y = y teleport_z = z -/obj/effect/step_trigger/teleporter/debrisfield_loop/east/New() - ..() +/obj/effect/step_trigger/teleporter/debrisfield_loop/east/Initialize(mapload) + . = ..() teleport_x = 2 teleport_y = y teleport_z = z diff --git a/code/__defines/materials.dm b/code/__defines/materials.dm index ca1a22ca43..0ecda77ba3 100644 --- a/code/__defines/materials.dm +++ b/code/__defines/materials.dm @@ -68,6 +68,7 @@ #define MAT_FLESH "flesh" #define MAT_FANCYBLACK "fancyblack" #define MAT_FOAM "foam" +#define MAT_FLOKIUM "flockium" // cloth materials #define MAT_WOOL "wool" diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm index 9b7647917c..1480bf3d39 100644 --- a/code/__defines/species_languages.dm +++ b/code/__defines/species_languages.dm @@ -99,6 +99,8 @@ #define LANGUAGE_ZADDAT "Vedahq" #define LANGUAGE_PROMETHEAN "Promethean Biolinguistics" #define LANGUAGE_GIBBERISH "Babel" +#define LANGUAGE_ROBOT_TALK "Robot Talk" +#define LANGUAGE_DRONE_TALK "Drone Talk" // Language flags. #define WHITELISTED 1 // Language is available if the speaker is whitelisted. diff --git a/code/__defines/species_languages_vr.dm b/code/__defines/species_languages_vr.dm index cc2d064bf3..eab86fb8dd 100644 --- a/code/__defines/species_languages_vr.dm +++ b/code/__defines/species_languages_vr.dm @@ -25,8 +25,8 @@ // CHOMPAdd Start #define LANGUAGE_MARISH "Marish" +// CHOMPAdd End // Xeno languages selectable #define LANGUAGE_XENOLINGUA "Xenolingua" #define LANGUAGE_HIVEMIND "Hivemind" -// CHOMPAdd End diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm index 3a24555e96..0e8272fa9f 100644 --- a/code/__defines/subsystems.dm +++ b/code/__defines/subsystems.dm @@ -158,6 +158,7 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G #define INIT_ORDER_TICKER -50 #define INIT_ORDER_MAPRENAME -60 //Initiating after Ticker to ensure everything is loaded and everything we rely on us working #define INIT_ORDER_WIKI -61 +#define INIT_ORDER_ATC -70 #define INIT_ORDER_STATPANELS -98 #define INIT_ORDER_CHAT -100 //Should be last to ensure chat remains smooth during init. diff --git a/code/_helpers/turfs.dm b/code/_helpers/turfs.dm index 515370c50d..47d6995e4d 100644 --- a/code/_helpers/turfs.dm +++ b/code/_helpers/turfs.dm @@ -121,7 +121,7 @@ if(istype(T,/turf/simulated/shuttle)) shuttlework = 1 var/turf/simulated/shuttle/SS = T - if(!SS.landed_holder) SS.landed_holder = new(turf = SS) + if(!SS.landed_holder) SS.landed_holder = new(SS) X = SS.landed_holder.land_on(B) //Generic non-shuttle turf move. diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 4018dc27ce..89ca64ff50 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -787,7 +787,7 @@ Turf and target are seperate in case you want to teleport some distance from a t if(istype(T,/turf/simulated/shuttle)) shuttlework = 1 var/turf/simulated/shuttle/SS = T - if(!SS.landed_holder) SS.landed_holder = new(turf = SS) + if(!SS.landed_holder) SS.landed_holder = new(SS) X = SS.landed_holder.land_on(B) //Generic non-shuttle turf move. diff --git a/code/controllers/subsystems/air_traffic.dm b/code/controllers/subsystems/air_traffic.dm index d39362a38d..a4e094eece 100644 --- a/code/controllers/subsystems/air_traffic.dm +++ b/code/controllers/subsystems/air_traffic.dm @@ -6,6 +6,7 @@ SUBSYSTEM_DEF(atc) priority = FIRE_PRIORITY_ATC runlevels = RUNLEVEL_GAME wait = 2 SECONDS + init_order = INIT_ORDER_ATC flags = SS_BACKGROUND VAR_PRIVATE/next_tick = 0 diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 8e5798cc37..89d686d90d 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -60,7 +60,7 @@ var/global/datum/controller/subsystem/ticker/ticker "url" = get_world_url() ) ) - GLOB.autospeaker = new (null, null, null, 1) //Set up Global Announcer + GLOB.autospeaker = new (null, FALSE, null, null, TRUE) //Set up Global Announcer return SS_INIT_SUCCESS /datum/controller/subsystem/ticker/fire(resumed = FALSE) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 374c169a73..710ea14253 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -92,6 +92,7 @@ // Other parameters are passed from New (excluding loc), this does not happen if mapload is TRUE // Must return an Initialize hint. Defined in code/__defines/subsystems.dm /atom/proc/Initialize(mapload, ...) + SHOULD_CALL_PARENT(TRUE) if(QDELETED(src)) stack_trace("GC: -- [type] had initialize() called after qdel() --") if(flags & ATOM_INITIALIZED) diff --git a/code/game/atoms_movable_ch.dm b/code/game/atoms_movable_ch.dm index c06ca53000..9cca867bd5 100644 --- a/code/game/atoms_movable_ch.dm +++ b/code/game/atoms_movable_ch.dm @@ -3,7 +3,7 @@ var/recursive_listeners var/listening_recursive = NON_LISTENING_ATOM -/atom/movable/New() +/atom/movable/Initialize(mapload) . = ..() if (listening_recursive) set_listening(listening_recursive) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 3a5e7adf46..6824014d3b 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -747,7 +747,7 @@ var/global/datum/controller/occupations/job_master confirm = tgui_alert(pred, "[C.prefs.real_name] is attempting to spawn into your [vore_spawn_gut]. Let them?", "Confirm", list("No", "Yes")) if(confirm != "Yes") to_chat(C, span_warning("[pred] has declined your spawn request.")) - var/message = sanitizeSafe(input(pred,"Do you want to leave them a message?")as text|null) + var/message = sanitizeSafe(tgui_input_text(pred,"Do you want to leave them a message?", "Notify Prey")) if(message) to_chat(C, span_notice("[pred] message : [message]")) return @@ -824,7 +824,7 @@ var/global/datum/controller/occupations/job_master confirm = tgui_alert(prey, "[C.prefs.real_name] is attempting to televore you into their [vore_spawn_gut]. Let them?", "Confirm", list("No", "Yes")) if(confirm != "Yes") to_chat(C, span_warning("[prey] has declined your spawn request.")) - var/message = sanitizeSafe(input(prey,"Do you want to leave them a message?")as text|null) + var/message = sanitizeSafe(tgui_input_text(prey,"Do you want to leave them a message?", "Notify Pred")) if(message) to_chat(C, span_notice("[prey] message : [message]")) return @@ -908,7 +908,7 @@ var/global/datum/controller/occupations/job_master var/confirm = tgui_alert(carrier, "[C.prefs.real_name] is attempting to join as the [item_name] in your possession.", "Confirm", list("No", "Yes")) if(confirm != "Yes") to_chat(C, span_warning("[carrier] has declined your spawn request.")) - var/message = sanitizeSafe(input(carrier,"Do you want to leave them a message?")as text|null) + var/message = sanitizeSafe(tgui_input_text(carrier,"Do you want to leave them a message?", "Notify Spawner")) if(message) to_chat(C, span_notice("[carrier] message : [message]")) return diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 220c516e6e..6bf137a670 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -179,7 +179,7 @@ if(open_for_latejoin) empty_playable_ai_cores += D else - var/mob/living/silicon/ai/A = new /mob/living/silicon/ai ( loc, laws, brain ) + var/mob/living/silicon/ai/A = new /mob/living/silicon/ai(loc, FALSE, laws, brain) if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created A.rename_self("ai", 1) for(var/datum/language/L in brain.brainmob.languages) diff --git a/code/game/machinery/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm index 55c5d751d9..a3c6d9c827 100644 --- a/code/game/machinery/computer3/computers/card.dm +++ b/code/game/machinery/computer3/computers/card.dm @@ -191,7 +191,7 @@ /datum/file/program/card_comp/proc/authenticate() if(access_change_ids in reader.GetAccess()) return 1 - if(istype(usr,/mob/living/silicon/ai)) + if(isAI(usr)) return 1 return 0 diff --git a/code/game/machinery/event/christmas_ch.dm b/code/game/machinery/event/christmas_ch.dm index 184706c4f2..850346b063 100644 --- a/code/game/machinery/event/christmas_ch.dm +++ b/code/game/machinery/event/christmas_ch.dm @@ -8,12 +8,11 @@ anchored = 1.0 density = 0 -/obj/structure/event/present/New() - ..() +/obj/structure/event/present/Initialize(mapload) + . = ..() pixel_x = rand(-10,10) pixel_y = rand(-10,10) icon_state = "gift[pick("1", "2", "3")]_[pick("g", "r", "b", "y", "p")]" - return /obj/structure/event/santa_sack diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index e3031bffcf..3a1f6a08ca 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -40,7 +40,7 @@ var/const/HOLOPAD_MODE = RANGE_BASED var/power_per_hologram = 500 //per usage per hologram idle_power_usage = 5 use_power = USE_POWER_IDLE - var/list/mob/living/silicon/ai/masters = new() //List of AIs that use the holopad + var/list/mob/living/silicon/ai/masters = list() //List of AIs that use the holopad var/last_request = 0 //to prevent request spam. ~Carn var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. diff --git a/code/game/machinery/upgrade_machinery.dm b/code/game/machinery/upgrade_machinery.dm deleted file mode 100644 index 110832244d..0000000000 --- a/code/game/machinery/upgrade_machinery.dm +++ /dev/null @@ -1,39 +0,0 @@ -// Handles automagically upgrades to machines based on components placed on a machine during map init -/obj/machinery/Initialize(mapload) - . = ..() - // Handles automagically upgrades to machines based on components placed on a machine during map init - if(mapload) - spawn(100) - // Sanity checks - if(!QDELETED(src) && isturf(loc)) - handle_mapped_upgrades() -// This is meant to be overridden per machine -/obj/machinery/proc/handle_mapped_upgrades() - return -// Each machine is a special snowflake... sadly. -/obj/machinery/power/smes/buildable/handle_mapped_upgrades() - // Detect new coils placed by mappers - var/list/parts_found = list() - for(var/i = 1, i <= loc.contents.len, i++) - var/obj/item/W = loc.contents[i] - if(istype(W, /obj/item/smes_coil)) - parts_found.Add(W) - // If any coils are on us, clear base coils and rebuild using these ones - if(parts_found.len == 0) - return - while(TRUE) - var/obj/item/smes_coil/C = locate(/obj/item/smes_coil) in component_parts - if(isnull(C)) - break - component_parts.Remove(C) - C.forceMove(src.loc) - qdel(C) - cur_coils-- - // Rebuild from mapper's coils - for(var/i = 1, i <= parts_found.len, i++) - if (cur_coils < max_coils) - var/obj/item/W = parts_found[i] - cur_coils++ - component_parts.Add(W) - W.forceMove(src) - RefreshParts() diff --git a/code/game/machinery/vending_yw.dm b/code/game/machinery/vending_yw.dm index 7ef45112d2..4feb714428 100644 --- a/code/game/machinery/vending_yw.dm +++ b/code/game/machinery/vending_yw.dm @@ -1,7 +1,7 @@ -/obj/machinery/vending/cigarette/New() +/obj/machinery/vending/cigarette/Initialize(mapload) products += list(/obj/item/storage/fancy/cigarettes/yw/mauser = 5) prices += list(/obj/item/storage/fancy/cigarettes/yw/mauser = 18) - ..() + . = ..() /obj/machinery/vending/food/prison name = "Prison Nutriment Vendor" diff --git a/code/game/mecha/mecha_parts_ch.dm b/code/game/mecha/mecha_parts_ch.dm index 27367c6493..90b5418221 100644 --- a/code/game/mecha/mecha_parts_ch.dm +++ b/code/game/mecha/mecha_parts_ch.dm @@ -3,8 +3,8 @@ icon = 'icons/mecha/mech_construct_ch.dmi' icon_state = "scarab_chassis" -/obj/item/mecha_parts/chassis/scarab/New() - ..() +/obj/item/mecha_parts/chassis/scarab/Initialize(mapload) + . = ..() construct = new /datum/construction/mecha/scarab_chassis(src) /obj/item/mecha_parts/part/scarab_torso diff --git a/code/game/objects/effects/decals/Cleanable/vore.dm b/code/game/objects/effects/decals/Cleanable/vore.dm index 904eed546c..6378cfb4b5 100644 --- a/code/game/objects/effects/decals/Cleanable/vore.dm +++ b/code/game/objects/effects/decals/Cleanable/vore.dm @@ -13,7 +13,8 @@ var/custombasedesc = null var/custombasecolor = null -/obj/effect/decal/cleanable/blood/reagent/New(var/spill_name, var/spill_color, var/spill_reagentid, var/new_amount, var/ckey_user, var/ckey_spawn) +/obj/effect/decal/cleanable/blood/reagent/Initialize(mapload, var/spill_name, var/spill_color, var/spill_reagentid, var/new_amount, var/ckey_user, var/ckey_spawn) + . = ..() switch(spill_reagentid) //To ensure that if people spill some liquids, it wont cause issues with spawning, like spilling blood. Also allow for spilling of certain things to if("blood") return diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm index 2f0afcffca..e76574afe6 100644 --- a/code/game/objects/effects/decals/contraband.dm +++ b/code/game/objects/effects/decals/contraband.dm @@ -18,14 +18,14 @@ var/poster_type = /obj/structure/sign/poster -/obj/item/contraband/poster/New(turf/loc, var/given_serial = 0) +/obj/item/contraband/poster/Initialize(mapload, var/given_serial = 0) if(!serial_number) if(given_serial == 0) serial_number = rand(1, poster_designs.len) else serial_number = given_serial name += " - No. [serial_number]" - ..(loc) + . = ..() //Places the poster on a wall /obj/item/contraband/poster/afterattack(var/atom/A, var/mob/user, var/adjacent, var/clickparams) @@ -83,12 +83,12 @@ icon_state = "rolled_poster_nt" poster_type = /obj/structure/sign/poster/nanotrasen -/obj/item/contraband/poster/nanotrasen/New(turf/loc, var/given_serial = 0) +/obj/item/contraband/poster/nanotrasen/Initialize(mapload, var/given_serial = 0) if(given_serial == 0) serial_number = rand(1, NT_poster_designs.len) else serial_number = given_serial - ..(loc) + . = ..() //Selectable subtype /obj/item/contraband/poster/custom @@ -96,12 +96,12 @@ desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. This one is made from some kind of e-paper, and could display almost anything!" poster_type = /obj/structure/sign/poster/custom -/obj/item/contraband/poster/custom/New(turf/loc, var/given_serial = 0) +/obj/item/contraband/poster/custom/Initialize(mapload, var/given_serial = 0) if(given_serial == 0) serial_number = 1 //Decidedly unrandom else serial_number = given_serial - ..(loc) + . = ..() /obj/item/contraband/poster/custom/verb/select_poster() set name = "Set Poster type" @@ -137,8 +137,8 @@ var/roll_type var/poster_set = FALSE -/obj/structure/sign/poster/New(var/newloc, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster) - ..(newloc) +/obj/structure/sign/poster/Initialize(mapload, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster) + . = ..() if(!serial) serial = rand(1, poster_designs.len) //use a random serial if none is given @@ -226,7 +226,7 @@ /obj/structure/sign/poster/nanotrasen roll_type = /obj/item/contraband/poster/nanotrasen -/obj/structure/sign/poster/nanotrasen/New(var/newloc, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster/nanotrasen) +/obj/structure/sign/poster/nanotrasen/Initialize(mapload, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster/nanotrasen) if(!serial) serial = rand(1, NT_poster_designs.len) @@ -234,7 +234,7 @@ var/datum/poster/design = NT_poster_designs[serial_number] set_poster(design) - ..(newloc, placement_dir, serial, itemtype) + . = ..(mapload, placement_dir, serial, itemtype) //Non-Random Posters diff --git a/code/game/objects/effects/effect_system_ch.dm b/code/game/objects/effects/effect_system_ch.dm index b110e1dd9c..1378498748 100644 --- a/code/game/objects/effects/effect_system_ch.dm +++ b/code/game/objects/effects/effect_system_ch.dm @@ -14,12 +14,10 @@ var/amount = 6.0 var/time_to_live = 500 -/obj/effect/effect/confetti/New() - ..() +/obj/effect/effect/confetti/Initialize(mapload) + . = ..() if(time_to_live) - spawn (time_to_live) - if(!QDELETED(src)) - qdel(src) + QDEL_IN(src, time_to_live) //make confetti on ground cleanable decal to spawn /datum/effect/effect/system/confetti_spread diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 0610357033..735587bd37 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -88,13 +88,13 @@ delete_me = TRUE //VORE Station Add End - landmarks_list += src - if(delete_me) return INITIALIZE_HINT_QDEL + else + landmarks_list += src /obj/effect/landmark/Destroy(var/force = FALSE) - if(delete_me || force) + if(force) landmarks_list -= src return ..() return QDEL_HINT_LETMELIVE diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm index 14fd9fe349..9f40bbca89 100644 --- a/code/game/objects/effects/spawners/bombspawner.dm +++ b/code/game/objects/effects/spawners/bombspawner.dm @@ -44,14 +44,14 @@ name = "TTV bomb - proximity" assembly_type = /obj/item/assembly/prox_sensor -/obj/effect/spawner/newbomb/radio/custom/New(var/newloc, ph, ox, co) +/obj/effect/spawner/newbomb/radio/custom/Initialize(mapload, ph, ox, co) if(ph != null) phoron_amt = ph if(ox != null) oxygen_amt = ox if(co != null) carbon_amt = co - ..() + . = ..() /obj/effect/spawner/newbomb/Initialize(mapload) - ..() + . = ..() var/obj/item/transfer_valve/V = new(src.loc) var/obj/item/tank/phoron/PT = new(V) var/obj/item/tank/oxygen/OT = new(V) @@ -100,8 +100,8 @@ var/phoron_amt = 0 var/oxygen_amt = 0 -/obj/effect/spawner/onetankbomb/New(newloc) //just needs an assembly. - ..(newloc) +/obj/effect/spawner/onetankbomb/Initialize(mapload) //just needs an assembly. + . = ..() var/type = pick(/obj/item/tank/phoron/onetankbomb, /obj/item/tank/oxygen/onetankbomb) new type(src.loc) @@ -116,8 +116,8 @@ // var/assembly_type = /obj/item/assembly/signaler //Note that the maximum amount of gas you can put in a 70L air tank at 1013.25 kPa and 519K is 16.44 mol. -/obj/effect/spawner/onetankbomb/full/New(newloc) //just needs an assembly. - ..(newloc) +/obj/effect/spawner/onetankbomb/full/Initialize(mapload) //just needs an assembly. + . = ..() var/type = pick(/obj/item/tank/phoron/onetankbomb/full, /obj/item/tank/oxygen/onetankbomb/full) new type(src.loc) @@ -132,8 +132,8 @@ // var/assembly_type = /obj/item/assembly/signaler //Note that the maximum amount of gas you can put in a 70L air tank at 1013.25 kPa and 519K is 16.44 mol. -/obj/effect/spawner/onetankbomb/full/New(newloc) //just needs an assembly. - ..(newloc) +/obj/effect/spawner/onetankbomb/full/Initialize(mapload) //just needs an assembly. + . = ..() var/type = pick(/obj/item/tank/phoron/onetankbomb/full, /obj/item/tank/oxygen/onetankbomb/full) new type(src.loc) diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 25a6bba618..dc6a141bf9 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -285,7 +285,7 @@ But for now, for what it's been used for, it works. return if(Mtarget) H.forceMove(Mtarget.loc) - var/obj/locker = new /obj/structure/closet/secure_closet/mind(target.loc, mind_target = H.mind) + var/obj/locker = new /obj/structure/closet/secure_closet/mind(target.loc, H.mind) for(var/obj/item/W in H) if(istype(W, /obj/item/implant/backup || istype(W, /obj/item/nif))) continue @@ -343,5 +343,6 @@ But for now, for what it's been used for, it works. name = "Autostrip target to send mobs to." /obj/effect/autostriptarget/mob/Initialize(mapload) + . = ..() if(targetid) GLOB.mapped_autostrips_mob[targetid] = src diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm index 5910b76849..e4e767ca1a 100644 --- a/code/game/objects/items/devices/communicator/cartridge.dm +++ b/code/game/objects/items/devices/communicator/cartridge.dm @@ -398,9 +398,9 @@ name = "\improper BreatheDeep cartridge" icon_state = "cart-a" -/obj/item/commcard/atmos/New() - ..() - internal_devices |= new /obj/item/analyzer(src) +/obj/item/commcard/atmos/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/analyzer(src) // Medical Cartridge: @@ -414,10 +414,10 @@ icon_state = "cart-m" ui_templates = list(list("name" = "Medical Records", "template" = "med_records.tmpl")) -/obj/item/commcard/medical/New() - ..() - internal_devices |= new /obj/item/healthanalyzer(src) - internal_devices |= new /obj/item/halogen_counter(src) +/obj/item/commcard/medical/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/healthanalyzer(src) + internal_devices += new /obj/item/halogen_counter(src) /obj/item/commcard/medical/get_data() return list(list("field" = "med_records", "value" = get_med_records())) @@ -434,9 +434,9 @@ name = "\improper ChemWhiz cartridge" icon_state = "cart-chem" -/obj/item/commcard/medical/chemistry/New() - ..() - internal_devices |= new /obj/item/reagent_scanner(src) +/obj/item/commcard/medical/chemistry/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/reagent_scanner(src) // Detective Cartridge: @@ -526,9 +526,9 @@ list("name" = "Integrated Signaler Control", "template" = "signaler_access.tmpl") ) -/obj/item/commcard/signal/New() - ..() - internal_devices |= new /obj/item/assembly/signaler(src) +/obj/item/commcard/signal/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/assembly/signaler(src) /obj/item/commcard/signal/get_data() return list( @@ -549,10 +549,10 @@ icon_state = "cart-tox" // UI templates inherited -/obj/item/commcard/signal/science/New() - ..() - internal_devices |= new /obj/item/reagent_scanner(src) - internal_devices |= new /obj/item/analyzer(src) +/obj/item/commcard/signal/science/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/reagent_scanner(src) + internal_devices += new /obj/item/analyzer(src) // Supply Cartridge: @@ -566,8 +566,8 @@ list("name" = "Supply Records", "template" = "supply_records.tmpl") ) -/obj/item/commcard/supply/New() - ..() +/obj/item/commcard/supply/Initialize(mapload) + . = ..() internal_data["supply_category"] = null internal_data["supply_controls"] = FALSE // Cannot control the supply shuttle, cannot accept orders internal_data["supply_pack_expanded"] = list() @@ -610,8 +610,8 @@ list("name" = "Employment Records", "template" = "emp_records.tmpl") ) -/obj/item/commcard/head/New() - ..() +/obj/item/commcard/head/Initialize(mapload) + . = ..() internal_data["stat_display_line1"] = null internal_data["stat_display_line2"] = null internal_data["stat_display_active1"] = null @@ -730,11 +730,11 @@ list("name" = "Integrated Signaler Control", "template" = "signaler_access.tmpl") ) -/obj/item/commcard/head/rd/New() - ..() - internal_devices |= new /obj/item/analyzer(src) - internal_devices |= new /obj/item/reagent_scanner(src) - internal_devices |= new /obj/item/assembly/signaler(src) +/obj/item/commcard/head/rd/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/analyzer(src) + internal_devices += new /obj/item/reagent_scanner(src) + internal_devices += new /obj/item/assembly/signaler(src) /obj/item/commcard/head/rd/get_data() var/list/data = ..() @@ -761,11 +761,11 @@ list("name" = "Medical Records", "template" = "med_records.tmpl") ) -/obj/item/commcard/head/cmo/New() - ..() - internal_devices |= new /obj/item/healthanalyzer(src) - internal_devices |= new /obj/item/reagent_scanner(src) - internal_devices |= new /obj/item/halogen_counter(src) +/obj/item/commcard/head/cmo/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/healthanalyzer(src) + internal_devices += new /obj/item/reagent_scanner(src) + internal_devices += new /obj/item/halogen_counter(src) /obj/item/commcard/head/cmo/get_data() var/list/data = ..() @@ -845,13 +845,13 @@ list("name" = "Integrated Signaler Control", "template" = "signaler_access.tmpl") ) -/obj/item/commcard/head/captain/New() - ..() - internal_devices |= new /obj.item/analyzer(src) - internal_devices |= new /obj/item/healthanalyzer(src) - internal_devices |= new /obj/item/reagent_scanner(src) - internal_devices |= new /obj/item/halogen_counter(src) - internal_devices |= new /obj/item/assembly/signaler(src) +/obj/item/commcard/head/captain/Initialize(mapload) + . = ..() + internal_devices += new /obj.item/analyzer(src) + internal_devices += new /obj/item/healthanalyzer(src) + internal_devices += new /obj/item/reagent_scanner(src) + internal_devices += new /obj/item/halogen_counter(src) + internal_devices += new /obj/item/assembly/signaler(src) /obj/item/commcard/head/captain/get_data() var/list/data = ..() @@ -943,9 +943,9 @@ list("name" = "Integrated GPS", "template" = "gps_access.tmpl") ) -/obj/item/commcard/explorer/New() - ..() - internal_devices |= new /obj/item/gps/explorer(src) +/obj/item/commcard/explorer/Initialize(mapload) + . = ..() + internal_devices += new /obj/item/gps/explorer(src) /obj/item/commcard/explorer/get_data() var/list/GPS = get_GPS_lists() diff --git a/code/game/objects/items/devices/e_beacon.dm b/code/game/objects/items/devices/e_beacon.dm index 54fc2ed305..9cf9c06a23 100644 --- a/code/game/objects/items/devices/e_beacon.dm +++ b/code/game/objects/items/devices/e_beacon.dm @@ -9,7 +9,8 @@ pickup_sound = 'sound/items/pickup/device.ogg' drop_sound = 'sound/items/drop/device.ogg' -/obj/item/emergency_beacon/New() +/obj/item/emergency_beacon/Initialize(mapload) + . = ..() gps = new/obj/item/gps/emergency_beacon(src) /obj/item/gps/emergency_beacon diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 5d54a5c10c..d64c4880b1 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -50,11 +50,11 @@ /obj/item/radio/headset/handle_message_mode(mob/living/M as mob, list/message_pieces, channel) if(channel == "special") if(translate_binary) - var/datum/language/binary = GLOB.all_languages["Robot Talk"] + var/datum/language/binary = GLOB.all_languages[LANGUAGE_ROBOT_TALK] binary.broadcast(M, M.strip_prefixes(multilingual_to_message(message_pieces))) return RADIO_CONNECTION_NON_SUBSPACE if(translate_hive) - var/datum/language/hivemind = GLOB.all_languages["Hivemind"] + var/datum/language/hivemind = GLOB.all_languages[LANGUAGE_HIVEMIND] hivemind.broadcast(M, M.strip_prefixes(multilingual_to_message(message_pieces))) return RADIO_CONNECTION_NON_SUBSPACE return RADIO_CONNECTION_FAIL diff --git a/code/game/objects/items/devices/tvcamera.dm b/code/game/objects/items/devices/tvcamera.dm index 30aa888cfa..46059b082f 100644 --- a/code/game/objects/items/devices/tvcamera.dm +++ b/code/game/objects/items/devices/tvcamera.dm @@ -178,8 +178,8 @@ var/datum/weakref/showing var/showing_name -/obj/item/clothing/accessory/bodycam/New() - ..() +/obj/item/clothing/accessory/bodycam/Initialize(mapload) + . = ..() listening_objects += src /obj/item/clothing/accessory/bodycam/Destroy() diff --git a/code/game/objects/items/falling_object_attack_vr.dm b/code/game/objects/items/falling_object_attack_vr.dm index bfd9dc22dd..b9537f7ca0 100644 --- a/code/game/objects/items/falling_object_attack_vr.dm +++ b/code/game/objects/items/falling_object_attack_vr.dm @@ -7,6 +7,7 @@ icon_state = "drop_marker" /obj/effect/calldown_attack/Initialize(mapload) + . = ..() var/delay = rand(25, 30) addtimer(CALLBACK(src, PROC_REF(spawn_object)), delay-7) @@ -26,7 +27,7 @@ icon = 'icons/effects/random_stuff_vr.dmi' /obj/effect/illusionary_fall/Initialize(mapload) - .=..() + . = ..() icon_state = "[rand(1,33)]" /obj/effect/illusionary_fall/end_fall(var/crushing = FALSE) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 77a550ee3d..7c5d4bc617 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -192,7 +192,7 @@ to_chat(user, span_warning("This [W] does not seem to fit.")) return - var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1) + var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), FALSE, TRUE) if(!O) return user.drop_item() diff --git a/code/game/objects/items/stacks/tiles/tile_types_ch.dm b/code/game/objects/items/stacks/tiles/tile_types_ch.dm index ccc0d06e0c..963cfcc53f 100644 --- a/code/game/objects/items/stacks/tiles/tile_types_ch.dm +++ b/code/game/objects/items/stacks/tiles/tile_types_ch.dm @@ -3,15 +3,14 @@ //^Does the bug this comment refers to even exist anymore. idk. -/obj/item/stack/tile/New() - ..() +/obj/item/stack/tile/Initialize(mapload) + . = ..() if(!default_type) default_type = DEFAULT_WALL_MATERIAL material = get_material_by_name("[default_type]") if(!material) - qdel(src) - return 0 + return INITIALIZE_HINT_QDEL //recipes = material.get_recipes() No. stacktype = material.stack_type @@ -25,7 +24,6 @@ flags |= NOCONDUCT //matter = material.get_matter() Bad. - return 1 /obj/item/stack/material/get_material() diff --git a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm index fdaf446bf2..dddc51b85e 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm @@ -50,8 +50,8 @@ board_type = new /datum/frame/frame_types/display matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/circuitboard/security/telescreen/bodycamera/New() - ..() +/obj/item/circuitboard/security/telescreen/bodycamera/Initialize(mapload) + . = ..() network = NETWORK_BODYCAM // CHOMPEdit End diff --git a/code/game/objects/items/weapons/gift_wrappaper_ch.dm b/code/game/objects/items/weapons/gift_wrappaper_ch.dm index a3d2373e02..3fb9031b90 100644 --- a/code/game/objects/items/weapons/gift_wrappaper_ch.dm +++ b/code/game/objects/items/weapons/gift_wrappaper_ch.dm @@ -11,15 +11,14 @@ plane = ABOVE_MOB_PLANE var/chaos -/obj/item/a_gift/advanced/New() - ..() +/obj/item/a_gift/advanced/Initialize(mapload) + . = ..() icon_state += "_[pick("g","r","b","y","p")]" if(prob(1)) icon_state = "chomp_present_chaos" chaos = TRUE name = "chaotic present" desc = "The casino dev messed up and gave you the wrong present! This one pulses with potential for good or evil!" - return /obj/item/a_gift/advanced/attack_self(mob/M as mob) //WIP - ALWAYS add more items to list! - Jack var/gift_type_advanced = pick( diff --git a/code/game/objects/items/weapons/manuals_ch.dm b/code/game/objects/items/weapons/manuals_ch.dm index 0c6f7d4921..da885d4120 100644 --- a/code/game/objects/items/weapons/manuals_ch.dm +++ b/code/game/objects/items/weapons/manuals_ch.dm @@ -5,9 +5,6 @@ icon = 'icons/obj/library.dmi' author = "NanoTrasen" title = "Chemical Recipes and Refreshers" - -/obj/item/book/manual/chemistry_guide/New() - ..() dat = {"