From c3de6927269f1491b5b8ed51f88bca58b6655298 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sun, 21 Feb 2021 22:17:30 -0700
Subject: [PATCH] let's do that
---
code/_onclick/hud/ability_screen_objects.dm | 8 +-
.../subsystems/emergency_shuttle.dm | 4 +-
code/datums/beam.dm | 2 +-
code/game/area/areas.dm | 2 +-
code/game/atoms.dm | 6 -
code/game/dna/dna_modifier.dm | 40 +-
.../gamemodes/changeling/powers/armblade.dm | 4 +-
.../game/gamemodes/changeling/powers/armor.dm | 4 +-
.../changeling/powers/bioelectrogenesis.dm | 5 +-
.../changeling/powers/fabricate_clothing.dm | 290 -
code/game/gamemodes/cult/construct_spells.dm | 5 +-
code/game/gamemodes/cult/cult_structures.dm | 2 +-
.../game/gamemodes/technomancer/spell_objs.dm | 9 +-
.../gamemodes/technomancer/spells/control.dm | 2 +-
.../technomancer/spells/spawner/pulsar.dm | 2 +-
code/game/machinery/Sleeper.dm | 4 +-
code/game/machinery/airconditioner_vr.dm | 2 +-
code/game/machinery/alarm.dm | 4 +-
code/game/machinery/atmo_control.dm | 4 +-
.../atmoalter/area_atmos_computer.dm | 2 +-
code/game/machinery/atmoalter/meter.dm | 2 +-
.../atmoalter/portable_atmospherics.dm | 2 +-
code/game/machinery/autolathe.dm | 2 +-
code/game/machinery/bomb_tester_vr.dm | 2 +-
code/game/machinery/computer/camera.dm | 2 +-
code/game/machinery/computer/cloning.dm | 2 +-
code/game/machinery/computer/computer.dm | 2 +-
code/game/machinery/computer/guestpass.dm | 2 +-
code/game/machinery/computer/message.dm | 2 +-
code/game/machinery/computer/station_alert.dm | 2 +-
code/game/machinery/cryo.dm | 2 +-
code/game/machinery/cryopod.dm | 2 +-
code/game/machinery/doorbell_vr.dm | 4 +-
code/game/machinery/doors/airlock.dm | 2 +-
code/game/machinery/doors/alarmlock.dm | 2 +-
code/game/machinery/doors/blast_door.dm | 2 +-
code/game/machinery/doors/brigdoors.dm | 2 +-
.../airlock_docking_controller.dm | 2 +-
.../airlock_docking_controller_multi.dm | 2 +-
.../embedded_controller_base.dm | 4 +-
code/game/machinery/jukebox.dm | 2 +-
code/game/machinery/oxygen_pump.dm | 2 +-
code/game/machinery/portable_turret.dm | 2 +-
code/game/machinery/status_display.dm | 2 +-
code/game/machinery/telecomms/broadcaster.dm | 2 +-
.../machinery/telecomms/telecomunications.dm | 14 +-
code/game/machinery/turret_control.dm | 2 +-
code/game/machinery/vending.dm | 2 +-
.../machinery/virtual_reality/ar_console.dm | 2 +-
.../machinery/virtual_reality/vr_console.dm | 2 +-
code/game/machinery/vr_console.dm | 2 +-
code/game/mecha/combat/gorilla.dm | 2 +-
code/game/mecha/combat/gygax.dm | 2 +-
code/game/mecha/combat/marauder.dm | 4 +-
code/game/mecha/combat/phazon.dm | 2 +-
.../mecha/equipment/tools/medical_tools.dm | 4 +-
code/game/mecha/equipment/tools/tools.dm | 8 +-
code/game/mecha/mech_fabricator.dm | 2 +-
code/game/mecha/mech_prosthetics.dm | 2 +-
code/game/mecha/mech_sensor.dm | 2 +-
code/game/mecha/medical/medical.dm | 2 +-
code/game/mecha/medical/odysseus.dm | 133 -
code/game/mecha/space/hoverpod.dm | 4 +-
code/game/mecha/space/shuttle.dm | 2 +-
code/game/mecha/working/working.dm | 2 +-
code/game/objects/effects/alien/aliens.dm | 2 +-
code/game/objects/effects/chem/coating.dm | 2 +-
.../game/objects/effects/decals/contraband.dm | 2 +-
code/game/objects/effects/effect_system.dm | 6 +-
code/game/objects/effects/landmarks.dm | 2 +-
.../objects/effects/map_effects/beam_point.dm | 2 +-
.../effects/map_effects/effect_emitter.dm | 2 +-
.../effects/map_effects/map_effects.dm | 72 -
.../effects/map_effects/radiation_emitter.dm | 2 +-
code/game/objects/effects/misc.dm | 66 -
code/game/objects/effects/spiders.dm | 4 +-
code/game/objects/effects/step_triggers.dm | 2 +-
.../temporary_visuals/temporary_visual.dm | 2 +-
code/game/objects/items/bodybag.dm | 2 +-
code/game/objects/items/contraband.dm | 2 +-
code/game/objects/items/devices/PDA/cart.dm | 8 +-
code/game/objects/items/devices/PDA/radio.dm | 2 +-
.../items/devices/communicator/cartridge.dm | 8 +-
.../devices/communicator/communicator.dm | 4 +-
code/game/objects/items/devices/flash.dm | 2 +-
code/game/objects/items/devices/flashlight.dm | 2 +-
code/game/objects/items/devices/geiger.dm | 2 +-
.../objects/items/devices/radio/headset.dm | 4 +-
.../objects/items/devices/radio/intercom.dm | 16 +-
.../objects/items/devices/radio/jammer.dm | 2 +-
.../objects/items/devices/suit_cooling.dm | 2 +-
code/game/objects/items/devices/tvcamera.dm | 4 +-
.../objects/items/stacks/marker_beacons.dm | 2 +-
code/game/objects/items/storage/_storage.dm | 4 +-
code/game/objects/items/storage/fancy.dm | 14 +-
code/game/objects/items/storage/firstaid.dm | 4 +-
code/game/objects/items/storage/misc.dm | 4 +-
code/game/objects/items/storage/mre.dm | 2 +-
code/game/objects/items/storage/toolbox.dm | 6 +-
.../game/objects/items/storage/uplink_kits.dm | 10 +-
code/game/objects/items/weapons/RCD.dm | 10 +-
.../objects/items/weapons/barrier_tape.dm | 2 +-
code/game/objects/items/weapons/candle.dm | 4 +-
.../objects/items/weapons/cigs_lighters.dm | 8 +-
.../game/objects/items/weapons/clown_items.dm | 2 +-
.../objects/items/weapons/extinguisher.dm | 2 +-
.../items/weapons/grenades/chem_grenade.dm | 14 +-
.../items/weapons/id cards/station_ids.dm | 12 +-
.../items/weapons/id cards/syndicate_ids.dm | 225 -
code/game/objects/items/weapons/inducer.dm | 4 +-
.../items/weapons/material/whetstone.dm | 77 -
code/game/objects/items/weapons/mop.dm | 2 +-
code/game/objects/items/weapons/nullrod.dm | 10 +-
.../objects/items/weapons/tanks/jetpack.dm | 6 +-
.../objects/items/weapons/tanks/tank_types.dm | 26 +-
.../game/objects/items/weapons/tanks/tanks.dm | 2 +-
.../items/weapons/tools/weldingtool.dm | 6 +-
.../objects/items/weapons/weldbackpack.dm | 2 +-
code/game/objects/mob_spawner.dm | 383 --
code/game/objects/random/_random.dm | 2 +-
code/game/objects/structures/catwalk.dm | 107 -
code/game/objects/structures/cliff.dm | 2 +-
.../structures/crates_lockers/closets.dm | 487 --
.../crates_lockers/closets/secure/cargo.dm | 8 +-
.../closets/secure/engineering.dm | 6 +-
.../crates_lockers/closets/secure/explorer.dm | 6 +-
.../closets/secure/guncabinet.dm | 4 +-
.../closets/secure/hydroponics.dm | 2 +-
.../crates_lockers/closets/secure/medical.dm | 321 -
.../closets/secure/scientist.dm | 2 +-
.../crates_lockers/closets/secure/security.dm | 20 +-
.../crates_lockers/closets/syndicate.dm | 4 +-
.../crates_lockers/closets/utility_closets.dm | 4 +-
.../closets/utility_closets_vr.dm | 2 +-
.../crates_lockers/closets/wardrobe.dm | 8 +-
.../structures/crates_lockers/largecrate.dm | 4 +-
.../crates_lockers/largecrate_vr.dm | 8 +-
.../structures/crates_lockers/vehiclecage.dm | 2 +-
code/game/objects/structures/fence.dm | 179 -
code/game/objects/structures/fireaxe.dm | 2 +-
code/game/objects/structures/flora.dm | 8 +-
code/game/objects/structures/flora/trees.dm | 4 +-
.../structures/ghost_pods/ghost_pods.dm | 2 +-
.../objects/structures/ghost_pods/human.dm | 4 +-
.../objects/structures/ghost_pods/silicon.dm | 2 +-
code/game/objects/structures/holoplant.dm | 2 +-
.../objects/structures/kitchen_foodcart.dm | 42 -
code/game/objects/structures/lattice.dm | 2 +-
code/game/objects/structures/lightpost.dm | 42 -
code/game/objects/structures/loot_piles.dm | 2 +-
.../game/objects/structures/map_blocker_vr.dm | 2 +-
code/game/objects/structures/noticeboard.dm | 2 +-
.../objects/structures/props/alien_props.dm | 2 +-
.../objects/structures/props/beam_prism.dm | 4 +-
code/game/objects/structures/props/nest.dm | 2 +-
.../objects/structures/props/puzzledoor.dm | 2 +-
code/game/objects/structures/props/swarm.dm | 2 +-
.../objects/structures/props/transmitter.dm | 2 +-
code/game/objects/structures/railing.dm | 2 +-
code/game/objects/structures/safe.dm | 189 -
code/game/objects/structures/stasis_cage.dm | 2 +-
code/game/objects/structures/trash_pile.dm | 2 +-
code/game/objects/structures/watercloset.dm | 2 +-
.../game/objects/structures/window_spawner.dm | 2 +-
code/game/shuttle_engines.dm | 2 +-
code/game/turfs/flooring/flooring_decals.dm | 2 +-
code/game/turfs/flooring/flooring_premade.dm | 4 +-
code/game/turfs/simulated/floor_types.dm | 6 +-
code/game/turfs/simulated/lava.dm | 2 +-
code/game/turfs/simulated/outdoors/grass.dm | 4 +-
.../game/turfs/simulated/outdoors/outdoors.dm | 2 +-
code/game/turfs/simulated/outdoors/sky.dm | 2 +-
code/game/turfs/simulated/wall_types.dm | 4 +-
code/game/turfs/simulated/water.dm | 6 +-
code/game/turfs/space/transit.dm | 8 +-
code/game/turfs/unsimulated/beach.dm | 94 -
code/game/turfs/unsimulated/sky_vr.dm | 82 -
code/modules/ai/ai_holder.dm | 291 -
code/modules/ai/say_list.dm | 172 -
code/modules/artifice/cursedform.dm | 2 +-
code/modules/artifice/telecube.dm | 2 +-
.../components/binary_devices/dp_vent_pump.dm | 2 +-
.../components/binary_devices/passive_gate.dm | 2 +-
.../components/binary_devices/pump.dm | 2 +-
.../components/trinary_devices/filter.dm | 2 +-
.../modules/atmospherics/components/tvalve.dm | 2 +-
.../components/unary/outlet_injector.dm | 2 +-
.../components/unary/vent_pump.dm | 2 +-
code/modules/atmospherics/components/valve.dm | 2 +-
code/modules/awaymissions/corpse.dm | 2 +-
code/modules/awaymissions/gateway.dm | 6 +-
code/modules/awaymissions/loot.dm | 2 +-
code/modules/awaymissions/zlevel.dm | 4 +-
code/modules/catalogue/cataloguer.dm | 2 +-
code/modules/clothing/gloves/color.dm | 2 +-
code/modules/clothing/gloves/miscellaneous.dm | 2 +-
code/modules/clothing/head/hardhat.dm | 2 +-
code/modules/clothing/head/pilot_helmet.dm | 201 -
code/modules/clothing/shoes/miscellaneous.dm | 2 +-
.../clothing/spacesuits/rig/modules/combat.dm | 2 +-
.../clothing/spacesuits/void/void_vr.dm | 4 +-
code/modules/clothing/suits/storage.dm | 2 +-
.../clothing/under/accessories/accessory.dm | 2 +-
.../clothing/under/accessories/holster.dm | 2 +-
.../clothing/under/accessories/torch.dm | 2 +-
code/modules/clothing/under/miscellaneous.dm | 2 +-
code/modules/detectivework/tools/luminol.dm | 13 -
code/modules/detectivework/tools/rag.dm | 2 +-
code/modules/fishing/fishing_net.dm | 2 +-
code/modules/fishing/fishing_rod.dm | 138 -
.../food/drinkingglass/drinkingglass.dm | 166 -
code/modules/food/drinkingglass/shaker.dm | 4 +-
code/modules/food/food.dm | 2 +-
code/modules/food/food/cans.dm | 26 +-
code/modules/food/food/condiment.dm | 76 +-
code/modules/food/food/drinks.dm | 20 +-
code/modules/food/food/drinks/bottle.dm | 88 +-
.../modules/food/food/drinks/drinkingglass.dm | 8 +-
code/modules/food/food/snacks.dm | 6119 -----------------
code/modules/food/food/snacks/meat.dm | 4 +-
code/modules/food/glass/bottle.dm | 2 +-
code/modules/food/glass/bottle_vr.dm | 2 +-
.../cooking_machines/_cooker_output.dm | 4 +-
.../food/kitchen/cooking_machines/candy.dm | 2 +-
.../food/kitchen/cooking_machines/cereal.dm | 2 +-
.../kitchen/cooking_machines/container.dm | 2 +-
.../food/kitchen/cooking_machines/grill.dm | 4 +-
.../food/kitchen/cooking_machines/oven.dm | 2 +-
code/modules/food/kitchen/icecream.dm | 4 +-
code/modules/holodeck/HolodeckObjects.dm | 2 +-
code/modules/holomap/station_holomap.dm | 2 +-
code/modules/hydroponics/grown.dm | 2 +-
code/modules/hydroponics/seed_packets.dm | 4 +-
code/modules/hydroponics/trays/tray.dm | 2 +-
code/modules/identification/item_procs.dm | 2 +-
code/modules/instruments/instruments/item.dm | 8 +-
.../integrated_electronics/core/assemblies.dm | 2 +-
.../core/assemblies/clothing.dm | 198 -
.../integrated_electronics/core/detailer.dm | 2 +-
.../integrated_electronics/passive/power.dm | 2 +-
.../integrated_electronics/subtypes/input.dm | 4 +-
.../integrated_electronics/subtypes/output.dm | 2 +-
code/modules/library/lib_items.dm | 2 +-
code/modules/library/lib_machines.dm | 2 +-
code/modules/lighting/lighting_overlay.dm | 2 +-
code/modules/lighting/lighting_setup.dm | 2 +-
code/modules/lore_codex/codex.dm | 2 +-
.../mapping/map_helpers/_map_helpers.dm | 4 +-
code/modules/mapping/map_helpers/airlock.dm | 2 +-
code/modules/mapping/map_helpers/baseturf.dm | 2 +-
code/modules/media/media_machinery.dm | 2 +-
code/modules/mining/fulton.dm | 207 -
code/modules/mining/machine_processing.dm | 4 +-
code/modules/mining/mine_outcrops.dm | 117 -
code/modules/mining/mine_turfs.dm | 2 +-
.../equipment_vendor.dm | 2 +-
code/modules/mining/resonator.dm | 2 +-
code/modules/mining/resonator_vr.dm | 2 +-
code/modules/mining/shelter_atoms.dm | 2 +-
code/modules/mob/freelook/update_triggers.dm | 2 +-
code/modules/mob/living/bot/bot.dm | 2 +-
.../mob/living/carbon/alien/larva/larva.dm | 2 +-
code/modules/mob/living/carbon/brain/brain.dm | 2 +-
code/modules/mob/living/carbon/carbon.dm | 2 +-
.../human/ai_controlled/ai_controlled.dm | 4 +-
.../mob/living/carbon/human/human_species.dm | 14 +-
code/modules/mob/living/carbon/human/npcs.dm | 2 +-
.../mob/living/carbon/metroid/items.dm | 2 +-
code/modules/mob/living/silicon/ai/ai.dm | 2 +-
.../living/silicon/ai/ai_remote_control.dm | 2 +-
.../mob/living/silicon/robot/component.dm | 259 -
.../mob/living/silicon/robot/drone/swarm.dm | 2 +-
.../living/silicon/robot/drone/swarm_items.dm | 2 +-
.../mob/living/silicon/robot/robot_items.dm | 4 +-
.../silicon/robot/robot_remote_control.dm | 4 +-
.../mob/living/simple_mob/simple_mob.dm | 2 +-
.../simple_mob/subtypes/animal/borer/borer.dm | 2 +-
.../subtypes/animal/giant_spider/carrier.dm | 2 +-
.../subtypes/animal/giant_spider/pepper.dm | 34 -
.../animal/giant_spider/phorogenic.dm | 2 +-
.../subtypes/animal/passive/crab.dm | 2 +-
.../subtypes/animal/passive/fish.dm | 6 +-
.../subtypes/animal/passive/lizard.dm | 2 +-
.../subtypes/animal/passive/mouse.dm | 2 +-
.../simple_mob/subtypes/animal/pets/cat.dm | 4 +-
.../simple_mob/subtypes/animal/pets/parrot.dm | 4 +-
.../subtypes/animal/sif/frostfly.dm | 2 +-
.../subtypes/animal/sif/glitterfly.dm | 4 +-
.../simple_mob/subtypes/animal/sif/kururak.dm | 2 +-
.../simple_mob/subtypes/animal/sif/leech.dm | 2 +-
.../simple_mob/subtypes/animal/sif/racoon.dm | 2 +-
.../simple_mob/subtypes/animal/sif/shantak.dm | 106 -
.../simple_mob/subtypes/animal/space/carp.dm | 2 +-
.../subtypes/animal/space/snake_vr.dm | 2 +-
.../simple_mob/subtypes/animal/space/worm.dm | 4 +-
.../simple_mob/subtypes/humanoid/pirates.dm | 2 +-
.../subtypes/mechanical/combat_drone.dm | 2 +-
.../simple_mob/subtypes/mechanical/golem.dm | 2 +-
.../subtypes/mechanical/hivebot/support.dm | 2 +-
.../subtypes/mechanical/mecha/durand.dm | 2 +-
.../subtypes/mechanical/mecha/hoverpod.dm | 41 -
.../subtypes/mechanical/mecha/mecha.dm | 141 -
.../living/simple_mob/subtypes/slime/slime.dm | 225 -
.../subtypes/slime/xenobio/subtypes.dm | 6 +-
.../simple_mob/subtypes/vore/morph/morph.dm | 2 +-
.../subtypes/vore/shadekin/shadekin.dm | 2 +-
code/modules/mob/mob.dm | 2 +-
code/modules/mob/new_player/login.dm | 2 +-
code/modules/multiz/basic.dm | 55 -
code/modules/multiz/structures.dm | 2 +-
code/modules/multiz/turf.dm | 2 +-
code/modules/nifsoft/nif_softshop.dm | 2 +-
code/modules/organs/internal/augment.dm | 2 +-
.../organs/internal/augment/armmounted.dm | 2 +-
code/modules/organs/internal/spleen.dm | 4 +-
code/modules/organs/internal/stomach.dm | 2 +-
code/modules/organs/robolimbs.dm | 2 +-
code/modules/organs/subtypes/diona.dm | 2 +-
code/modules/organs/subtypes/nano.dm | 179 -
code/modules/organs/subtypes/slime.dm | 2 +-
code/modules/organs/subtypes/standard.dm | 2 +-
code/modules/overmap/events/overmap_event.dm | 123 -
code/modules/overmap/overmap_shuttle.dm | 2 +-
code/modules/overmap/sectors.dm | 2 +-
code/modules/overmap/ships/computers/helm.dm | 2 +-
.../overmap/ships/engines/gas_thruster.dm | 2 +-
.../overmap/ships/engines/ion_thruster.dm | 2 +-
code/modules/overmap/ships/ship.dm | 2 +-
code/modules/overmap/turfs.dm | 4 +-
code/modules/paperwork/filingcabinet.dm | 2 +-
code/modules/paperwork/photocopier.dm | 2 +-
code/modules/power/breaker_box.dm | 4 +-
code/modules/power/cells/power_cells.dm | 2 +-
code/modules/power/fission/engine.dm | 2 +-
code/modules/power/fission/rods.dm | 2 +-
code/modules/power/fusion/core/_core.dm | 4 +-
.../fusion/fuel_assembly/fuel_assembly.dm | 2 +-
.../fusion/fuel_assembly/fuel_compressor.dm | 67 -
.../fusion/fuel_assembly/fuel_injector.dm | 2 +-
.../modules/power/fusion/gyrotron/gyrotron.dm | 2 +-
code/modules/power/generator.dm | 2 +-
code/modules/power/port_gen.dm | 2 +-
code/modules/power/singularity/emitter.dm | 2 +-
.../particle_accelerator/particle_smasher.dm | 2 +-
code/modules/power/solar.dm | 2 +-
code/modules/power/supermatter/supermatter.dm | 2 +-
code/modules/power/tesla/coil.dm | 2 +-
code/modules/power/turbine.dm | 6 +-
code/modules/projectiles/ammunition/magic.dm | 2 +-
.../guns/energy/modular/gunframes.dm | 12 +-
.../guns/energy/modular/modulargun.dm | 2 +-
code/modules/projectiles/guns/magic.dm | 2 +-
code/modules/projectiles/guns/magic/staff.dm | 2 +-
code/modules/projectiles/guns/magic/wand.dm | 2 +-
code/modules/projectiles/projectile/arc.dm | 2 +-
.../modules/projectiles/projectile/special.dm | 2 +-
code/modules/reagents/dispenser/cartridge.dm | 2 +-
code/modules/reagents/dispenser/dispenser2.dm | 2 +-
.../modules/reagents/distilling/distilling.dm | 2 +-
code/modules/reagents/reagent_containers.dm | 2 +-
.../reagents/reagent_containers/blood_pack.dm | 4 +-
.../reagents/reagent_containers/borghydro.dm | 2 +-
.../reagents/reagent_containers/glass.dm | 4 +-
.../reagents/reagent_containers/hypospray.dm | 6 +-
.../reagent_containers/hypospray_vr.dm | 4 +-
.../reagents/reagent_containers/pill.dm | 46 +-
.../reagents/reagent_containers/pill_vr.dm | 26 +-
.../reagents/reagent_containers/spray.dm | 12 +-
.../reagents/reagent_containers/spray_vr.dm | 12 -
.../reagents/reagent_containers/syringes.dm | 12 +-
.../reagent_containers/syringes_vr.dm | 2 +-
code/modules/reagents/reagent_dispenser.dm | 20 +-
code/modules/recycling/conveyor2.dm | 2 +-
code/modules/research/circuitprinter.dm | 2 +-
code/modules/research/protolathe.dm | 2 +-
code/modules/research/rdconsole.dm | 2 +-
code/modules/research/server.dm | 2 +-
code/modules/resleeving/computers.dm | 2 +-
code/modules/resleeving/machines.dm | 2 +-
code/modules/rogueminer_vr/zone_console.dm | 2 +-
code/modules/shieldgen/shield_gen.dm | 2 +-
code/modules/shuttles/landmarks.dm | 8 +-
code/modules/shuttles/shuttles_web.dm | 4 +-
code/modules/spells/artifacts.dm | 2 +-
code/modules/tables/tables.dm | 2 +-
code/modules/telesci/hyper_pad.dm | 2 +-
code/modules/telesci/quantum_pad.dm | 2 +-
code/modules/telesci/telesci_computer.dm | 2 +-
code/modules/turbolift/turbolift_map.dm | 2 +-
code/modules/vehicles/train.dm | 2 +-
code/modules/vore/fluffstuff/custom_items.dm | 4 +-
.../guns/cell_loaded/cell_loaded.dm | 2 +-
code/modules/vore/fluffstuff/guns/nsfw.dm | 2 +-
.../xenoarcheaology/anomaly_container.dm | 43 -
code/modules/xenoarcheaology/finds/misc.dm | 2 +-
code/modules/xenoarcheaology/misc.dm | 2 +-
.../tools/artifact_analyser.dm | 2 +-
.../xenoarcheaology/tools/coolant_tank.dm | 2 +-
code/modules/xenobio/items/slime_objects.dm | 128 -
code/modules/xenobio/items/weapons.dm | 2 +-
maps/endeavor/endeavor_telecomms.dm | 2 +-
maps/endeavor/endeavor_turfs.dm | 8 +-
maps/endeavor/submaps/_endeavor_submaps.dm | 4 +-
maps/endeavor/submaps/odin5a-desert/odin5a.dm | 2 +-
maps/nsv_triumph/submaps/_triumph_submaps.dm | 2 +-
.../submaps/frozen_planet/_frozen_planet.dm | 6 -
.../submaps/gaia_planet/_gaia_planet.dm | 6 -
.../nsv_triumph/submaps/lavaland/_lavaland.dm | 2 +-
.../submaps/mining_planet/_miningplanet.dm | 2 +-
maps/nsv_triumph/submaps/poi_d/_class_d.dm | 16 -
maps/nsv_triumph/submaps/poi_h/_class_h.dm | 18 -
.../nsv_triumph/submaps/space/_debrisfield.dm | 32 -
maps/nsv_triumph/submaps/space/_piratebase.dm | 32 -
.../submaps/space/trade_port/_tradeport.dm | 32 -
maps/nsv_triumph/triumph_phoronlock.dm | 4 +-
maps/nsv_triumph/triumph_telecomms.dm | 2 +-
maps/nsv_triumph/triumph_things.dm | 2 +-
maps/nsv_triumph/triumph_turfs.dm | 6 +-
maps/southern_cross/southern_cross_defines.dm | 293 -
.../structures/closets/engineering.dm | 2 +-
.../structures/closets/medical.dm | 2 +-
.../southern_cross/structures/closets/misc.dm | 6 +-
.../structures/closets/misc_vr.dm | 2 +-
.../structures/closets/security.dm | 2 +-
maps/tether/submaps/_tether_submaps.dm | 2 +-
maps/tether/submaps/alienship/_alienship.dm | 4 +-
maps/tether/submaps/beach/_beach.dm | 2 +-
maps/tether/submaps/space/_debrisfield.dm | 2 +-
.../underdark_pois/underdark_things.dm | 2 +-
maps/tether/tether_phoronlock.dm | 4 +-
maps/tether/tether_telecomms.dm | 2 +-
maps/tether/tether_things.dm | 8 +-
maps/tether/tether_turfs.dm | 6 +-
.../objects/items/devices/radio/spy_bug.dm | 57 -
.../code/modules/shadekin/shadekin.dm | 2 +-
435 files changed, 783 insertions(+), 13094 deletions(-)
diff --git a/code/_onclick/hud/ability_screen_objects.dm b/code/_onclick/hud/ability_screen_objects.dm
index 5320409f205..a564ec4e621 100644
--- a/code/_onclick/hud/ability_screen_objects.dm
+++ b/code/_onclick/hud/ability_screen_objects.dm
@@ -173,13 +173,13 @@
return null
/mob/Login()
- ..()
+ . = ..()
if(ability_master)
ability_master.toggle_open(1)
client.screen -= ability_master
-/mob/New()
- ..()
+/mob/Initialize(mapload)
+ . = ..()
if(!ability_master) //VOREStation Edit: S H A D E K I N
ability_master = new /obj/screen/movable/ability_master(src)
@@ -383,4 +383,4 @@
A.name = object_given.name
ability_objects.Add(A)
if(my_mob.client)
- toggle_open(2) //forces the icons to refresh on screen
\ No newline at end of file
+ toggle_open(2) //forces the icons to refresh on screen
diff --git a/code/controllers/subsystems/emergency_shuttle.dm b/code/controllers/subsystems/emergency_shuttle.dm
index 67f4aa11e99..945ebc8c588 100644
--- a/code/controllers/subsystems/emergency_shuttle.dm
+++ b/code/controllers/subsystems/emergency_shuttle.dm
@@ -246,8 +246,8 @@ SUBSYSTEM_DEF(emergencyshuttle)
layer = TURF_LAYER
plane = TURF_PLANE
-/obj/effect/bgstar/New()
- ..()
+/obj/effect/bgstar/Initialize(mapload)
+ . = ..()
pixel_x += rand(-2,30)
pixel_y += rand(-2,30)
var/starnum = pick("1", "1", "1", "2", "3", "4")
diff --git a/code/datums/beam.dm b/code/datums/beam.dm
index 2428a924f52..5a4032d27dd 100644
--- a/code/datums/beam.dm
+++ b/code/datums/beam.dm
@@ -144,7 +144,7 @@
// 'Reactive' beam parts do something when touched or stood in.
/obj/effect/ebeam/reactive
-/obj/effect/ebeam/reactive/Initialize()
+/obj/effect/ebeam/reactive/Initialize(mapload)
START_PROCESSING(SSobj, src)
return ..()
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index b3f550a9ff4..ff3a3c62d3a 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -71,7 +71,7 @@
..()
-/area/Initialize()
+/area/Initialize(mapload)
. = ..()
return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms.
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index e64ebb7b6ef..67565bbacbb 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -63,12 +63,6 @@
return
// Don't call ..() unless /datum/New() ever exists
- // Uncomment if anything ever uses the return value of SSatoms.InitializeAtoms ~Leshana
- // If a map is being loaded, it might want to know about newly created objects so they can be handled.
- // var/list/created = SSatoms.created_atoms
- // if(created)
- // created += src
-
// Note: I removed "auto_init" feature (letting types disable auto-init) since it shouldn't be needed anymore.
// You can replicate the same by checking the value of the first parameter to initialize() ~Leshana
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index d28b20ea1a5..d760a11904e 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -56,8 +56,8 @@
var/obj/item/reagent_containers/glass/beaker = null
var/opened = 0
-/obj/machinery/dna_scannernew/New()
- ..()
+/obj/machinery/dna_scannernew/Initialize(mapload)
+ . = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/scanning_module(src)
component_parts += new /obj/item/stock_parts/manipulator(src)
@@ -253,7 +253,7 @@
var/selected_ui_target_hex = 1
var/radiation_duration = 2.0
var/radiation_intensity = 1.0
- var/list/datum/dna2/record/buffers[3]
+ var/list/datum/dna2/record/buffers
var/irradiating = 0
var/injector_ready = 0 //Quick fix for issue 286 (screwdriver the screen twice to restore injector) -Pete
var/obj/machinery/dna_scannernew/connected = null
@@ -293,19 +293,27 @@
else
return
-/obj/machinery/computer/scan_consolenew/New()
- ..()
- for(var/i=0;i<3;i++)
- buffers[i+1]=new /datum/dna2/record
- spawn(5)
- for(dir in list(NORTH,EAST,SOUTH,WEST))
- connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir))
- if(!isnull(connected))
- break
- spawn(250)
- src.injector_ready = 1
- return
- return
+/obj/machinery/computer/scan_consolenew/Initialize(mapload)
+ . = ..()
+ buffers = list()
+ for(var/i in 1 to 3)
+ buffers += new /datum/dna2/record
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/machinery/computer/scan_consolenew/LateInitialize()
+ . = ..()
+ scan_for_scanner()
+ addtimer(CALLBACK(src, .proc/recharge_injector), 25 SECONDS
+
+/obj/machinery/computer/scan_consolenew/proc/recharge_injector()
+ injector_ready = TRUE
+
+/obj/machinery/computer/scan_consolenew/proc/scan_for_scanner()
+ connected = null
+ for(var/dir in cardinal)
+ connected = locate(/obj/machinery/dna_scannernew) in get_step(src, dir)
+ if(connected)
+ break
/obj/machinery/computer/scan_consolenew/proc/all_dna_blocks(var/list/buffer)
var/list/arr = list()
diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm
index 7e548295c4a..19c076b58d3 100644
--- a/code/game/gamemodes/changeling/powers/armblade.dm
+++ b/code/game/gamemodes/changeling/powers/armblade.dm
@@ -65,8 +65,8 @@
defend_chance = 40 // The base chance for the weapon to parry.
projectile_parry_chance = 15 // The base chance for a projectile to be deflected.
-/obj/item/melee/changeling/New(location)
- ..()
+/obj/item/melee/changeling/Initialize(mapload)
+ . = ..()
START_PROCESSING(SSobj, src)
if(ismob(loc))
visible_message("A grotesque weapon forms around [loc.name]\'s arm!",
diff --git a/code/game/gamemodes/changeling/powers/armor.dm b/code/game/gamemodes/changeling/powers/armor.dm
index bacb2b5e8b8..a53dd0cf410 100644
--- a/code/game/gamemodes/changeling/powers/armor.dm
+++ b/code/game/gamemodes/changeling/powers/armor.dm
@@ -105,8 +105,8 @@
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
slowdown = 3
-/obj/item/clothing/suit/space/changeling/armored/New()
- ..()
+/obj/item/clothing/suit/space/changeling/armored/Initialize(mapload)
+ . = ..()
if(ismob(loc))
loc.visible_message("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!",
"We harden our flesh, creating a suit of armor!",
diff --git a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm
index 7210e2263d7..26d7c4f97bd 100644
--- a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm
+++ b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm
@@ -113,7 +113,8 @@
agony_amount = 80
electrocute_amount = 20
-/obj/item/electric_hand/New()
+/obj/item/electric_hand/Initialize(mapload)
+ . = ..()
if(ismob(loc))
visible_message("Electrical arcs form around [loc.name]\'s hand!",
"We store a charge of electricity in our hand.",
@@ -208,4 +209,4 @@
to_chat(src, "We are unable to affect \the [target].")
else
qdel(src)
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm
index 992b1d5e47c..e69de29bb2d 100644
--- a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm
+++ b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm
@@ -1,290 +0,0 @@
-var/global/list/changeling_fabricated_clothing = list(
- "w_uniform" = /obj/item/clothing/under/chameleon/changeling,
- "head" = /obj/item/clothing/head/chameleon/changeling,
- "wear_suit" = /obj/item/clothing/suit/chameleon/changeling,
- "shoes" = /obj/item/clothing/shoes/chameleon/changeling,
- "gloves" = /obj/item/clothing/gloves/chameleon/changeling,
- "wear_mask" = /obj/item/clothing/mask/chameleon/changeling,
- "glasses" = /obj/item/clothing/glasses/chameleon/changeling,
- "back" = /obj/item/storage/backpack/chameleon/changeling,
- "belt" = /obj/item/storage/belt/chameleon/changeling,
- "wear_id" = /obj/item/card/id/syndicate/changeling
- )
-
-/datum/power/changeling/fabricate_clothing
- name = "Fabricate Clothing"
- desc = "We reform our flesh to resemble various cloths, leathers, and other materials, allowing us to quickly create a disguise. \
- We cannot be relieved of this clothing by others."
- helptext = "The disguise we create offers no defensive ability. Each equipment slot that is empty will be filled with fabricated equipment. \
- To remove our new fabricated clothing, use this ability again."
- ability_icon_state = "ling_fabricate_clothing"
- genomecost = 1
- verbpath = /mob/proc/changeling_fabricate_clothing
-
-//Grows biological versions of chameleon clothes.
-/mob/proc/changeling_fabricate_clothing()
- set category = "Changeling"
- set name = "Fabricate Clothing (10)"
-
- if(changeling_generic_equip_all_slots(changeling_fabricated_clothing, cost = 10))
- return 1
- return 0
-
-/obj/item/clothing/under/chameleon/changeling
- name = "malformed flesh"
- icon_state = "lingchameleon"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_uniforms.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_uniforms.dmi',
- )
- item_state = "lingchameleon"
- worn_state = "lingchameleon"
- desc = "The flesh all around us has grown a new layer of cells that can shift appearance and create a biological fabric that cannot be distinguished from \
- ordinary cloth, allowing us to make ourselves appear to wear almost anything."
- origin_tech = list() //The base chameleon items have origin technology, which we will inherit if we don't null out this variable.
- canremove = 0 //Since this is essentially flesh impersonating clothes, tearing someone's skin off as if it were clothing isn't possible.
-
-/obj/item/clothing/under/chameleon/changeling/emp_act(severity) //As these are purely organic, EMP does nothing to them.
- return
-
-/obj/item/clothing/under/chameleon/changeling/verb/shred() //Remove individual pieces if needed.
- set name = "Shred Jumpsuit"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/clothing/head/chameleon/changeling
- name = "malformed head"
- icon_state = "lingchameleon"
- desc = "Our head is swelled with a large quanity of rapidly shifting skin cells. We can reform our head to resemble various hats and \
- helmets that biologicals are so fond of wearing."
- origin_tech = list()
- canremove = 0
-
-/obj/item/clothing/head/chameleon/changeling/emp_act(severity)
- return
-
-/obj/item/clothing/head/chameleon/changeling/verb/shred() //The copypasta is real.
- set name = "Shred Helmet"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/clothing/suit/chameleon/changeling
- name = "chitinous chest"
- icon_state = "lingchameleon"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_suits.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_suits.dmi',
- )
- item_state = "armor"
- desc = "The cells in our chest are rapidly shifting, ready to reform into material that can resemble most pieces of clothing."
- origin_tech = list()
- canremove = 0
-
-/obj/item/clothing/suit/chameleon/changeling/emp_act(severity)
- return
-
-/obj/item/clothing/suit/chameleon/changeling/verb/shred()
- set name = "Shred Suit"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/clothing/shoes/chameleon/changeling
- name = "malformed feet"
- icon_state = "lingchameleon"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_shoes.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_shoes.dmi',
- )
- item_state = "black"
- desc = "Our feet are overlayed with another layer of flesh and bone on top. We can reform our feet to resemble various boots and shoes."
- origin_tech = list()
- canremove = 0
-
-/obj/item/clothing/shoes/chameleon/changeling/emp_act()
- return
-
-/obj/item/clothing/shoes/chameleon/changeling/verb/shred()
- set name = "Shred Shoes"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/storage/backpack/chameleon/changeling
- name = "backpack"
- icon_state = "backpack"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_storage.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_storage.dmi',
- )
- item_state = "backpack"
- desc = "A large pouch imbedded in our back, it can shift form to resemble many common backpacks that other biologicals are fond of using."
- origin_tech = list()
- canremove = 0
-
-/obj/item/storage/backpack/chameleon/changeling/emp_act()
- return
-
-/obj/item/storage/backpack/chameleon/changeling/verb/shred()
- set name = "Shred Backpack"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- for(var/atom/movable/AM in src.contents) //Dump whatever's in the bag before deleting.
- AM.forceMove(get_turf(loc))
- qdel(src)
-
-/obj/item/clothing/gloves/chameleon/changeling
- name = "malformed hands"
- icon_state = "lingchameleon"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi',
- )
- item_state = "lingchameleon"
- desc = "Our hands have a second layer of flesh on top. We can reform our hands to resemble a large variety of fabrics and materials that biologicals \
- tend to wear on their hands. Remember that these won't protect your hands from harm."
- origin_tech = list()
- canremove = 0
-
-/obj/item/clothing/gloves/chameleon/changeling/emp_act()
- return
-
-/obj/item/clothing/gloves/chameleon/changeling/verb/shred()
- set name = "Shred Gloves"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/clothing/mask/chameleon/changeling
- name = "chitin visor"
- icon_state = "lingchameleon"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_masks.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_masks.dmi',
- )
- item_state = "gas_alt"
- desc = "A transparent visor of brittle chitin covers our face. We can reform it to resemble various masks that biologicals use. It can also utilize internal \
- tanks.."
- origin_tech = list()
- canremove = 0
-
-/obj/item/clothing/mask/chameleon/changeling/emp_act()
- return
-
-/obj/item/clothing/mask/chameleon/changeling/verb/shred()
- set name = "Shred Mask"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/clothing/glasses/chameleon/changeling
- name = "chitin goggles"
- icon_state = "lingchameleon"
- item_state = "glasses"
- desc = "A transparent piece of eyewear made out of brittle chitin. We can reform it to resemble various glasses and goggles."
- origin_tech = list()
- canremove = 0
-
-/obj/item/clothing/glasses/chameleon/changeling/emp_act()
- return
-
-/obj/item/clothing/glasses/chameleon/changeling/verb/shred()
- set name = "Shred Glasses"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/storage/belt/chameleon/changeling
- name = "waist pouch"
- desc = "We can store objects in this, as well as shift it's appearance, so that it resembles various common belts."
- icon_state = "lingchameleon"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_storage.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_storage.dmi',
- )
- item_state = "utility"
- origin_tech = list()
- canremove = 0
-
-/obj/item/storage/belt/chameleon/changeling/emp_act()
- return
-
-/obj/item/storage/belt/chameleon/changeling/verb/shred()
- set name = "Shred Belt"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/card/id/syndicate/changeling
- name = "chitinous card"
- desc = "A card that we can reform to resemble identification cards. Due to the nature of the material this is made of, it cannot store any access codes."
- icon_state = "changeling"
- assignment = "Harvester"
- origin_tech = list()
- electronic_warfare = 1 //The lack of RFID stuff makes it hard for AIs to track, I guess. *handwaves*
- registered_user = null
- access = null
- canremove = 0
-
-/obj/item/card/id/syndicate/changeling/New(mob/user as mob)
- ..()
- registered_user = user
-
-/obj/item/card/id/syndicate/changeling/Initialize()
- . = ..()
- access = null
-
-/obj/item/card/id/syndicate/changeling/verb/shred()
- set name = "Shred ID Card"
- set category = "Chameleon Items"
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
- playsound(src, 'sound/effects/splat.ogg', 30, 1)
- visible_message("[H] tears off [src]!",
- "We remove [src].")
- qdel(src)
-
-/obj/item/card/id/syndicate/changeling/Click() //Since we can't hold it in our hands, and attack_hand() doesn't work if it in inventory...
- if(!registered_user)
- registered_user = usr
- usr.set_id_info(src)
- ui_interact(registered_user)
- ..()
\ No newline at end of file
diff --git a/code/game/gamemodes/cult/construct_spells.dm b/code/game/gamemodes/cult/construct_spells.dm
index 35235f4ef7a..6dd63e718cf 100644
--- a/code/game/gamemodes/cult/construct_spells.dm
+++ b/code/game/gamemodes/cult/construct_spells.dm
@@ -434,6 +434,7 @@ proc/findNullRod(var/atom/target)
force = 0
show_examine = FALSE
owner = null
+ del_for_null_core = FALSE
core = null
cast_methods = null // Controls how the spell is casted.
aspect = ASPECT_UNHOLY // Used for combining spells. Pretty much any cult spell is unholy.
@@ -442,13 +443,13 @@ proc/findNullRod(var/atom/target)
cast_sound = null // Sound file played when this is used.
var/last_castcheck = null // The last time this spell was cast.
-/obj/item/spell/construct/New()
- //..() //This kills the spell, because super on this calls the default spell's New, which checks for a core. Can't have that.
+/obj/item/spell/construct/Initialize(mapload)
if(isliving(loc))
owner = loc
if(!owner)
qdel(src)
update_icon()
+ return ..()
/obj/item/spell/construct/adjust_instability(var/amount) //The only drawback to the boons of the geometer is the use of a mortal's blood as fuel. Constructs have already paid that price long ago.
return
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index a348a9359dc..b33c207e75a 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -33,7 +33,7 @@
var/activation_cooldown = 30 SECONDS
var/last_activation = 0
-/obj/structure/cult/pylon/Initialize()
+/obj/structure/cult/pylon/Initialize(mapload)
..()
START_PROCESSING(SSobj, src)
diff --git a/code/game/gamemodes/technomancer/spell_objs.dm b/code/game/gamemodes/technomancer/spell_objs.dm
index ea076817286..75606981dfd 100644
--- a/code/game/gamemodes/technomancer/spell_objs.dm
+++ b/code/game/gamemodes/technomancer/spell_objs.dm
@@ -13,6 +13,7 @@
show_examine = FALSE
// var/mob/living/carbon/human/owner = null
var/mob/living/owner = null
+ var/del_for_null_core = TRUE
var/obj/item/technomancer_core/core = null
var/cast_methods = null // Controls how the spell is casted.
var/aspect = null // Used for combining spells.
@@ -111,13 +112,13 @@
// Proc: New()
// Parameters: 0
// Description: Sets owner to equal its loc, links to the owner's core, then applies overlays if needed.
-/obj/item/spell/New()
- ..()
+/obj/item/spell/Initialize(mapload)
+ . = ..()
if(isliving(loc))
owner = loc
if(owner)
core = owner.get_technomancer_core()
- if(!core)
+ if(!core && del_for_null_core)
to_chat(owner, "You need a Core to do that.")
qdel(src)
return
@@ -299,4 +300,4 @@
// If we miss or hit an obstacle, we still want to delete the spell.
spawn(20)
if(src)
- qdel(src)
\ No newline at end of file
+ qdel(src)
diff --git a/code/game/gamemodes/technomancer/spells/control.dm b/code/game/gamemodes/technomancer/spells/control.dm
index 5ba07228281..63bfa9c965a 100644
--- a/code/game/gamemodes/technomancer/spells/control.dm
+++ b/code/game/gamemodes/technomancer/spells/control.dm
@@ -76,7 +76,7 @@
continue
L.ai_holder.give_target(target)
-/obj/item/spell/control/Initialize()
+/obj/item/spell/control/Initialize(mapload)
control_overlay = image('icons/obj/spells.dmi',"controlled")
return ..()
diff --git a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm
index f6928ff1edf..b003108bf7f 100644
--- a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm
+++ b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm
@@ -30,7 +30,7 @@
var/pulses_remaining = 3
var/pulse_delay = 2 SECONDS
-/obj/effect/temporary_effect/pulse/Initialize()
+/obj/effect/temporary_effect/pulse/Initialize(mapload)
spawn(0)
pulse_loop()
return ..()
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index fbae4514c16..d17c7f1f0a1 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -245,7 +245,7 @@
available_chemicals += new_chemicals
return
-/obj/machinery/sleeper/Initialize()
+/obj/machinery/sleeper/Initialize(mapload)
. = ..()
update_icon()
@@ -435,6 +435,6 @@
icon_state = "sleeper"
stasis_level = 100 //Just one setting
-/obj/machinery/sleeper/survival_pod/Initialize()
+/obj/machinery/sleeper/survival_pod/Initialize(mapload)
..()
RefreshParts(1)
diff --git a/code/game/machinery/airconditioner_vr.dm b/code/game/machinery/airconditioner_vr.dm
index 6d98c9a469b..80f42aef248 100644
--- a/code/game/machinery/airconditioner_vr.dm
+++ b/code/game/machinery/airconditioner_vr.dm
@@ -20,7 +20,7 @@
var/target_temp = T20C
var/mode = MODE_IDLE
-/obj/machinery/power/thermoregulator/Initialize()
+/obj/machinery/power/thermoregulator/Initialize(mapload)
.=..()
default_apply_parts()
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 95899a6794d..7eb86acfcba 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -137,7 +137,7 @@
TLV["temperature"] = list(T0C - 26, T0C, T0C + 40, T0C + 66) // K
-/obj/machinery/alarm/Initialize()
+/obj/machinery/alarm/Initialize(mapload)
. = ..()
set_frequency(frequency)
if(!master_is_operating())
@@ -1011,7 +1011,7 @@ FIRE ALARM
seclevel = newlevel
update_icon()
-/obj/machinery/firealarm/Initialize()
+/obj/machinery/firealarm/Initialize(mapload)
. = ..()
if(z in GLOB.using_map.contact_levels)
set_security_level(security_level? get_security_level() : "green")
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index 85fba33ded6..d5cfd452b55 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -63,7 +63,7 @@
frequency = new_frequency
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
-/obj/machinery/air_sensor/Initialize()
+/obj/machinery/air_sensor/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
@@ -129,7 +129,7 @@ obj/machinery/computer/general_air_control/Destroy()
frequency = new_frequency
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
-/obj/machinery/computer/general_air_control/Initialize()
+/obj/machinery/computer/general_air_control/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm
index 880500e16c3..4330cde80cd 100644
--- a/code/game/machinery/atmoalter/area_atmos_computer.dm
+++ b/code/game/machinery/atmoalter/area_atmos_computer.dm
@@ -14,7 +14,7 @@
//Simple variable to prevent me from doing attack_hand in both this and the child computer
var/zone = "This computer is working on a wireless range, the range is currently limited to "
-/obj/machinery/computer/area_atmos/Initialize()
+/obj/machinery/computer/area_atmos/Initialize(mapload)
. = ..()
scanscrubbers()
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 8cbee1e691b..88742856d4b 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -12,7 +12,7 @@
use_power = USE_POWER_IDLE
idle_power_usage = 15
-/obj/machinery/meter/Initialize()
+/obj/machinery/meter/Initialize(mapload)
. = ..()
if (!target)
target = select_target()
diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm
index b7f4591896e..d3d5c03c124 100644
--- a/code/game/machinery/atmoalter/portable_atmospherics.dm
+++ b/code/game/machinery/atmoalter/portable_atmospherics.dm
@@ -26,7 +26,7 @@
QDEL_NULL(holding)
. = ..()
-/obj/machinery/portable_atmospherics/Initialize()
+/obj/machinery/portable_atmospherics/Initialize(mapload)
. = ..()
spawn()
var/obj/machinery/atmospherics/portables_connector/port = locate() in loc
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index a3fda7d7b04..59e9ba30154 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -32,7 +32,7 @@
var/filtertext
-/obj/machinery/autolathe/Initialize()
+/obj/machinery/autolathe/Initialize(mapload)
. = ..()
wires = new(src)
default_apply_parts()
diff --git a/code/game/machinery/bomb_tester_vr.dm b/code/game/machinery/bomb_tester_vr.dm
index b8cb7454e50..8f6b43a44f0 100644
--- a/code/game/machinery/bomb_tester_vr.dm
+++ b/code/game/machinery/bomb_tester_vr.dm
@@ -32,7 +32,7 @@
var/datum/gas_mixture/faketank
var/faketank_integrity
-/obj/machinery/bomb_tester/Initialize()
+/obj/machinery/bomb_tester/Initialize(mapload)
.=..()
default_apply_parts()
RefreshParts()
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index e0e8517529d..da0a231bf90 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -225,7 +225,7 @@
circuit = /obj/item/circuitboard/security/telescreen/entertainment
var/obj/item/radio/radio = null
-/obj/machinery/computer/security/telescreen/entertainment/Initialize()
+/obj/machinery/computer/security/telescreen/entertainment/Initialize(mapload)
. = ..()
radio = new(src)
radio.listening = TRUE
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 5b08eb949ae..a90bfaf5db8 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -16,7 +16,7 @@
var/loading = 0 // Nice loading text
-/obj/machinery/computer/cloning/Initialize()
+/obj/machinery/computer/cloning/Initialize(mapload)
. = ..()
updatemodules()
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index a9f906de090..909375a4151 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -17,7 +17,7 @@
clicksound = "keyboard"
-/obj/machinery/computer/Initialize()
+/obj/machinery/computer/Initialize(mapload)
overlay_layer = layer
. = ..()
power_change()
diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm
index c51940e22cd..6b1490aeec7 100755
--- a/code/game/machinery/computer/guestpass.dm
+++ b/code/game/machinery/computer/guestpass.dm
@@ -54,7 +54,7 @@
expired = 1
return ..()
-/obj/item/card/id/guest/Initialize()
+/obj/item/card/id/guest/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)
update_icon()
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index de24dbb1d9e..ecc1912ea1b 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -71,7 +71,7 @@
icon_screen = initial(icon_screen)
..()
-/obj/machinery/computer/message_monitor/Initialize()
+/obj/machinery/computer/message_monitor/Initialize(mapload)
//Is the server isn't linked to a server, and there's a server available, default it to the first one in the list.
if(!linkedServer)
if(message_servers && message_servers.len > 0)
diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm
index a1ffa156e38..09f75b865c6 100644
--- a/code/game/machinery/computer/station_alert.dm
+++ b/code/game/machinery/computer/station_alert.dm
@@ -17,7 +17,7 @@
monitor_type = /datum/nano_module/alarm_monitor/all
circuit = /obj/item/circuitboard/stationalert_all
-/obj/machinery/computer/station_alert/Initialize()
+/obj/machinery/computer/station_alert/Initialize(mapload)
alarm_monitor = new monitor_type(src)
alarm_monitor.register_alarm(src, /atom/proc/update_icon)
. = ..()
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index 3ead16060cc..450bf05ea2e 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -30,7 +30,7 @@
icon_state = "base"
initialize_directions = dir
-/obj/machinery/atmospherics/unary/cryo_cell/Initialize()
+/obj/machinery/atmospherics/unary/cryo_cell/Initialize(mapload)
. = ..()
var/image/tank = image(icon,"tank")
tank.alpha = 200
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 8507c183647..b11054ceac7 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -303,7 +303,7 @@
occupant.resting = 1
return ..()
-/obj/machinery/cryopod/Initialize()
+/obj/machinery/cryopod/Initialize(mapload)
. = ..()
find_control_computer()
diff --git a/code/game/machinery/doorbell_vr.dm b/code/game/machinery/doorbell_vr.dm
index 9c2c66fd1f7..43ff3172f2a 100644
--- a/code/game/machinery/doorbell_vr.dm
+++ b/code/game/machinery/doorbell_vr.dm
@@ -11,7 +11,7 @@
var/id_tag = null
var/chime_sound = 'sound/machines/doorbell.ogg'
-/obj/machinery/doorbell_chime/Initialize()
+/obj/machinery/doorbell_chime/Initialize(mapload)
. = ..()
update_icon()
@@ -100,7 +100,7 @@
assign_uid()
id = num2text(uid)
-/obj/machinery/button/doorbell/Initialize()
+/obj/machinery/button/doorbell/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index d3878afad1b..ef0673961b9 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1310,7 +1310,7 @@ About the new airlock wires panel:
else
wires = new/datum/wires/airlock(src)
-/obj/machinery/door/airlock/Initialize()
+/obj/machinery/door/airlock/Initialize(mapload)
if(src.closeOtherId != null)
for (var/obj/machinery/door/airlock/A in machines)
if(A.closeOtherId == src.closeOtherId && A != src)
diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm
index f8d0ea6b57e..31ca984e5f7 100644
--- a/code/game/machinery/doors/alarmlock.dm
+++ b/code/game/machinery/doors/alarmlock.dm
@@ -18,7 +18,7 @@
radio_controller.remove_object(src,air_frequency)
..()
-/obj/machinery/door/airlock/alarmlock/Initialize()
+/obj/machinery/door/airlock/alarmlock/Initialize(mapload)
. = ..()
radio_controller.remove_object(src, air_frequency)
air_connection = radio_controller.add_object(src, air_frequency, RADIO_TO_AIRALARM)
diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm
index 482d2ab618a..097b8e9e7ad 100644
--- a/code/game/machinery/doors/blast_door.dm
+++ b/code/game/machinery/doors/blast_door.dm
@@ -32,7 +32,7 @@
//turning this off prevents awkward zone geometry in places like medbay lobby, for example.
block_air_zones = 0
-/obj/machinery/door/blast/Initialize()
+/obj/machinery/door/blast/Initialize(mapload)
. = ..()
implicit_material = get_material_by_name("plasteel")
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 400e38e553d..e1cf7b42bf7 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -31,7 +31,7 @@
maptext_height = 26
maptext_width = 32
-/obj/machinery/door_timer/Initialize()
+/obj/machinery/door_timer/Initialize(mapload)
..()
//Doors need to go first, and can't rely on init order, so come back to me.
return INITIALIZE_HINT_LATELOAD
diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm
index 8e227b1fe4b..e2695243504 100644
--- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm
+++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm
@@ -13,7 +13,7 @@
var/display_name // For mappers to override docking_program.display_name (how would it show up on docking monitoring program)
tag_secure = 1
-/obj/machinery/embedded_controller/radio/airlock/docking_port/Initialize()
+/obj/machinery/embedded_controller/radio/airlock/docking_port/Initialize(mapload)
. = ..()
airlock_program = new/datum/computer/file/embedded_program/airlock/docking(src)
docking_program = new/datum/computer/file/embedded_program/docking/airlock(src, airlock_program)
diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm
index 09d5ed22486..08c7a092c0a 100644
--- a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm
+++ b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm
@@ -8,7 +8,7 @@
var/child_names_txt
var/list/child_names = list()
-/obj/machinery/embedded_controller/radio/docking_port_multi/Initialize()
+/obj/machinery/embedded_controller/radio/docking_port_multi/Initialize(mapload)
. = ..()
var/list/names = splittext(child_names_txt, ";")
diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm
index b3bba31f46a..a5ab5c0da7d 100644
--- a/code/game/machinery/embedded_controller/embedded_controller_base.dm
+++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm
@@ -6,7 +6,7 @@
var/datum/computer/file/embedded_program/program // The currently executing program
var/on = 1
-/obj/machinery/embedded_controller/Initialize()
+/obj/machinery/embedded_controller/Initialize(mapload)
if(ispath(program))
program = new program(src)
return ..()
@@ -71,7 +71,7 @@
var/radio_filter = null
var/datum/radio_frequency/radio_connection
-/obj/machinery/embedded_controller/radio/Initialize()
+/obj/machinery/embedded_controller/radio/Initialize(mapload)
set_frequency(frequency) // Set it before parent instantiates program
. = ..()
diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm
index cd1ea36e07b..20e6d675772 100644
--- a/code/game/machinery/jukebox.dm
+++ b/code/game/machinery/jukebox.dm
@@ -69,7 +69,7 @@
return ..()
// On initialization, copy our tracks from the global list
-/obj/machinery/media/jukebox/Initialize()
+/obj/machinery/media/jukebox/Initialize(mapload)
. = ..()
wires = new/datum/wires/jukebox(src)
update_icon()
diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm
index 79ff2b5a597..baea5667036 100644
--- a/code/game/machinery/oxygen_pump.dm
+++ b/code/game/machinery/oxygen_pump.dm
@@ -23,7 +23,7 @@
idle_power_usage = 10
active_power_usage = 120 // No idea what the realistic amount would be.
-/obj/machinery/oxygen_pump/Initialize()
+/obj/machinery/oxygen_pump/Initialize(mapload)
. = ..()
tank = new spawn_type (src)
contained = new mask_type (src)
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index d3f4dfb34e5..b5fac210851 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -300,7 +300,7 @@
return 1
-/obj/machinery/porta_turret/Initialize()
+/obj/machinery/porta_turret/Initialize(mapload)
//Sets up a spark system
spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index c3a155876b2..6286d3d57de 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -64,7 +64,7 @@
return
// Register for radio system
-/obj/machinery/status_display/Initialize()
+/obj/machinery/status_display/Initialize(mapload)
. = ..()
if(radio_controller)
radio_controller.add_object(src, frequency)
diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm
index 7c679ee75db..5b52971a67e 100644
--- a/code/game/machinery/telecomms/broadcaster.dm
+++ b/code/game/machinery/telecomms/broadcaster.dm
@@ -24,7 +24,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
delay = 7
circuit = /obj/item/circuitboard/telecomms/broadcaster
-/obj/machinery/telecomms/processor/Initialize()
+/obj/machinery/telecomms/processor/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/subspace/sub_filter(src)
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index 0cc12bea176..1dc3bada053 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -120,7 +120,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
var/turf/position = get_turf(src)
listening_level = position.z
-/obj/machinery/telecomms/Initialize()
+/obj/machinery/telecomms/Initialize(mapload)
if(autolinkers.len)
// Links nearby machines
if(!long_range_link)
@@ -256,7 +256,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
produces_heat = 0
circuit = /obj/item/circuitboard/telecomms/receiver
-/obj/machinery/telecomms/receiver/Initialize()
+/obj/machinery/telecomms/receiver/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/subspace/ansible(src)
@@ -325,7 +325,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
netspeed = 40
var/list/telecomms_map
-/obj/machinery/telecomms/hub/Initialize()
+/obj/machinery/telecomms/hub/Initialize(mapload)
. = ..()
LAZYINITLIST(telecomms_map)
component_parts = list()
@@ -386,7 +386,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
var/broadcasting = 1
var/receiving = 1
-/obj/machinery/telecomms/relay/Initialize()
+/obj/machinery/telecomms/relay/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/subspace/sub_filter(src)
@@ -449,7 +449,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
netspeed = 40
var/change_frequency = 0
-/obj/machinery/telecomms/bus/Initialize()
+/obj/machinery/telecomms/bus/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/subspace/sub_filter(src)
@@ -510,7 +510,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
circuit = /obj/item/circuitboard/telecomms/processor
var/process_mode = 1 // 1 = Uncompress Signals, 0 = Compress Signals
-/obj/machinery/telecomms/processor/Initialize()
+/obj/machinery/telecomms/processor/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/subspace/sub_filter(src)
@@ -579,7 +579,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
..()
server_radio = new()
-/obj/machinery/telecomms/server/Initialize()
+/obj/machinery/telecomms/server/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/subspace/sub_filter(src)
diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm
index 9aa0c33c57f..43246b7ed6c 100644
--- a/code/game/machinery/turret_control.dm
+++ b/code/game/machinery/turret_control.dm
@@ -45,7 +45,7 @@
A.turret_controls -= src
..()
-/obj/machinery/turretid/Initialize()
+/obj/machinery/turretid/Initialize(mapload)
if(!control_area)
control_area = get_area(src)
else if(ispath(control_area))
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 4a4e5c6c4cb..8d7e54c43c9 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -68,7 +68,7 @@
var/has_logs = 0 //defaults to 0, set to anything else for vendor to have logs
-/obj/machinery/vending/Initialize()
+/obj/machinery/vending/Initialize(mapload)
. = ..()
wires = new(src)
spawn(4)
diff --git a/code/game/machinery/virtual_reality/ar_console.dm b/code/game/machinery/virtual_reality/ar_console.dm
index b782a7463d9..9e85680004d 100644
--- a/code/game/machinery/virtual_reality/ar_console.dm
+++ b/code/game/machinery/virtual_reality/ar_console.dm
@@ -16,7 +16,7 @@
var/randomize_species = FALSE
var/list/possible_species // Do we make the newly produced body a random species?
-/obj/machinery/vr_sleeper/alien/Initialize()
+/obj/machinery/vr_sleeper/alien/Initialize(mapload)
. = ..()
if(possible_species && possible_species.len)
produce_species = pick(possible_species)
diff --git a/code/game/machinery/virtual_reality/vr_console.dm b/code/game/machinery/virtual_reality/vr_console.dm
index b221c2e4382..b2140759451 100644
--- a/code/game/machinery/virtual_reality/vr_console.dm
+++ b/code/game/machinery/virtual_reality/vr_console.dm
@@ -31,7 +31,7 @@
RefreshParts()
-/obj/machinery/vr_sleeper/Initialize()
+/obj/machinery/vr_sleeper/Initialize(mapload)
. = ..()
smoke = new
update_icon()
diff --git a/code/game/machinery/vr_console.dm b/code/game/machinery/vr_console.dm
index 58f289d69b6..f93b611f138 100644
--- a/code/game/machinery/vr_console.dm
+++ b/code/game/machinery/vr_console.dm
@@ -23,7 +23,7 @@
RefreshParts()
-/obj/machinery/vr_sleeper/Initialize()
+/obj/machinery/vr_sleeper/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/mecha/combat/gorilla.dm b/code/game/mecha/combat/gorilla.dm
index 318593b163a..e796e1ba92f 100644
--- a/code/game/mecha/combat/gorilla.dm
+++ b/code/game/mecha/combat/gorilla.dm
@@ -29,7 +29,7 @@
zoom_possible = 1
thrusters_possible = 1
-/obj/mecha/combat/gorilla/Initialize()
+/obj/mecha/combat/gorilla/Initialize(mapload)
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) // This thing basically cannot function without an external power supply.
ME.attach(src)
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index cb7f63a83fa..388b014763e 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -58,7 +58,7 @@
max_universal_equip = 1
max_special_equip = 2
-/obj/mecha/combat/gygax/dark/Initialize()
+/obj/mecha/combat/gygax/dark/Initialize(mapload)
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
ME.attach(src)
diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm
index c73301c7492..8e675620bf3 100644
--- a/code/game/mecha/combat/marauder.dm
+++ b/code/game/mecha/combat/marauder.dm
@@ -54,7 +54,7 @@
mech_faction = MECH_FACTION_SYNDI
//Note that is the default Marauder
-/obj/mecha/combat/marauder/Initialize()
+/obj/mecha/combat/marauder/Initialize(mapload)
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse
ME.attach(src)
@@ -68,7 +68,7 @@
return
//Note that this is the seraph.
-/obj/mecha/combat/marauder/seraph/Initialize()
+/obj/mecha/combat/marauder/seraph/Initialize(mapload)
..()//Let it equip whatever is needed.
var/obj/item/mecha_parts/mecha_equipment/ME
if(equipment.len)//Now to remove it and equip anew.
diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm
index c22e03176ce..72734456194 100644
--- a/code/game/mecha/combat/phazon.dm
+++ b/code/game/mecha/combat/phazon.dm
@@ -29,7 +29,7 @@
switch_dmg_type_possible = 1
-/obj/mecha/combat/phazon/equipped/Initialize()
+/obj/mecha/combat/phazon/equipped/Initialize(mapload)
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/rcd
ME.attach(src)
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index 5808a7d3cd3..d0b1c5fc373 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -313,7 +313,7 @@
create_reagents(max_volume)
synth = new (list(src),0)
-/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/Initialize()
+/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/Initialize(mapload)
. = ..()
//Wow nice, firsties
if(LAZYLEN(allowed_reagents) && !istext(allowed_reagents[1]))
@@ -611,7 +611,7 @@
equip_type = EQUIP_HULL
-/obj/item/mecha_parts/mecha_equipment/crisis_drone/Initialize()
+/obj/item/mecha_parts/mecha_equipment/crisis_drone/Initialize(mapload)
..()
drone_overlay = new(src.icon, icon_state = droid_state)
diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm
index 92b062b61a5..8d8edd9fad8 100644
--- a/code/game/mecha/equipment/tools/tools.dm
+++ b/code/game/mecha/equipment/tools/tools.dm
@@ -281,7 +281,7 @@
var/obj/item/mining_scanner/my_scanner = null
var/exact_scan = FALSE
-/obj/item/mecha_parts/mecha_equipment/tool/orescanner/Initialize()
+/obj/item/mecha_parts/mecha_equipment/tool/orescanner/Initialize(mapload)
my_scanner = new(src)
return ..()
@@ -320,7 +320,7 @@
var/spray_amount = 5 //units of liquid per particle. 5 is enough to wet the floor - it's a big fire extinguisher, so should be fine
var/max_water = 1000
-/obj/item/mecha_parts/mecha_equipment/tool/extinguisher/Initialize()
+/obj/item/mecha_parts/mecha_equipment/tool/extinguisher/Initialize(mapload)
. = ..()
reagents = new/datum/reagents(max_water)
reagents.my_atom = src
@@ -393,7 +393,7 @@
var/obj/item/my_tool = null
var/tooltype = /obj/item/tool/wrench/power
-/obj/item/mecha_parts/mecha_equipment/tool/powertool/Initialize()
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/Initialize(mapload)
my_tool = new tooltype(src)
my_tool.name = name
my_tool.anchored = TRUE
@@ -431,7 +431,7 @@
equip_type = EQUIP_SPECIAL
var/obj/item/rcd/electric/mounted/mecha/my_rcd = null
-/obj/item/mecha_parts/mecha_equipment/tool/rcd/Initialize()
+/obj/item/mecha_parts/mecha_equipment/tool/rcd/Initialize(mapload)
my_rcd = new(src)
return ..()
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 666a765cd1e..17f4864468b 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -39,7 +39,7 @@
files = new /datum/research(src) //Setup the research data holder.
return
-/obj/machinery/mecha_part_fabricator/Initialize()
+/obj/machinery/mecha_part_fabricator/Initialize(mapload)
update_categories()
. = ..()
diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm
index 4c8804058a7..6c360e86a6f 100644
--- a/code/game/mecha/mech_prosthetics.dm
+++ b/code/game/mecha/mech_prosthetics.dm
@@ -42,7 +42,7 @@
files = new /datum/research(src) //Setup the research data holder.
return
-/obj/machinery/pros_fabricator/Initialize()
+/obj/machinery/pros_fabricator/Initialize(mapload)
. = ..()
manufacturer = basic_robolimb.company
update_categories()
diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm
index 71290738ea0..b0cffd6a9d7 100644
--- a/code/game/mecha/mech_sensor.dm
+++ b/code/game/mecha/mech_sensor.dm
@@ -70,7 +70,7 @@
else
icon_state = "airlock_sensor_off"
-/obj/machinery/mech_sensor/Initialize()
+/obj/machinery/mech_sensor/Initialize(mapload)
. = ..()
set_frequency(frequency)
diff --git a/code/game/mecha/medical/medical.dm b/code/game/mecha/medical/medical.dm
index 50241a8cdf5..cdcf4e7bebd 100644
--- a/code/game/mecha/medical/medical.dm
+++ b/code/game/mecha/medical/medical.dm
@@ -9,7 +9,7 @@
cargo_capacity = 1
-/obj/mecha/medical/Initialize()
+/obj/mecha/medical/Initialize(mapload)
. = ..()
var/turf/T = get_turf(src)
if(isPlayerLevel(T.z))
diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm
index 8cc0d342f21..e69de29bb2d 100644
--- a/code/game/mecha/medical/odysseus.dm
+++ b/code/game/mecha/medical/odysseus.dm
@@ -1,133 +0,0 @@
-/obj/mecha/medical/odysseus/
- desc = "These exosuits are developed and produced by Vey-Med. (© All rights reserved)."
- name = "Odysseus"
- catalogue_data = list(
- /datum/category_item/catalogue/technology/odysseus,
- /datum/category_item/catalogue/information/organization/vey_med
- )
- icon_state = "odysseus"
- initial_icon = "odysseus"
- step_in = 2
- max_temperature = 15000
- health = 120
- maxhealth = 120
- wreckage = /obj/effect/decal/mecha_wreckage/odysseus
- internal_damage_threshold = 35
- deflect_chance = 15
- step_energy_drain = 6
- var/obj/item/clothing/glasses/hud/health/mech/hud
-
-/obj/mecha/medical/odysseus/New()
- ..()
- hud = new /obj/item/clothing/glasses/hud/health/mech(src)
- return
-
-/obj/mecha/medical/odysseus/moved_inside(var/mob/living/carbon/human/H as mob)
- if(..())
- if(H.glasses)
- occupant_message("[H.glasses] prevent you from using [src] [hud]")
- else
- H.glasses = hud
- H.recalculate_vis()
- return 1
- else
- return 0
-
-/obj/mecha/medical/odysseus/go_out()
- if(ishuman(occupant))
- var/mob/living/carbon/human/H = occupant
- if(H.glasses == hud)
- H.glasses = null
- H.recalculate_vis()
- ..()
- return
-/*
- verb/set_perspective()
- set name = "Set client perspective."
- set category = "Exosuit Interface"
- set src = usr.loc
- var/perspective = input("Select a perspective type.",
- "Client perspective",
- occupant.client.perspective) in list(MOB_PERSPECTIVE,EYE_PERSPECTIVE)
- to_chat(world, "[perspective]")
- occupant.client.perspective = perspective
- return
-
- verb/toggle_eye()
- set name = "Toggle eye."
- set category = "Exosuit Interface"
- set src = usr.loc
- if(occupant.client.eye == occupant)
- occupant.client.eye = src
- else
- occupant.client.eye = occupant
- to_chat(world, "[occupant.client.eye]")
- return
-*/
-
-//TODO - Check documentation for client.eye and client.perspective...
-/obj/item/clothing/glasses/hud/health/mech
- name = "Integrated Medical Hud"
-
-
-// process_hud(var/mob/M) //TODO VIS
-/*
- to_chat(world, "view(M)")
- for(var/mob/mob in view(M))
- to_chat(world, "[mob]")
- to_chat(world, "view(M.client)")
- for(var/mob/mob in view(M.client))
- to_chat(world, "[mob]")
- to_chat(world, "view(M.loc)")
- for(var/mob/mob in view(M.loc))
- to_chat(world, "[mob]")
-
-
- if(!M || M.stat || !(M in view(M))) return
- if(!M.client) return
- var/client/C = M.client
- var/image/holder
- for(var/mob/living/carbon/human/patient in view(M.loc))
- if(M.see_invisible < patient.invisibility)
- continue
- var/foundVirus = 0
-
- for (var/ID in patient.virus2)
- if (ID in virusDB)
- foundVirus = 1
- break
-
- holder = patient.hud_list[HEALTH_HUD]
- if(patient.stat == DEAD)
- holder.icon_state = "hudhealth-100"
- C.images += holder
- else
- holder.icon_state = RoundHealth((patient.health-config_legacy.health_threshold_crit)/(patient.getMaxHealth()-config_legacy.health_threshold_crit)*100)
- C.images += holder
-
- holder = patient.hud_list[STATUS_HUD]
- if(patient.isSynthetic())
- holder.icon_state = "hudrobo"
- else if(patient.stat == DEAD)
- holder.icon_state = "huddead"
- else if(foundVirus)
- holder.icon_state = "hudill"
- else if(patient.has_brain_worms())
- var/mob/living/simple_mob/animal/borer/B = patient.has_brain_worms()
- if(B.controlling)
- holder.icon_state = "hudbrainworm"
- else
- holder.icon_state = "hudhealthy"
- else
- holder.icon_state = "hudhealthy"
-
- C.images += holder
-*/
-/obj/mecha/medical/odysseus/loaded/Initialize()
- ..()
- var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/sleeper
- ME.attach(src)
- ME = new /obj/item/mecha_parts/mecha_equipment/tool/sleeper
- ME.attach(src)
- ME = new /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
- ME.attach(src)
\ No newline at end of file
diff --git a/code/game/mecha/space/hoverpod.dm b/code/game/mecha/space/hoverpod.dm
index 0cc76a55582..d064f74d70f 100644
--- a/code/game/mecha/space/hoverpod.dm
+++ b/code/game/mecha/space/hoverpod.dm
@@ -105,7 +105,7 @@
max_universal_equip = 1
max_special_equip = 1
-/obj/mecha/working/hoverpod/combatpod/Initialize()
+/obj/mecha/working/hoverpod/combatpod/Initialize(mapload)
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
ME.attach(src)
@@ -116,7 +116,7 @@
/obj/mecha/working/hoverpod/shuttlepod
desc = "Who knew a tiny ball could fit three people?"
-/obj/mecha/working/hoverpod/shuttlepod/Initialize()
+/obj/mecha/working/hoverpod/shuttlepod/Initialize(mapload)
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger
ME.attach(src)
diff --git a/code/game/mecha/space/shuttle.dm b/code/game/mecha/space/shuttle.dm
index 5aae6d50c29..33094138d3d 100644
--- a/code/game/mecha/space/shuttle.dm
+++ b/code/game/mecha/space/shuttle.dm
@@ -41,7 +41,7 @@
max_universal_equip = 1
max_special_equip = 1
-/obj/mecha/working/hoverpod/Initialize()
+/obj/mecha/working/hoverpod/Initialize(mapload)
. = ..()
ion_trail?.stop()
diff --git a/code/game/mecha/working/working.dm b/code/game/mecha/working/working.dm
index 6d19bbd6b57..51d9759c1f2 100644
--- a/code/game/mecha/working/working.dm
+++ b/code/game/mecha/working/working.dm
@@ -6,7 +6,7 @@
max_universal_equip = 1
max_special_equip = 1
-/obj/mecha/working/Initialize()
+/obj/mecha/working/Initialize(mapload)
. = ..()
var/turf/T = get_turf(src)
if(isPlayerLevel(T.z))
diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm
index a93117b80ad..3d8c427e6c8 100644
--- a/code/game/objects/effects/alien/aliens.dm
+++ b/code/game/objects/effects/alien/aliens.dm
@@ -197,7 +197,7 @@
/obj/effect/alien/weeds/node/New()
..(src.loc, src)
-/obj/effect/alien/weeds/node/Initialize()
+/obj/effect/alien/weeds/node/Initialize(mapload)
..()
START_PROCESSING(SSobj, src)
diff --git a/code/game/objects/effects/chem/coating.dm b/code/game/objects/effects/chem/coating.dm
index 0cc761f0cce..ad457e09879 100644
--- a/code/game/objects/effects/chem/coating.dm
+++ b/code/game/objects/effects/chem/coating.dm
@@ -10,7 +10,7 @@
..()
create_reagents(100)
-/obj/effect/decal/cleanable/chemcoating/Initialize()
+/obj/effect/decal/cleanable/chemcoating/Initialize(mapload)
..()
var/turf/T = get_turf(src)
if(T)
diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm
index 605ec182b0a..2ff65080408 100644
--- a/code/game/objects/effects/decals/contraband.dm
+++ b/code/game/objects/effects/decals/contraband.dm
@@ -132,7 +132,7 @@
pixel_x = -32
pixel_y = 0
-/obj/structure/sign/poster/Initialize()
+/obj/structure/sign/poster/Initialize(mapload)
. = ..()
if (poster_type)
var/path = text2path(poster_type)
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index 17920065a88..6bf6a98d628 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -103,7 +103,7 @@ steam.start() -- spawns the effect
if (istype(T, /turf))
T.hotspot_expose(1000,100)
-/obj/effect/effect/sparks/Initialize()
+/obj/effect/effect/sparks/Initialize(mapload)
. = ..()
QDEL_IN(src, 5 SECONDS)
@@ -262,7 +262,7 @@ steam.start() -- spawns the effect
opacity = FALSE
var/strength = 5 // How much damage to do inside each affect()
-/obj/effect/effect/smoke/elemental/Initialize()
+/obj/effect/effect/smoke/elemental/Initialize(mapload)
START_PROCESSING(SSobj, src)
return ..()
@@ -540,7 +540,7 @@ steam.start() -- spawns the effect
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
-/obj/effect/effect/teleport_greyscale/Initialize()
+/obj/effect/effect/teleport_greyscale/Initialize(mapload)
. = ..()
QDEL_IN(src, 2 SECONDS)
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index efa2ed76584..08bce007215 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -90,7 +90,7 @@
/obj/effect/landmark/proc/delete()
delete_me = 1
-/obj/effect/landmark/Initialize()
+/obj/effect/landmark/Initialize(mapload)
. = ..()
if(delete_me)
return INITIALIZE_HINT_QDEL
diff --git a/code/game/objects/effects/map_effects/beam_point.dm b/code/game/objects/effects/map_effects/beam_point.dm
index a7e25b69e15..18fc7642276 100644
--- a/code/game/objects/effects/map_effects/beam_point.dm
+++ b/code/game/objects/effects/map_effects/beam_point.dm
@@ -31,7 +31,7 @@ GLOBAL_LIST_EMPTY(all_beam_points)
var/beam_type = /obj/effect/ebeam // The type of beam. Default has no special properties. Some others may do things like hurt things touching it.
var/beam_sleep_time = 3 // How often the beam updates visually. Suggested to leave this alone, 3 is already fast.
-/obj/effect/map_effect/beam_point/Initialize()
+/obj/effect/map_effect/beam_point/Initialize(mapload)
GLOB.all_beam_points += src
if(make_beams_on_init)
create_beams()
diff --git a/code/game/objects/effects/map_effects/effect_emitter.dm b/code/game/objects/effects/map_effects/effect_emitter.dm
index 5a4069db54d..443e1434aca 100644
--- a/code/game/objects/effects/map_effects/effect_emitter.dm
+++ b/code/game/objects/effects/map_effects/effect_emitter.dm
@@ -7,7 +7,7 @@
var/effect_cardinals_only = FALSE // If true, effects only move in cardinal directions.
var/effect_forced_dir = null // If set, effects emitted will always move in this direction.
-/obj/effect/map_effect/interval/effect_emitter/Initialize()
+/obj/effect/map_effect/interval/effect_emitter/Initialize(mapload)
effect_system = new effect_system_type()
effect_system.attach(src)
configure_effects()
diff --git a/code/game/objects/effects/map_effects/map_effects.dm b/code/game/objects/effects/map_effects/map_effects.dm
index 9e2986072d8..e69de29bb2d 100644
--- a/code/game/objects/effects/map_effects/map_effects.dm
+++ b/code/game/objects/effects/map_effects/map_effects.dm
@@ -1,72 +0,0 @@
-// These are objects you can use inside special maps (like PoIs), or for adminbuse.
-// Players cannot see or interact with these.
-/obj/effect/map_effect
- anchored = TRUE
- invisibility = 99 // So a badmin can go view these by changing their see_invisible.
- icon = 'icons/effects/map_effects.dmi'
-
- // Below vars concern check_for_player_proximity() and is used to not waste effort if nobody is around to appreciate the effects.
- var/always_run = FALSE // If true, the game will not try to suppress this from firing if nobody is around to see it.
- var/proximity_needed = 12 // How many tiles a mob with a client must be for this to run.
- var/ignore_ghosts = FALSE // If true, ghosts won't satisfy the above requirement.
- var/ignore_afk = TRUE // If true, AFK people (5 minutes) won't satisfy it as well.
- var/retry_delay = 3 SECONDS // How long until we check for players again.
-
-/obj/effect/map_effect/ex_act()
- return
-
-/obj/effect/map_effect/singularity_pull()
- return
-
-/obj/effect/map_effect/singularity_act()
- return
-
-// Base type for effects that run on variable intervals.
-/obj/effect/map_effect/interval
- var/interval_lower_bound = 5 SECONDS // Lower number for how often the map_effect will trigger.
- var/interval_upper_bound = 5 SECONDS // Higher number for above.
- var/halt = FALSE // Set to true to stop the loop when it reaches the next iteration.
-
-/obj/effect/map_effect/interval/Initialize()
- handle_interval_delay()
- return ..()
-
-/obj/effect/map_effect/interval/Destroy()
- halt = TRUE // Shouldn't need it to GC but just in case.
- return ..()
-
-// Override this for the specific thing to do. Be sure to call parent to keep looping.
-/obj/effect/map_effect/interval/proc/trigger()
- handle_interval_delay()
-
-// Handles the delay and making sure it doesn't run when it would be bad.
-/obj/effect/map_effect/interval/proc/handle_interval_delay()
- // Check to see if we're useful first.
- if(halt)
- return // Do not pass .(), do not recursively collect 200 thaler.
-
- if(!always_run && !check_for_player_proximity(src, proximity_needed, ignore_ghosts, ignore_afk))
- spawn(retry_delay) // Maybe someday we'll have fancy TG timers/schedulers.
- if(!QDELETED(src))
- .()
- return
-
- var/next_interval = rand(interval_lower_bound, interval_upper_bound)
- spawn(next_interval)
- if(!QDELETED(src))
- trigger()
-
-// Helper proc to optimize the use of effects by making sure they do not run if nobody is around to perceive it.
-/proc/check_for_player_proximity(var/atom/proximity_to, var/radius = 12, var/ignore_ghosts = FALSE, var/ignore_afk = TRUE)
- if(!proximity_to)
- return FALSE
-
- for(var/thing in player_list)
- var/mob/M = thing // Avoiding typechecks for more speed, player_list will only contain mobs anyways.
- if(ignore_ghosts && isobserver(M))
- continue
- if(ignore_afk && M.client && M.client.is_afk(5 MINUTES))
- continue
- if(M.z == proximity_to.z && get_dist(M, proximity_to) <= radius)
- return TRUE
- return FALSE
\ No newline at end of file
diff --git a/code/game/objects/effects/map_effects/radiation_emitter.dm b/code/game/objects/effects/map_effects/radiation_emitter.dm
index e2828519d05..f18c86277c2 100644
--- a/code/game/objects/effects/map_effects/radiation_emitter.dm
+++ b/code/game/objects/effects/map_effects/radiation_emitter.dm
@@ -4,7 +4,7 @@
icon_state = "radiation_emitter"
var/radiation_power = 30 // Bigger numbers means more radiation.
-/obj/effect/map_effect/radiation_emitter/Initialize()
+/obj/effect/map_effect/radiation_emitter/Initialize(mapload)
START_PROCESSING(SSobj, src)
return ..()
diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm
index 3ca0be51f10..e69de29bb2d 100644
--- a/code/game/objects/effects/misc.dm
+++ b/code/game/objects/effects/misc.dm
@@ -1,66 +0,0 @@
-//The effect when you wrap a dead body in gift wrap
-/obj/effect/spresent
- name = "strange present"
- desc = "It's a ... present?"
- icon = 'icons/obj/items.dmi'
- icon_state = "strangepresent"
- density = 1
- anchored = 0
-
-// this is banned, use temporary-visual - kevinz000
-/obj/effect/temporary_effect
- name = "self deleting effect"
- desc = "How are you examining what which cannot be seen?"
- icon = 'icons/effects/effects.dmi'
- invisibility = 0
- var/time_to_die = 10 SECONDS // Afer which, it will delete itself.
-
-/obj/effect/temporary_effect/Initialize(mapload)
- . = ..()
- if(time_to_die)
- QDEL_IN(src, time_to_die)
-
-// Shown really briefly when attacking with axes.
-/obj/effect/temporary_effect/cleave_attack
- name = "cleaving attack"
- desc = "Something swinging really wide."
- icon = 'icons/effects/96x96.dmi'
- icon_state = "cleave"
- plane = MOB_PLANE
- layer = ABOVE_MOB_LAYER
- time_to_die = 6
- alpha = 140
- mouse_opacity = 0
- pixel_x = -32
- pixel_y = -32
-
-/obj/effect/temporary_effect/cleave_attack/Initialize() // Makes the slash fade smoothly. When completely transparent it should qdel itself.
- . = ..()
- animate(src, alpha = 0, time = time_to_die - 1)
-
-/obj/effect/temporary_effect/shuttle_landing
- name = "shuttle landing"
- desc = "You better move if you don't want to go splat!"
- icon_state = "shuttle_warning_still"
- time_to_die = 4.9 SECONDS
-
-/obj/effect/temporary_effect/shuttle_landing/Initialize()
- flick("shuttle_warning", src) // flick() forces the animation to always begin at the start.
- . = ..()
-
-// The manifestation of Zeus's might. Or just a really unlucky day.
-// This is purely a visual effect, this isn't the part of the code that hurts things.
-/obj/effect/temporary_effect/lightning_strike
- name = "lightning"
- desc = "How shocked you must be, to see this text. You must have lightning reflexes. \
- The humor in this description is just so electrifying."
- icon = 'icons/effects/96x256.dmi'
- icon_state = "lightning_strike"
- plane = PLANE_LIGHTING_ABOVE
- time_to_die = 1 SECOND
- pixel_x = -32
-
-/obj/effect/temporary_effect/lightning_strike/Initialize()
- icon_state += "[rand(1,2)]" // To have two variants of lightning sprites.
- animate(src, alpha = 0, time = time_to_die - 1)
- . = ..()
\ No newline at end of file
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index a5ebadf2e6c..d1492954f54 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -57,7 +57,7 @@
/obj/effect/spider/stickyweb
icon_state = "stickyweb1"
-/obj/effect/spider/stickyweb/Initialize()
+/obj/effect/spider/stickyweb/Initialize(mapload)
if(prob(50))
icon_state = "stickyweb2"
return ..()
@@ -83,7 +83,7 @@
var/spiders_max = 24
var/spider_type = /obj/effect/spider/spiderling
-/obj/effect/spider/eggcluster/Initialize()
+/obj/effect/spider/eggcluster/Initialize(mapload)
pixel_x = rand(3,-3)
pixel_y = rand(3,-3)
START_PROCESSING(SSobj, src)
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index 6bd671c4574..eca8889e8fd 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -166,7 +166,7 @@
var/obj/effect/landmark/the_landmark = null
var/landmark_id = null
-/obj/effect/step_trigger/teleporter/landmark/Initialize()
+/obj/effect/step_trigger/teleporter/landmark/Initialize(mapload)
. = ..()
for(var/obj/effect/landmark/teleport_mark/mark in tele_landmarks)
if(mark.landmark_id == landmark_id)
diff --git a/code/game/objects/effects/temporary_visuals/temporary_visual.dm b/code/game/objects/effects/temporary_visuals/temporary_visual.dm
index 0f1820a3a34..46271970cc2 100644
--- a/code/game/objects/effects/temporary_visuals/temporary_visual.dm
+++ b/code/game/objects/effects/temporary_visuals/temporary_visual.dm
@@ -9,7 +9,7 @@
var/randomdir = TRUE
var/timerid
-/obj/effect/temp_visual/Initialize()
+/obj/effect/temp_visual/Initialize(mapload)
. = ..()
if(randomdir)
dir = pick(list(NORTH, SOUTH, EAST, WEST))
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index 10398dd5dcc..cb77ae10477 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -145,7 +145,7 @@
var/stasis_level = 3 //Every 'this' life ticks are applied to the mob (when life_ticks%stasis_level == 1)
var/obj/item/reagent_containers/syringe/syringe
-/obj/structure/closet/body_bag/cryobag/Initialize()
+/obj/structure/closet/body_bag/cryobag/Initialize(mapload)
tank = new tank_type(null) //It's in nullspace to prevent ejection when the bag is opened.
..()
diff --git a/code/game/objects/items/contraband.dm b/code/game/objects/items/contraband.dm
index 13760092bed..36eab392b8e 100644
--- a/code/game/objects/items/contraband.dm
+++ b/code/game/objects/items/contraband.dm
@@ -24,7 +24,7 @@
list("impedrezene" = 15) = 2,
list("zombiepowder" = 10) = 1)
-/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
+/obj/item/reagent_containers/glass/beaker/vial/random/Initialize(mapload)
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 4da2c6c70d8..d2a9b58c45b 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -111,7 +111,7 @@ var/list/civilian_cartridges = list(
icon_state = "cart-s"
access_security = 1
-/obj/item/cartridge/security/Initialize()
+/obj/item/cartridge/security/Initialize(mapload)
radio = new /obj/item/integated_radio/beepsky(src)
. = ..()
@@ -167,7 +167,7 @@ var/list/civilian_cartridges = list(
access_reagent_scanner = 1
access_atmos = 1
-/obj/item/cartridge/signal/Initialize()
+/obj/item/cartridge/signal/Initialize(mapload)
radio = new /obj/item/integated_radio/signal(src)
. = ..()
@@ -201,7 +201,7 @@ var/list/civilian_cartridges = list(
access_status_display = 1
access_security = 1
-/obj/item/cartridge/hos/Initialize()
+/obj/item/cartridge/hos/Initialize(mapload)
radio = new /obj/item/integated_radio/beepsky(src)
. = ..()
@@ -226,7 +226,7 @@ var/list/civilian_cartridges = list(
access_reagent_scanner = 1
access_atmos = 1
-/obj/item/cartridge/rd/Initialize()
+/obj/item/cartridge/rd/Initialize(mapload)
radio = new /obj/item/integated_radio/signal(src)
. = ..()
diff --git a/code/game/objects/items/devices/PDA/radio.dm b/code/game/objects/items/devices/PDA/radio.dm
index eb5c0328a13..cddeb0571b8 100644
--- a/code/game/objects/items/devices/PDA/radio.dm
+++ b/code/game/objects/items/devices/PDA/radio.dm
@@ -116,7 +116,7 @@
var/last_transmission
var/datum/radio_frequency/radio_connection
-/obj/item/integated_radio/signal/Initialize()
+/obj/item/integated_radio/signal/Initialize(mapload)
. = ..()
if(!radio_controller)
return
diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm
index 80a6018a9f4..cb95a1f7fbc 100644
--- a/code/game/objects/items/devices/communicator/cartridge.dm
+++ b/code/game/objects/items/devices/communicator/cartridge.dm
@@ -379,7 +379,7 @@
. = ..()
internal_devices |= new /obj/item/halogen_counter(src)
-/obj/item/commcard/engineering/Initialize()
+/obj/item/commcard/engineering/Initialize(mapload)
internal_data["grid_sensors"] = find_powernet_sensors()
internal_data["powernet_target"] = ""
@@ -615,7 +615,7 @@
internal_data["stat_display_active2"] = null
internal_data["stat_display_special"] = null
-/obj/item/commcard/head/Initialize()
+/obj/item/commcard/head/Initialize(mapload)
// Have to register the commcard with the Radio controller to receive updates to the status displays
radio_controller.add_object(src, 1435)
..()
@@ -792,7 +792,7 @@
internal_devices |= new /obj/item/analyzer(src)
internal_devices |= new /obj/item/halogen_counter(src)
-/obj/item/commcard/head/ce/Initialize()
+/obj/item/commcard/head/ce/Initialize(mapload)
internal_data["grid_sensors"] = find_powernet_sensors()
internal_data["powernet_target"] = ""
@@ -903,7 +903,7 @@
list("name" = "Shuttle Blast Door Control", "template" = "merc_blast_door_control.tmpl")
)
-/obj/item/commcard/mercenary/Initialize()
+/obj/item/commcard/mercenary/Initialize(mapload)
internal_data["shuttle_door_code"] = "smindicate" // Copied from PDA code
internal_data["shuttle_doors"] = find_blast_doors()
diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm
index 384b642ac0e..4f0991eabd6 100644
--- a/code/game/objects/items/devices/communicator/communicator.dm
+++ b/code/game/objects/items/devices/communicator/communicator.dm
@@ -274,7 +274,7 @@ var/global/list/obj/item/communicator/all_communicators = list()
// Proc: New()
// Parameters: None
// Description: Gives ghosts an exonet address based on their key and ghost name.
-/mob/observer/dead/Initialize()
+/mob/observer/dead/Initialize(mapload)
. = ..()
exonet = new(src)
if(client)
@@ -352,7 +352,7 @@ var/global/list/obj/item/communicator/all_communicators = list()
/obj/machinery/camera/communicator
network = list(NETWORK_COMMUNICATORS)
-/obj/machinery/camera/communicator/Initialize()
+/obj/machinery/camera/communicator/Initialize(mapload)
. = ..()
client_huds |= GLOB.global_hud.whitense
client_huds |= GLOB.global_hud.darkMask
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index a26fbb3e78e..d1f16e93087 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -33,7 +33,7 @@
var/cell_type = /obj/item/cell/device
-/obj/item/flash/Initialize()
+/obj/item/flash/Initialize(mapload)
..()
power_supply = new cell_type(src)
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index e4c2c56ee01..297f9dc7a8d 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -18,7 +18,7 @@
var/power_usage
var/power_use = 1
-/obj/item/flashlight/Initialize()
+/obj/item/flashlight/Initialize(mapload)
. = ..()
if(power_use && cell_type)
diff --git a/code/game/objects/items/devices/geiger.dm b/code/game/objects/items/devices/geiger.dm
index 2741ef8480e..88dc2b4d044 100644
--- a/code/game/objects/items/devices/geiger.dm
+++ b/code/game/objects/items/devices/geiger.dm
@@ -13,7 +13,7 @@
var/radiation_count = 0
var/datum/looping_sound/geiger/soundloop
-/obj/item/geiger/Initialize()
+/obj/item/geiger/Initialize(mapload)
soundloop = new(list(src), FALSE)
return ..()
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 036eb25878b..daed6f17dbc 100755
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -98,7 +98,7 @@
syndie = 1
ks1type = /obj/item/encryptionkey/raider
-/obj/item/radio/headset/raider/Initialize()
+/obj/item/radio/headset/raider/Initialize(mapload)
. = ..()
set_frequency(RAID_FREQ)
@@ -109,7 +109,7 @@
adhoc_fallback = TRUE
ks1type = /obj/item/encryptionkey/trader
-/obj/item/radio/headset/trader/Initialize()
+/obj/item/radio/headset/trader/Initialize(mapload)
. = ..()
set_frequency(TRADE_FREQ)
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 37b32e31703..f2a5300ea3b 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -54,27 +54,27 @@
/obj/item/radio/intercom/omni
name = "global announcer"
-/obj/item/radio/intercom/omni/Initialize()
+/obj/item/radio/intercom/omni/Initialize(mapload)
channels = radiochannels.Copy()
return ..()
-/obj/item/radio/intercom/Initialize()
+/obj/item/radio/intercom/Initialize(mapload)
..()
START_PROCESSING(SSobj, src)
circuit = new circuit(src)
-/obj/item/radio/intercom/department/medbay/Initialize()
+/obj/item/radio/intercom/department/medbay/Initialize(mapload)
..()
internal_channels = GLOB.default_medbay_channels.Copy()
-/obj/item/radio/intercom/department/security/Initialize()
+/obj/item/radio/intercom/department/security/Initialize(mapload)
. = ..()
internal_channels = list(
num2text(PUB_FREQ) = list(),
num2text(SEC_I_FREQ) = list(access_security)
)
-/obj/item/radio/intercom/entertainment/Initialize()
+/obj/item/radio/intercom/entertainment/Initialize(mapload)
. = ..()
internal_channels = list(
num2text(PUB_FREQ) = list(),
@@ -88,7 +88,7 @@
subspace_transmission = 1
syndie = 1
-/obj/item/radio/intercom/syndicate/Initialize()
+/obj/item/radio/intercom/syndicate/Initialize(mapload)
. = ..()
internal_channels[num2text(SYND_FREQ)] = list(access_syndicate)
@@ -99,7 +99,7 @@
subspace_transmission = 1
syndie = 1
-/obj/item/radio/intercom/raider/Initialize()
+/obj/item/radio/intercom/raider/Initialize(mapload)
. = ..()
internal_channels[num2text(RAID_FREQ)] = list(access_syndicate)
@@ -110,7 +110,7 @@
subspace_transmission = 0
syndie = 0
-/obj/item/radio/intercom/trader/Initialize()
+/obj/item/radio/intercom/trader/Initialize(mapload)
. = ..()
internal_channels[num2text(TRADE_FREQ)] = list(access_trader)
diff --git a/code/game/objects/items/devices/radio/jammer.dm b/code/game/objects/items/devices/radio/jammer.dm
index 757954b0352..ee904c5088f 100644
--- a/code/game/objects/items/devices/radio/jammer.dm
+++ b/code/game/objects/items/devices/radio/jammer.dm
@@ -28,7 +28,7 @@ var/global/list/active_radio_jammers = list()
origin_tech = list(TECH_ILLEGAL = 7, TECH_BLUESPACE = 5) //Such technology! Subspace jamming!
-/obj/item/radio_jammer/Initialize()
+/obj/item/radio_jammer/Initialize(mapload)
. = ..()
power_source = new(src)
update_icon() // So it starts with the full overlay.
diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm
index 950d615eff9..3a87a940330 100644
--- a/code/game/objects/items/devices/suit_cooling.dm
+++ b/code/game/objects/items/devices/suit_cooling.dm
@@ -28,7 +28,7 @@
/obj/item/suit_cooling_unit/ui_action_click()
toggle(usr)
-/obj/item/suit_cooling_unit/Initialize()
+/obj/item/suit_cooling_unit/Initialize(mapload)
. = ..()
cell = new/obj/item/cell/high(src) //comes not with the crappy default power cell - because this is dedicated EVA equipment
diff --git a/code/game/objects/items/devices/tvcamera.dm b/code/game/objects/items/devices/tvcamera.dm
index aec827adb69..44128880b37 100644
--- a/code/game/objects/items/devices/tvcamera.dm
+++ b/code/game/objects/items/devices/tvcamera.dm
@@ -10,7 +10,7 @@
var/obj/machinery/camera/network/thunder/camera
var/obj/item/radio/radio
-/obj/item/tvcamera/Initialize()
+/obj/item/tvcamera/Initialize(mapload)
. = ..()
listening_objects += src
@@ -27,7 +27,7 @@
to_chat(usr, "Video feed is [camera.status ? "on" : "off"]")
to_chat(usr, "Audio feed is [radio.broadcasting ? "on" : "off"]")
-/obj/item/tvcamera/Initialize()
+/obj/item/tvcamera/Initialize(mapload)
. = ..()
camera = new(src)
camera.c_tag = channel
diff --git a/code/game/objects/items/stacks/marker_beacons.dm b/code/game/objects/items/stacks/marker_beacons.dm
index 93462c640ec..7c56b9314c1 100644
--- a/code/game/objects/items/stacks/marker_beacons.dm
+++ b/code/game/objects/items/stacks/marker_beacons.dm
@@ -37,7 +37,7 @@ var/list/marker_beacon_colors = list(
/obj/item/stack/marker_beacon/hundred
amount = 100
-/obj/item/stack/marker_beacon/Initialize()
+/obj/item/stack/marker_beacon/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/objects/items/storage/_storage.dm b/code/game/objects/items/storage/_storage.dm
index a2b4d842ee7..91894452f00 100644
--- a/code/game/objects/items/storage/_storage.dm
+++ b/code/game/objects/items/storage/_storage.dm
@@ -536,7 +536,7 @@
for(var/obj/item/I in contents)
remove_from_storage(I, T)
-/obj/item/storage/Initialize()
+/obj/item/storage/Initialize(mapload)
. = ..()
if(allow_quick_empty)
@@ -725,7 +725,7 @@
else
icon_state = closed_state
-/obj/item/storage/trinketbox/Initialize()
+/obj/item/storage/trinketbox/Initialize(mapload)
if(!open_state)
open_state = "[initial(icon_state)]_open"
if(!closed_state)
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index 3428d83882f..bdb75633545 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -121,7 +121,7 @@
/obj/item/pen/crayon/purple
)
-/obj/item/storage/fancy/crayons/Initialize()
+/obj/item/storage/fancy/crayons/Initialize(mapload)
. = ..()
update_icon()
@@ -163,7 +163,7 @@
/obj/item/pen/crayon/marker/purple
)
-/obj/item/storage/fancy/markers/Initialize()
+/obj/item/storage/fancy/markers/Initialize(mapload)
. = ..()
update_icon()
@@ -202,7 +202,7 @@
/obj/item/pen/crayon/chalk/blue
)
-/obj/item/storage/fancy/chalk/Initialize()
+/obj/item/storage/fancy/chalk/Initialize(mapload)
. = ..()
update_icon()
@@ -246,7 +246,7 @@
starts_with = list(/obj/item/clothing/mask/smokable/cigarette = 6)
var/brand = "\improper Trans-Stellar Duty-free"
-/obj/item/storage/fancy/cigarettes/Initialize()
+/obj/item/storage/fancy/cigarettes/Initialize(mapload)
. = ..()
flags |= NOREACT
create_reagents(15 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
@@ -352,7 +352,7 @@
icon_type = "cigar"
starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar = 7)
-/obj/item/storage/fancy/cigar/Initialize()
+/obj/item/storage/fancy/cigar/Initialize(mapload)
. = ..()
flags |= NOREACT
create_reagents(15 * storage_slots)
@@ -404,7 +404,7 @@
storage_slots = 6
req_access = list(access_virology)
-/obj/item/storage/lockbox/vials/Initialize()
+/obj/item/storage/lockbox/vials/Initialize(mapload)
. = ..()
update_icon()
@@ -449,7 +449,7 @@
/obj/item/reagent_containers/food/snacks/chocolatepiece/truffle
)
-/obj/item/storage/fancy/heartbox/Initialize()
+/obj/item/storage/fancy/heartbox/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm
index 296fb14f70a..7547bfa2239 100644
--- a/code/game/objects/items/storage/firstaid.dm
+++ b/code/game/objects/items/storage/firstaid.dm
@@ -19,7 +19,7 @@
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
-/obj/item/storage/firstaid/Initialize()
+/obj/item/storage/firstaid/Initialize(mapload)
. = ..()
// if(icon_variety) // VOREStation edit
// icon_state = pick(icon_variety)
@@ -188,7 +188,7 @@
var/base_icon = "pill_canister" // Citadel Change - Used in recoloring
var/bottle_color = "orange" // Citadel Change - Used in recoloring
-/obj/item/storage/pill_bottle/Initialize()
+/obj/item/storage/pill_bottle/Initialize(mapload)
. = ..()
base_name = name
base_desc = desc
diff --git a/code/game/objects/items/storage/misc.dm b/code/game/objects/items/storage/misc.dm
index 8d797c93143..95731baa2e9 100644
--- a/code/game/objects/items/storage/misc.dm
+++ b/code/game/objects/items/storage/misc.dm
@@ -11,7 +11,7 @@
foldable = /obj/item/stack/material/cardboard
starts_with = list(/obj/item/reagent_containers/food/snacks/donut/normal = 6)
-/obj/item/storage/box/donut/Initialize()
+/obj/item/storage/box/donut/Initialize(mapload)
. = ..()
update_icon()
@@ -38,7 +38,7 @@
)
starts_with = list(/obj/item/reagent_containers/food/snacks/worm = 6)
-/obj/item/storage/box/wormcan/Initialize()
+/obj/item/storage/box/wormcan/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/objects/items/storage/mre.dm b/code/game/objects/items/storage/mre.dm
index 14cd8baadd7..0d02f4c23b3 100644
--- a/code/game/objects/items/storage/mre.dm
+++ b/code/game/objects/items/storage/mre.dm
@@ -223,7 +223,7 @@ MRE Stuff
var/opened = FALSE
starts_with = list(/obj/item/reagent_containers/food/snacks/slice/meatpizza/filled)
-/obj/item/storage/mrebag/Initialize()
+/obj/item/storage/mrebag/Initialize(mapload)
. = ..()
/obj/item/storage/mrebag/update_icon()
diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm
index e41fb9653b4..b33b6f4d151 100644
--- a/code/game/objects/items/storage/toolbox.dm
+++ b/code/game/objects/items/storage/toolbox.dm
@@ -25,7 +25,7 @@
/obj/item/extinguisher/mini,
/obj/item/radio
)
-/obj/item/storage/toolbox/emergency/Initialize()
+/obj/item/storage/toolbox/emergency/Initialize(mapload)
if(prob(50))
new /obj/item/flashlight(src)
else
@@ -57,7 +57,7 @@
/obj/item/stack/cable_coil/random_belt,
/obj/item/stack/cable_coil/random_belt
)
-/obj/item/storage/toolbox/electrical/Initialize()
+/obj/item/storage/toolbox/electrical/Initialize(mapload)
. = ..()
if(prob(5))
new /obj/item/clothing/gloves/yellow(src)
@@ -103,7 +103,7 @@
var/filled = FALSE
attack_verb = list("lunched")
-/obj/item/storage/toolbox/lunchbox/Initialize()
+/obj/item/storage/toolbox/lunchbox/Initialize(mapload)
if(filled)
var/list/lunches = lunchables_lunches()
var/lunch = lunches[pick(lunches)]
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 6100087ba94..715d1f5160e 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -1,4 +1,4 @@
-/obj/item/storage/box/syndicate/Initialize()
+/obj/item/storage/box/syndicate/Initialize(mapload)
switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1, "smoothoperator" = 1)))
if("bloodyspai")
new /obj/item/clothing/under/chameleon(src)
@@ -70,7 +70,7 @@
/obj/item/storage/box/syndie_kit/imp_freedom
name = "boxed freedom implant (with injector)"
-/obj/item/storage/box/syndie_kit/imp_freedom/Initialize()
+/obj/item/storage/box/syndie_kit/imp_freedom/Initialize(mapload)
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/freedom(O)
O.update()
@@ -87,7 +87,7 @@
/obj/item/storage/box/syndie_kit/imp_uplink
name = "boxed uplink implant (with injector)"
-/obj/item/storage/box/syndie_kit/imp_uplink/Initialize()
+/obj/item/storage/box/syndie_kit/imp_uplink/Initialize(mapload)
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/uplink(O)
O.update()
@@ -97,7 +97,7 @@
name = "boxed augment implant (with injector)"
var/case_type = /obj/item/implantcase/shades
-/obj/item/storage/box/syndie_kit/imp_aug/Initialize()
+/obj/item/storage/box/syndie_kit/imp_aug/Initialize(mapload)
new /obj/item/implanter(src)
new case_type(src)
. = ..()
@@ -193,7 +193,7 @@
name = "\improper Tricky smokes"
desc = "Comes with the following brands of cigarettes, in this order: 2xFlash, 2xSmoke, 1xMindBreaker, 1xTricordrazine. Avoid mixing them up."
-/obj/item/storage/box/syndie_kit/cigarette/Initialize()
+/obj/item/storage/box/syndie_kit/cigarette/Initialize(mapload)
. = ..()
var/obj/item/storage/fancy/cigarettes/pack
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 7bd69c1ecfe..232b82d60e3 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -41,7 +41,7 @@
var/static/image/radial_image_grillewind = image(icon = 'icons/mob/radial.dmi', icon_state = "grillewindow")
var/static/image/radial_image_floorwall = image(icon = 'icons/mob/radial.dmi', icon_state = "wallfloor")
-/obj/item/rcd/Initialize()
+/obj/item/rcd/Initialize(mapload)
src.spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -237,7 +237,7 @@
// RCD variants.
// This one starts full.
-/obj/item/rcd/loaded/Initialize()
+/obj/item/rcd/loaded/Initialize(mapload)
stored_matter = max_stored_matter
return ..()
@@ -252,7 +252,7 @@
can_remove_rwalls = TRUE
make_rwalls = TRUE
-/obj/item/rcd/shipwright/loaded/Initialize()
+/obj/item/rcd/shipwright/loaded/Initialize(mapload)
stored_matter = max_stored_matter
return ..()
@@ -266,7 +266,7 @@
toolspeed = 0.5 // Twice as fast.
max_stored_matter = RCD_MAX_CAPACITY * 3 // Three times capacity.
-/obj/item/rcd/advanced/loaded/Initialize()
+/obj/item/rcd/advanced/loaded/Initialize(mapload)
stored_matter = max_stored_matter
return ..()
@@ -283,7 +283,7 @@
var/make_cell = TRUE // If false, initialize() won't spawn a cell for this.
var/electric_cost_coefficent = 83.33 // Higher numbers make it less efficent. 86.3... means it should matche the standard RCD capacity on a 10k cell.
-/obj/item/rcd/electric/Initialize()
+/obj/item/rcd/electric/Initialize(mapload)
if(make_cell)
cell = new /obj/item/cell/high(src)
return ..()
diff --git a/code/game/objects/items/weapons/barrier_tape.dm b/code/game/objects/items/weapons/barrier_tape.dm
index ef67909ccc2..d6da5350458 100644
--- a/code/game/objects/items/weapons/barrier_tape.dm
+++ b/code/game/objects/items/weapons/barrier_tape.dm
@@ -14,7 +14,7 @@
var/apply_tape = FALSE
-/obj/item/barrier_tape_roll/Initialize()
+/obj/item/barrier_tape_roll/Initialize(mapload)
. = ..()
if(apply_tape)
var/turf/T = get_turf(src)
diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm
index b6bb3ebf9c5..c1e40375dbd 100644
--- a/code/game/objects/items/weapons/candle.dm
+++ b/code/game/objects/items/weapons/candle.dm
@@ -112,13 +112,13 @@
/obj/item/flame/candle/everburn
wax = 99999
-/obj/item/flame/candle/everburn/Initialize()
+/obj/item/flame/candle/everburn/Initialize(mapload)
. = ..()
light("\The [src] mysteriously lights itself!.")
/obj/item/flame/candle/candelabra/everburn
wax = 99999
-/obj/item/flame/candle/candelabra/everburn/Initialize()
+/obj/item/flame/candle/candelabra/everburn/Initialize(mapload)
. = ..()
light("\The [src] mysteriously lights itself!.")
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index ea5fc412462..2d0f05a6902 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -93,7 +93,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/brand
blood_sprite_state = null //Can't bloody these
-/obj/item/clothing/mask/smokable/Initialize()
+/obj/item/clothing/mask/smokable/Initialize(mapload)
. = ..()
flags |= NOREACT // so it doesn't react until you light it
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
@@ -282,7 +282,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
weldermes = "USER casually lights the NAME with FLAME."
ignitermes = "USER fiddles with FLAME, and manages to light their NAME."
-/obj/item/clothing/mask/smokable/cigarette/Initialize()
+/obj/item/clothing/mask/smokable/cigarette/Initialize(mapload)
. = ..()
if(nicotine_amt)
reagents.add_reagent("nicotine", nicotine_amt)
@@ -365,7 +365,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
slot_flags = SLOT_EARS
throwforce = 1
-/obj/item/cigbutt/Initialize()
+/obj/item/cigbutt/Initialize(mapload)
. = ..()
pixel_x = rand(-10,10)
pixel_y = rand(-10,10)
@@ -400,7 +400,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
ignitermes = "USER fiddles with FLAME, and manages to light their NAME with the power of science."
is_pipe = 1
-/obj/item/clothing/mask/smokable/pipe/Initialize()
+/obj/item/clothing/mask/smokable/pipe/Initialize(mapload)
. = ..()
name = "empty [initial(name)]"
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index 18a97c45a48..27aff2ff709 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -16,7 +16,7 @@
/*
* Soap
*/
-/obj/item/soap/Initialize()
+/obj/item/soap/Initialize(mapload)
. = ..()
create_reagents(5)
wet()
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index 9da09062b88..cb077c6f716 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -40,7 +40,7 @@
desc = "A mini fire extinguisher for use by burning phoronoids. Let's just hope it works."
max_water = 300
-/obj/item/extinguisher/Initialize()
+/obj/item/extinguisher/Initialize(mapload)
. = ..()
create_reagents(max_water)
reagents.add_reagent("water", max_water)
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index ba505be5c85..a1339014ddc 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -16,7 +16,7 @@
var/list/allowed_containers = list(/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle)
var/affected_area = 3
-/obj/item/grenade/chem_grenade/Initialize()
+/obj/item/grenade/chem_grenade/Initialize(mapload)
. = ..()
create_reagents(1000)
@@ -203,7 +203,7 @@
path = 1
stage = 2
-/obj/item/grenade/chem_grenade/metalfoam/Initialize()
+/obj/item/grenade/chem_grenade/metalfoam/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
@@ -224,7 +224,7 @@
path = 1
stage = 2
-/obj/item/grenade/chem_grenade/incendiary/Initialize()
+/obj/item/grenade/chem_grenade/incendiary/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
@@ -247,7 +247,7 @@
path = 1
stage = 2
-/obj/item/grenade/chem_grenade/antiweed/Initialize()
+/obj/item/grenade/chem_grenade/antiweed/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
@@ -269,7 +269,7 @@
stage = 2
path = 1
-/obj/item/grenade/chem_grenade/cleaner/Initialize()
+/obj/item/grenade/chem_grenade/cleaner/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
@@ -290,7 +290,7 @@
stage = 2
path = 1
-/obj/item/grenade/chem_grenade/teargas/Initialize()
+/obj/item/grenade/chem_grenade/teargas/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
@@ -313,7 +313,7 @@
stage = 2
path = 1
-/obj/item/grenade/chem_grenade/holy/Initialize()
+/obj/item/grenade/chem_grenade/holy/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm
index f3030cdf01e..86199125c1a 100755
--- a/code/game/objects/items/weapons/id cards/station_ids.dm
+++ b/code/game/objects/items/weapons/id cards/station_ids.dm
@@ -121,7 +121,7 @@
return ..()
-/obj/item/card/id/Initialize()
+/obj/item/card/id/Initialize(mapload)
. = ..()
var/datum/job/J = SSjobs.GetJob(rank)
if(J)
@@ -173,7 +173,7 @@
item_state = "idgreen"
assignment = "Synthetic"
-/obj/item/card/id/synthetic/Initialize()
+/obj/item/card/id/synthetic/Initialize(mapload)
. = ..()
access = get_all_station_access().Copy() + access_synth
@@ -184,11 +184,11 @@
registered_name = "Central Command"
assignment = "General"
-/obj/item/card/id/centcom/Initialize()
+/obj/item/card/id/centcom/Initialize(mapload)
. = ..()
access = get_all_centcom_access().Copy()
-/obj/item/card/id/centcom/station/Initialize()
+/obj/item/card/id/centcom/station/Initialize(mapload)
. = ..()
access |= get_all_station_access()
@@ -203,7 +203,7 @@
assignment = "Emergency Response Team"
icon_state = "ert-id"
-/obj/item/card/id/centcom/ERT/Initialize()
+/obj/item/card/id/centcom/ERT/Initialize(mapload)
. = ..()
access |= get_all_station_access()
@@ -212,7 +212,7 @@
assignment = "Paracausal Anomaly Response Agent"
icon_state = "ert-id"
-/obj/item/card/id/centcom/ERT/PARA/Initialize()
+/obj/item/card/id/centcom/ERT/PARA/Initialize(mapload)
. = ..()
access |= get_all_station_access()
diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm
index a9e22fbc4aa..e69de29bb2d 100755
--- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm
+++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm
@@ -1,225 +0,0 @@
-/obj/item/card/id/syndicate
- name = "agent card"
- icon_state = "generic-s"
- assignment = "Agent"
- origin_tech = list(TECH_ILLEGAL = 3)
- var/electronic_warfare = 1
- var/mob/registered_user = null
-
-/obj/item/card/id/syndicate/Initialize()
- . = ..()
- access = syndicate_access.Copy()
-
-/obj/item/card/id/syndicate/station_access/Initialize()
- . = ..() // Same as the normal Syndicate id, only already has all station access
- access |= get_all_station_access()
-
-/obj/item/card/id/syndicate/Destroy()
- unset_registered_user(registered_user)
- return ..()
-
-/obj/item/card/id/syndicate/prevent_tracking()
- return electronic_warfare
-
-/obj/item/card/id/syndicate/afterattack(var/obj/item/O as obj, mob/user as mob, proximity)
- if(!proximity) return
- if(istype(O, /obj/item/card/id))
- var/obj/item/card/id/I = O
- src.access |= I.access
- if(player_is_antag(user.mind))
- to_chat(user, "The microscanner activates as you pass it over the ID, copying its access.")
-
-/obj/item/card/id/syndicate/attack_self(mob/user as mob)
- // We use the fact that registered_name is not unset should the owner be vaporized, to ensure the id doesn't magically become unlocked.
- if(!registered_user && register_user(user))
- to_chat(user, "The microscanner marks you as its owner, preventing others from accessing its internals.")
- if(registered_user == user)
- switch(alert("Would you like edit the ID, or show it?","Show or Edit?", "Edit","Show"))
- if("Edit")
- ui_interact(user)
- if("Show")
- ..()
- else
- ..()
-
-/obj/item/card/id/syndicate/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
- var/data[0]
- var/entries[0]
- entries[++entries.len] = list("name" = "Age", "value" = age)
- entries[++entries.len] = list("name" = "Appearance", "value" = "Set")
- entries[++entries.len] = list("name" = "Assignment", "value" = assignment)
- entries[++entries.len] = list("name" = "Blood Type", "value" = blood_type)
- entries[++entries.len] = list("name" = "DNA Hash", "value" = dna_hash)
- entries[++entries.len] = list("name" = "Fingerprint Hash", "value" = fingerprint_hash)
- entries[++entries.len] = list("name" = "Name", "value" = registered_name)
- entries[++entries.len] = list("name" = "Photo", "value" = "Update")
- entries[++entries.len] = list("name" = "Sex", "value" = sex)
- entries[++entries.len] = list("name" = "Factory Reset", "value" = "Use With Care")
- data["electronic_warfare"] = electronic_warfare
- data["entries"] = entries
-
- ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
- if (!ui)
- ui = new(user, src, ui_key, "agent_id_card.tmpl", "Fake ID", 600, 400)
- ui.set_initial_data(data)
- ui.open()
-
-/obj/item/card/id/syndicate/proc/register_user(var/mob/user)
- if(!istype(user) || user == registered_user)
- return FALSE
- unset_registered_user()
- registered_user = user
- user.set_id_info(src)
- user.register(OBSERVER_EVENT_DESTROY, src, /obj/item/card/id/syndicate/proc/unset_registered_user)
- return TRUE
-
-/obj/item/card/id/syndicate/proc/unset_registered_user(var/mob/user)
- if(!registered_user || (user && user != registered_user))
- return
- registered_user.unregister(OBSERVER_EVENT_DESTROY, src)
- registered_user = null
-
-/obj/item/card/id/syndicate/CanUseTopic(mob/user)
- if(user != registered_user)
- return STATUS_CLOSE
- return ..()
-
-/obj/item/card/id/syndicate/Topic(href, href_list, var/datum/topic_state/state)
- if(..())
- return 1
-
- var/user = usr
- if(href_list["electronic_warfare"])
- electronic_warfare = text2num(href_list["electronic_warfare"])
- to_chat(user, "Electronic warfare [electronic_warfare ? "enabled" : "disabled"].")
- else if(href_list["set"])
- switch(href_list["set"])
- if("Age")
- var/new_age = input(user,"What age would you like to put on this card?","Agent Card Age", age) as null|num
- if(!isnull(new_age) && CanUseTopic(user, state))
- if(new_age < 0)
- age = initial(age)
- else
- age = new_age
- to_chat(user, "Age has been set to '[age]'.")
- . = 1
- if("Appearance")
- var/datum/card_state/choice = input(user, "Select the appearance for this card.", "Agent Card Appearance") as null|anything in id_card_states()
- if(choice && CanUseTopic(user, state))
- src.icon_state = choice.icon_state
- src.item_state = choice.item_state
- src.sprite_stack = choice.sprite_stack
- update_icon()
- to_chat(usr, "Appearance changed to [choice].")
- . = 1
- if("Assignment")
- var/new_job = sanitize(input(user,"What assignment would you like to put on this card?\nChanging assignment will not grant or remove any access levels.","Agent Card Assignment", assignment) as null|text)
- if(!isnull(new_job) && CanUseTopic(user, state))
- src.assignment = new_job
- to_chat(user, "Occupation changed to '[new_job]'.")
- update_name()
- . = 1
- if("Blood Type")
- var/default = blood_type
- if(default == initial(blood_type) && ishuman(user))
- var/mob/living/carbon/human/H = user
- if(H.dna)
- default = H.dna.b_type
- var/new_blood_type = sanitize(input(user,"What blood type would you like to be written on this card?","Agent Card Blood Type",default) as null|text)
- if(!isnull(new_blood_type) && CanUseTopic(user, state))
- src.blood_type = new_blood_type
- to_chat(user, "Blood type changed to '[new_blood_type]'.")
- . = 1
- if("DNA Hash")
- var/default = dna_hash
- if(default == initial(dna_hash) && ishuman(user))
- var/mob/living/carbon/human/H = user
- if(H.dna)
- default = H.dna.unique_enzymes
- var/new_dna_hash = sanitize(input(user,"What DNA hash would you like to be written on this card?","Agent Card DNA Hash",default) as null|text)
- if(!isnull(new_dna_hash) && CanUseTopic(user, state))
- src.dna_hash = new_dna_hash
- to_chat(user, "DNA hash changed to '[new_dna_hash]'.")
- . = 1
- if("Fingerprint Hash")
- var/default = fingerprint_hash
- if(default == initial(fingerprint_hash) && ishuman(user))
- var/mob/living/carbon/human/H = user
- if(H.dna)
- default = md5(H.dna.uni_identity)
- var/new_fingerprint_hash = sanitize(input(user,"What fingerprint hash would you like to be written on this card?","Agent Card Fingerprint Hash",default) as null|text)
- if(!isnull(new_fingerprint_hash) && CanUseTopic(user, state))
- src.fingerprint_hash = new_fingerprint_hash
- to_chat(user, "Fingerprint hash changed to '[new_fingerprint_hash]'.")
- . = 1
- if("Name")
- var/new_name = sanitizeName(input(user,"What name would you like to put on this card?","Agent Card Name", registered_name) as null|text)
- if(!isnull(new_name) && CanUseTopic(user, state))
- src.registered_name = new_name
- update_name()
- to_chat(user, "Name changed to '[new_name]'.")
- . = 1
- if("Photo")
- set_id_photo(user)
- to_chat(user, "Photo changed.")
- . = 1
- if("Sex")
- var/new_sex = sanitize(input(user,"What sex would you like to put on this card?","Agent Card Sex", sex) as null|text)
- if(!isnull(new_sex) && CanUseTopic(user, state))
- src.sex = new_sex
- to_chat(user, "Sex changed to '[new_sex]'.")
- . = 1
- if("Factory Reset")
- if(alert("This will factory reset the card, including access and owner. Continue?", "Factory Reset", "No", "Yes") == "Yes" && CanUseTopic(user, state))
- age = initial(age)
- access = syndicate_access.Copy()
- assignment = initial(assignment)
- blood_type = initial(blood_type)
- dna_hash = initial(dna_hash)
- electronic_warfare = initial(electronic_warfare)
- fingerprint_hash = initial(fingerprint_hash)
- icon_state = initial(icon_state)
- sprite_stack = list("")
- update_icon()
- name = initial(name)
- registered_name = initial(registered_name)
- unset_registered_user()
- sex = initial(sex)
- to_chat(user, "All information has been deleted from \the [src].")
- . = 1
-
- // Always update the UI, or buttons will spin indefinitely
- SSnanoui.update_uis(src)
-
-/var/global/list/id_card_states
-/proc/id_card_states()
- if(!id_card_states)
- id_card_states = list()
- for(var/path in typesof(/obj/item/card/id))
- var/obj/item/card/id/ID = new path()
- var/datum/card_state/CS = new()
- CS.icon_state = initial(ID.icon_state)
- CS.item_state = initial(ID.item_state)
- CS.sprite_stack = ID.initial_sprite_stack
- CS.name = initial(ID.name)
- id_card_states += CS
- id_card_states = dd_sortedObjectList(id_card_states)
-
- return id_card_states
-
-/datum/card_state
- var/name
- var/icon_state
- var/item_state
- var/sprite_stack
-
-/datum/card_state/dd_SortValue()
- return name
-
-/obj/item/card/id/syndicate_command
- name = "syndicate ID card"
- desc = "An ID straight from the Syndicate."
- registered_name = "Syndicate"
- assignment = "Syndicate Overlord"
- icon_state = "syndicate-id"
- access = list(access_syndicate, access_external_airlocks)
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/inducer.dm b/code/game/objects/items/weapons/inducer.dm
index aa81d9c6e86..12513dd5e51 100644
--- a/code/game/objects/items/weapons/inducer.dm
+++ b/code/game/objects/items/weapons/inducer.dm
@@ -23,7 +23,7 @@
cell_type = null
opened = TRUE
-/obj/item/inducer/Initialize()
+/obj/item/inducer/Initialize(mapload)
. = ..()
if(!cell && cell_type)
cell = new cell_type
@@ -273,7 +273,7 @@
powertransfer = 500
opened = TRUE
-/obj/item/inducer/sci/Initialize()
+/obj/item/inducer/sci/Initialize(mapload)
. = ..()
update_icon() //To get the 'open' state applied
diff --git a/code/game/objects/items/weapons/material/whetstone.dm b/code/game/objects/items/weapons/material/whetstone.dm
index 11d2be44d32..e69de29bb2d 100644
--- a/code/game/objects/items/weapons/material/whetstone.dm
+++ b/code/game/objects/items/weapons/material/whetstone.dm
@@ -1,77 +0,0 @@
-//This is in the material folder because it's used by them...
-//Actual name may need to change
-//All of the important code is in material_weapons.dm
-/obj/item/whetstone
- name = "whetstone"
- desc = "A simple, fine grit stone, useful for sharpening dull edges and polishing out dents."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "whetstone"
- force = 3
- w_class = ITEMSIZE_SMALL
- var/repair_amount = 5
- var/repair_time = 40
-
-/obj/item/whetstone/attackby(obj/item/I, mob/user)
- if(istype(I, /obj/item/stack/material))
- var/obj/item/stack/material/M = I
- if(M.amount >= 5)
- to_chat(user, "You begin to refine the [src] with [M]...")
- if(do_after(user, 70))
- M.use(5)
- var/obj/item/SK
- SK = new /obj/item/material/sharpeningkit(get_turf(user), M.material.name)
- to_chat(user, "You sharpen and refine the [src] into \a [SK].")
- qdel(src)
- if(SK)
- user.put_in_hands(SK)
- else
- to_chat(user, "You need 5 [src] to refine it into a sharpening kit.")
-
-/obj/item/material/sharpeningkit
- name = "sharpening kit"
- desc = "A refined, fine grit whetstone, useful for sharpening dull edges, polishing out dents, and, with extra material, replacing an edge."
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "sharpener"
- hitsound = 'sound/weapons/genhit3.ogg'
- force_divisor = 0.7
- thrown_force_divisor = 1
- var/repair_amount = 5
- var/repair_time = 40
- var/sharpen_time = 100
- var/uses = 0
-
-/obj/item/material/sharpeningkit/examine(mob/user, distance)
- . = ..()
- to_chat(user, "There [uses == 1 ? "is" : "are"] [uses] [material] [uses == 1 ? src.material.sheet_singular_name : src.material.sheet_plural_name] left for use.")
-/obj/item/material/sharpeningkit/Initialize()
- . = ..()
- setrepair()
-
-/obj/item/material/sharpeningkit/proc/setrepair()
- repair_amount = material.hardness * 0.1
- repair_time = material.weight * 0.5
- sharpen_time = material.weight * 3
-
-/obj/item/material/sharpeningkit/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/stack/material))
- var/obj/item/stack/material/S = W
- if(S.material == material)
- S.use(1)
- uses += 1
- to_chat(user, "You add a [S.material.name] [S.material.sheet_singular_name] to [src].")
- return
-
- if(istype(W, /obj/item/material))
- if(istype(W, /obj/item/material/sharpeningkit))
- to_chat(user, "Really? Sharpening a [W] with [src]? You goofball.")
- return
- var/obj/item/material/M = W
- if(uses >= M.w_class*2)
- if(M.sharpen(src.material.name, sharpen_time, src, user))
- uses -= M.w_class*2
- return
- else
- to_chat(user, "Not enough material to sharpen [M]. You need [M.w_class*2] [M.material.sheet_plural_name].")
- return
- else
- to_chat(user, "You can't sharpen [W] with [src]!")
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 06d6e6dbf01..fe447f90480 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -64,7 +64,7 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/mop)
var/mopmode = MOPMODE_TILE
var/sweep_time = 7
-/obj/item/mop/Initialize()
+/obj/item/mop/Initialize(mapload)
. = ..()
create_reagents(30)
diff --git a/code/game/objects/items/weapons/nullrod.dm b/code/game/objects/items/weapons/nullrod.dm
index f8294723731..83394f17e91 100644
--- a/code/game/objects/items/weapons/nullrod.dm
+++ b/code/game/objects/items/weapons/nullrod.dm
@@ -25,7 +25,7 @@
var/SA_bonus_damage = 35 // 50 total against demons and aberrations.
var/SA_vulnerability = MOB_CLASS_DEMONIC | MOB_CLASS_ABERRATION
-/obj/item/nullrod/Initialize()
+/obj/item/nullrod/Initialize(mapload)
. = ..()
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE)
@@ -110,7 +110,7 @@
damtype = BURN
attack_verb = list("punched", "cross countered", "pummeled")
-/obj/item/nullrod/godhand/Initialize()
+/obj/item/nullrod/godhand/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
@@ -260,7 +260,7 @@
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
hitsound = 'sound/weapons/chainsaw_attack.ogg'
-/obj/item/nullrod/chainsaw/Initialize()
+/obj/item/nullrod/chainsaw/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
@@ -329,7 +329,7 @@
sharp = 1
edge = 1
-/obj/item/nullrod/armblade/Initialize()
+/obj/item/nullrod/armblade/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
@@ -436,7 +436,7 @@
var/praying = FALSE
var/deity_name = "Coderbus" //This is the default, hopefully won't actually appear if the religion subsystem is running properly
-/obj/item/nullrod/rosary/Initialize()
+/obj/item/nullrod/rosary/Initialize(mapload)
.=..()
if(GLOB.deity)
deity_name = GLOB.deity
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index dee7069eba0..b1dcee29e9e 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -83,7 +83,7 @@
icon_state = "jetpack-void"
item_state_slots = list(slot_r_hand_str = "jetpack-void", slot_l_hand_str = "jetpack-void")
-/obj/item/tank/jetpack/void/Initialize()
+/obj/item/tank/jetpack/void/Initialize(mapload)
. = ..()
air_contents.adjust_gas(/datum/gas/oxygen, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -93,7 +93,7 @@
icon_state = "jetpack"
item_state_slots = list(slot_r_hand_str = "jetpack", slot_l_hand_str = "jetpack")
-/obj/item/tank/jetpack/oxygen/Initialize()
+/obj/item/tank/jetpack/oxygen/Initialize(mapload)
. = ..()
air_contents.adjust_gas(/datum/gas/oxygen, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -104,7 +104,7 @@
icon_state = "jetpack-black"
item_state_slots = list(slot_r_hand_str = "jetpack-black", slot_l_hand_str = "jetpack-black")
-/obj/item/tank/jetpack/carbondioxide/Initialize()
+/obj/item/tank/jetpack/carbondioxide/Initialize(mapload)
. = ..()
air_contents.adjust_gas(/datum/gas/carbon_dioxide, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index 43c31076f91..84846d2dd90 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -16,7 +16,7 @@
icon_state = "oxygen"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
-/obj/item/tank/oxygen/Initialize()
+/obj/item/tank/oxygen/Initialize(mapload)
. = ..()
air_contents.adjust_gas(/datum/gas/oxygen, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -41,7 +41,7 @@
desc = "A tank with an N2O/O2 gas mix."
icon_state = "anesthetic"
-/obj/item/tank/anesthetic/Initialize()
+/obj/item/tank/anesthetic/Initialize(mapload)
. = ..()
air_contents.gas[/datum/gas/oxygen] = (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
@@ -61,7 +61,7 @@
to_chat(user, "The meter on the [src.name] indicates you are almost out of air!")
user << sound('sound/effects/alert.ogg')
-/obj/item/tank/air/Initialize()
+/obj/item/tank/air/Initialize(mapload)
. = ..()
src.air_contents.adjust_multi(/datum/gas/oxygen, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD, /datum/gas/nitrogen, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD)
@@ -76,7 +76,7 @@
gauge_icon = null
slot_flags = null //they have no straps!
-/obj/item/tank/phoron/Initialize()
+/obj/item/tank/phoron/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/phoron, (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C))
@@ -100,7 +100,7 @@
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
slot_flags = SLOT_BACK //these ones have straps!
-/obj/item/tank/vox/Initialize()
+/obj/item/tank/vox/Initialize(mapload)
..()
air_contents.adjust_gas(/datum/gas/phoron, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -127,7 +127,7 @@
icon_state = "emergency"
gauge_icon = "indicator_emergency"
-/obj/item/tank/emergency/oxygen/Initialize()
+/obj/item/tank/emergency/oxygen/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/oxygen, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -154,7 +154,7 @@
gauge_icon = "indicator_emergency_double"
volume = 10
-/obj/item/tank/stasis/oxygen/Initialize()
+/obj/item/tank/stasis/oxygen/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/oxygen, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -164,7 +164,7 @@
icon_state = "emergency_nitro"
gauge_icon = "indicator_emergency"
-/obj/item/tank/emergency/nitrogen/Initialize()
+/obj/item/tank/emergency/nitrogen/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/nitrogen, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -180,7 +180,7 @@
icon_state = "emergency_nitro"
gauge_icon = "indicator_emergency"
-/obj/item/tank/emergency/phoron/Initialize()
+/obj/item/tank/emergency/phoron/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/phoron, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -199,7 +199,7 @@
icon_state = "oxygen_fr"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
-/obj/item/tank/nitrogen/Initialize()
+/obj/item/tank/nitrogen/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/nitrogen, (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C))
@@ -216,7 +216,7 @@
gauge_icon = "indicator_emergency_double"
volume = 10
-/obj/item/tank/stasis/nitro_cryo/Initialize()
+/obj/item/tank/stasis/nitro_cryo/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas_temp(/datum/gas/nitrogen, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*TN60C), TN60C)
@@ -230,7 +230,7 @@
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
slot_flags //onmobs cringe tbh
-/obj/item/tank/carbon_dioxide/Initialize()
+/obj/item/tank/carbon_dioxide/Initialize(mapload)
. = ..()
air_contents.adjust_gas(/datum/gas/carbon_dioxide, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
@@ -243,7 +243,7 @@
volume = 6
-/obj/item/tank/emergency/carbon_dioxide/Initialize()
+/obj/item/tank/emergency/carbon_dioxide/Initialize(mapload)
. = ..()
src.air_contents.adjust_gas(/datum/gas/carbon_dioxide, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index eb5c48c34a5..b5ede41903f 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -56,7 +56,7 @@ var/list/global/tank_gauge_cache = list()
src.proxyassembly = proxy
-/obj/item/tank/Initialize()
+/obj/item/tank/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)
diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm
index 93ba79bf87d..a05f604eb6b 100644
--- a/code/game/objects/items/weapons/tools/weldingtool.dm
+++ b/code/game/objects/items/weapons/tools/weldingtool.dm
@@ -40,7 +40,7 @@
drop_sound = 'sound/items/drop/weldingtool.ogg'
pickup_sound = 'sound/items/pickup/weldingtool.ogg'
-/obj/item/weldingtool/Initialize()
+/obj/item/weldingtool/Initialize(mapload)
. = ..()
// var/random_fuel = min(rand(10,20),max_fuel)
var/datum/reagents/R = new/datum/reagents(max_fuel)
@@ -470,7 +470,7 @@
always_process = TRUE
var/obj/item/weldpack/mounted_pack = null
-/obj/item/weldingtool/tubefed/Initialize()
+/obj/item/weldingtool/tubefed/Initialize(mapload)
. = ..()
if(istype(loc, /obj/item/weldpack))
var/obj/item/weldpack/holder = loc
@@ -536,7 +536,7 @@
/obj/item/weldingtool/electric/unloaded
cell_type = null
-/obj/item/weldingtool/electric/Initialize()
+/obj/item/weldingtool/electric/Initialize(mapload)
. = ..()
if(cell_type == null)
update_icon()
diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm
index b4720ec1e13..dcf4e5f35b4 100644
--- a/code/game/objects/items/weapons/weldbackpack.dm
+++ b/code/game/objects/items/weapons/weldbackpack.dm
@@ -12,7 +12,7 @@
drop_sound = 'sound/items/drop/backpack.ogg'
pickup_sound = 'sound/items/pickup/backpack.ogg'
-/obj/item/weldpack/Initialize()
+/obj/item/weldpack/Initialize(mapload)
. = ..()
var/datum/reagents/R = new/datum/reagents(max_fuel) //Lotsa refills
reagents = R
diff --git a/code/game/objects/mob_spawner.dm b/code/game/objects/mob_spawner.dm
index f663e8d8538..e69de29bb2d 100644
--- a/code/game/objects/mob_spawner.dm
+++ b/code/game/objects/mob_spawner.dm
@@ -1,383 +0,0 @@
-////////////////////////////////////
-//Mob spawner structure. This one is an on map structure that players can see, sometimes break.
-////////////////////////////////////
-/obj/structure/mob_spawner
- name = "mob spawner"
- desc = "This shouldn't be seen, yell at a dev."
- icon = 'icons/effects/effects.dmi'
- icon_state = "rift"
- anchored = 1
-
- var/last_spawn = 0
- var/spawn_delay = 10 MINUTES
-
- var/list/spawn_types = list(
- /mob/living/simple_mob/animal/passive/dog/corgi = 100,
- /mob/living/simple_mob/animal/passive/cat = 25
- )
-
- var/total_spawns = -1 //Total mob spawns, over all time, -1 for no limit
- var/simultaneous_spawns = 3 //Max spawned mobs active at one time
- var/mob_faction
-
- var/destructible = 0
- var/health = 50
-
- var/list/spawned_mobs = list()
-
-/obj/structure/mob_spawner/New()
- ..()
- START_PROCESSING(SSobj, src)
- last_spawn = world.time + rand(0,spawn_delay)
-
-/obj/structure/mob_spawner/Destroy()
- STOP_PROCESSING(SSobj, src)
- for(var/mob/living/L in spawned_mobs)
- L.source_spawner = null
- spawned_mobs.Cut()
- return ..()
-
-/obj/structure/mob_spawner/process()
- if(!can_spawn())
- return
- var/chosen_mob = choose_spawn()
- if(chosen_mob)
- do_spawn(chosen_mob)
-
-/obj/structure/mob_spawner/proc/can_spawn()
- if(!total_spawns)
- return 0
- if(spawned_mobs.len >= simultaneous_spawns)
- return 0
- if(world.time < last_spawn + spawn_delay)
- return 0
- return 1
-
-/obj/structure/mob_spawner/proc/choose_spawn()
- return pickweight(spawn_types)
-
-/obj/structure/mob_spawner/proc/do_spawn(var/mob_path)
- if(!ispath(mob_path))
- return 0
- var/mob/living/L = new mob_path(get_turf(src))
- L.source_spawner = src
- spawned_mobs.Add(L)
- last_spawn = world.time
- if(total_spawns > 0)
- total_spawns--
- if(mob_faction)
- L.faction = mob_faction
- return L
-
-/obj/structure/mob_spawner/proc/get_death_report(var/mob/living/L)
- if(L in spawned_mobs)
- spawned_mobs.Remove(L)
-
-/obj/structure/mob_spawner/attackby(var/obj/item/I, var/mob/living/user)
- if(!I.force || I.flags & NOBLUDGEON || !destructible)
- return
-
- user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
- user.do_attack_animation(src)
- visible_message("\The [src] has been [I.attack_verb.len ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].")
- take_damage(I.force)
-
-/obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj)
- ..()
- if(destructible)
- take_damage(Proj.get_structure_damage())
-
-/obj/structure/mob_spawner/take_damage(var/damage)
- health -= damage
- if(health <= 0)
- visible_message("\The [src] breaks apart!")
- qdel(src)
-
-/obj/structure/mob_spawner/clear_zlevel/can_spawn()
- if(!..())
- return 0
- var/turf/T = get_turf(src)
- if(!T)
- return 0
- for(var/mob/living/L in player_list)
- var/turf/L_T
- if(L.stat == DEAD)
- continue
- L_T = get_turf(L)
- if(T.z == L_T.z)
- return 0
- return 1
-
-
-/*
-This code is based on the mob spawner and the proximity sensor, the idea is to lazy load mobs to avoid having the server use mobs when they arent needed.
-It also makes it so a ghost wont know where all the goodies/mobs are.
-*/
-
-/obj/structure/mob_spawner/scanner
- name ="Lazy Mob Spawner"
- var/range = 10 //range in tiles from the spawner to detect moving stuff
-
-/obj/structure/mob_spawner/scanner/process()
- if(!can_spawn())
- return
- if(world.time > last_spawn + spawn_delay)
- var/turf/mainloc = get_turf(src)
- for(var/mob/living/A in range(range,mainloc))
- if ((A.faction != mob_faction) && (A.move_speed < 12))
- var/chosen_mob = choose_spawn()
- if(chosen_mob)
- do_spawn(chosen_mob)
-
-//////////////
-// Spawners //
-/////////////
-/obj/structure/mob_spawner/scanner/corgi
- name = "Corgi Lazy Spawner"
- desc = "This is a proof of concept, not sure why you would use this one"
- spawn_delay = 3 MINUTES
- mob_faction = "Corgi"
- spawn_types = list(
- /mob/living/simple_mob/animal/passive/dog/corgi = 75,
- /mob/living/simple_mob/animal/passive/dog/corgi/puppy = 50
- )
-
- simultaneous_spawns = 5
- range = 7
- destructible = 1
- health = 200
- total_spawns = 100
-
-/obj/structure/mob_spawner/scanner/wild_animals
- name = "Wilderness Lazy Spawner"
- spawn_delay = 10 MINUTES
- range = 10
- simultaneous_spawns = 1
- mob_faction = "wild animal"
- total_spawns = -1
- destructible = 0
- anchored = 1
- invisibility = 101
- spawn_types = list(
- /mob/living/simple_mob/animal/passive/gaslamp = 20,
-// /mob/living/simple_mob/otie/feral = 10,
- /mob/living/simple_mob/vore/aggressive/dino/virgo3b = 5,
- /mob/living/simple_mob/vore/aggressive/dragon/virgo3b = 1
- )
-
-/obj/structure/mob_spawner/scanner/xenos
- name = "Xenomorph Egg"
- spawn_delay = 10 MINUTES
- range = 10
- simultaneous_spawns = 1
- mob_faction = "xeno"
- total_spawns = -1
- destructible = 1
- health = 50
- anchored = 1
- icon = 'icons/mob/actions.dmi'
- icon_state = "alien_egg"
- spawn_types = list(
- /mob/living/simple_mob/animal/space/alien/drone = 20,
- /mob/living/simple_mob/animal/space/alien = 10,
- /mob/living/simple_mob/animal/space/alien/sentinel = 5,
- /mob/living/simple_mob/animal/space/alien/queen = 1
- )
-
-/obj/structure/mob_spawner/scanner/xenos/royal
- name = "Royal Xenomorph Egg"
- spawn_delay = 10 MINUTES
- range = 10
- simultaneous_spawns = 1
- mob_faction = "xeno"
- total_spawns = 1
- destructible = 1
- health = 50
- anchored = 1
- icon = 'icons/mob/actions.dmi'
- icon_state = "alien_egg"
- spawn_types = list(
- /mob/living/simple_mob/animal/space/alien/queen = 5
- )
-
-////////////////////////////////////
-//Invisible mob spawner. This one spawns mobs until depleted. Often used in caves.
-////////////////////////////////////
-/obj/mob_spawner
- name = "RENAME ME, JERK"
- desc = "Spawns the mobs!"
- icon = 'icons/mob/screen1.dmi'
- icon_state = "x"
- invisibility = 101
- mouse_opacity = 0
- density = 0
- anchored = 1
-
- //Weighted with values (not %chance, but relative weight)
- //Can be left value-less for all equally likely
- var/list/mobs_to_pick_from
-
- //When the below chance fails, the spawner is marked as depleted and stops spawning
- var/prob_spawn = 100 //Chance of spawning a mob whenever they don't have one
- var/prob_fall = 5 //Above decreases by this much each time one spawns
-
- //Settings to help mappers/coders have their mobs do what they want in this case
- var/faction //To prevent infighting if it spawns various mobs, set a faction
- var/atmos_comp //TRUE will set all their survivability to be within 20% of the current air
- //var/guard //# will set the mobs to remain nearby their spawn point within this dist
-
- //Internal use only
- var/mob/living/simple_mob/my_mob
- var/depleted = FALSE
-
-/obj/mob_spawner/Initialize()
- . = ..()
-
- if(!LAZYLEN(mobs_to_pick_from))
- log_world("Mob spawner at [x],[y],[z] ([get_area(src)]) had no mobs_to_pick_from set on it!")
- return INITIALIZE_HINT_QDEL
- START_PROCESSING(SSobj, src)
-
-/obj/mob_spawner/process()
- if(my_mob && my_mob.stat != DEAD)
- return //No need
-
- if(LAZYLEN(loc.human_mobs(world.view)))
- return //I'll wait.
-
- if(prob(prob_spawn))
- prob_spawn -= prob_fall
- var/picked_type = pickweight(mobs_to_pick_from)
- my_mob = new picked_type(get_turf(src))
- my_mob.low_priority = TRUE
-
- if(faction)
- my_mob.faction = faction
-
- if(atmos_comp)
- var/turf/T = get_turf(src)
- var/datum/gas_mixture/env = T.return_air()
- if(env)
- my_mob.minbodytemp = env.temperature * 0.8
- my_mob.maxbodytemp = env.temperature * 1.2
-
- var/list/gaslist = env.gas
- my_mob.min_oxy = gaslist[/datum/gas/oxygen] * 0.8
- my_mob.min_tox = gaslist[/datum/gas/phoron] * 0.8
- my_mob.min_n2 = gaslist[/datum/gas/nitrogen] * 0.8
- my_mob.min_co2 = gaslist[/datum/gas/carbon_dioxide] * 0.8
- my_mob.max_oxy = gaslist[/datum/gas/oxygen] * 1.2
- my_mob.max_tox = gaslist[/datum/gas/phoron] * 1.2
- my_mob.max_n2 = gaslist[/datum/gas/nitrogen] * 1.2
- my_mob.max_co2 = gaslist[/datum/gas/carbon_dioxide] * 1.2
- return
- else
- STOP_PROCESSING(SSobj, src)
- depleted = TRUE
- return
-
-/obj/mob_spawner/carp
- name = "Carp Spawner"
- prob_fall = 15
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/carp = 3,
- /mob/living/simple_mob/animal/space/carp/large = 1
- )
-
-/obj/mob_spawner/carp/small
- prob_fall = 30
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/carp = 3,
- /mob/living/simple_mob/animal/space/carp/large = 1,
- )
-
-/obj/mob_spawner/carp/hard
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/carp/large = 2,
- /mob/living/simple_mob/animal/space/carp/large/huge = 1
- )
-
-/obj/mob_spawner/carp/medium
- prob_fall = 10
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/carp = 5,
- /mob/living/simple_mob/animal/space/carp/large = 2
- )
-
-/obj/mob_spawner/carp/large
- name = "Carp Horde Spawner"
- prob_fall = 10
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/carp = 8,
- /mob/living/simple_mob/animal/space/carp/large = 3,
- /mob/living/simple_mob/animal/space/carp/large/huge = 1
- )
-
-/obj/mob_spawner/derelict
- name = "Derelict random mob spawner"
- faction = "derelict"
- mobs_to_pick_from = list(
- /mob/living/simple_mob/mechanical/corrupt_maint_drone = 2,
- /mob/living/simple_mob/mechanical/infectionbot = 3,
- /mob/living/simple_mob/mechanical/combat_drone = 1
- )
-
-/obj/mob_spawner/derelict/corrupt_maint_swarm
- name = "Derelict maint swarm"
- faction = "derelict"
- mobs_to_pick_from = list(
- /mob/living/simple_mob/mechanical/corrupt_maint_drone = 4
- )
-
-/obj/mob_spawner/derelict/mech_wizard
- name = "Derelict wizard"
- faction = "derelict"
- mobs_to_pick_from = list(
- /mob/living/simple_mob/mechanical/technomancer_golem = 2
- )
-
-/obj/mob_spawner/hound_spawner
- name = "Corrupt Hound Spawner"
- prob_fall = 50
- mobs_to_pick_from = list(
- /mob/living/simple_mob/vore/aggressive/corrupthound = 1
- )
-
-/obj/mob_spawner/drone_spawner
- name = "Drone Swarm Spawner"
- prob_fall = 10
- mobs_to_pick_from = list(
- /mob/living/simple_mob/mechanical/corrupt_maint_drone = 3
- )
-
-/obj/mob_spawner/alien
- name = "Alien Spawner"
- prob_fall = 10
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/alien = 1
- )
-
-/obj/mob_spawner/alien/easy
- name = "Easy Alien Spawner"
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/alien = 1,
- /mob/living/simple_mob/animal/space/alien/drone = 2,
- /mob/living/simple_mob/animal/space/alien/sentinel = 1,
- )
-
-/obj/mob_spawner/alien/medium
- name = "Medium Alien Spawner"
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/alien = 2,
- /mob/living/simple_mob/animal/space/alien/drone = 3,
- /mob/living/simple_mob/animal/space/alien/sentinel = 2,
- /mob/living/simple_mob/animal/space/alien/sentinel/praetorian = 1
- )
-
-/obj/mob_spawner/alien/hard
- name = "Hard Alien Spawner"
- mobs_to_pick_from = list(
- /mob/living/simple_mob/animal/space/alien = 4,
- /mob/living/simple_mob/animal/space/alien/sentinel = 4,
- /mob/living/simple_mob/animal/space/alien/sentinel/praetorian = 2
- )
\ No newline at end of file
diff --git a/code/game/objects/random/_random.dm b/code/game/objects/random/_random.dm
index c1ab1f1ff5a..21e22d0df57 100644
--- a/code/game/objects/random/_random.dm
+++ b/code/game/objects/random/_random.dm
@@ -101,7 +101,7 @@ var/list/multi_point_spawns
var/id // Group id
var/weight // Probability weight for this spawn point
-/obj/random_multi/Initialize()
+/obj/random_multi/Initialize(mapload)
. = ..()
weight = max(1, round(weight))
diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm
index 44351842541..e69de29bb2d 100644
--- a/code/game/objects/structures/catwalk.dm
+++ b/code/game/objects/structures/catwalk.dm
@@ -1,107 +0,0 @@
-// Based on catwalk.dm from https://github.com/Endless-Horizon/CEV-Eris
-/obj/structure/catwalk
- name = "catwalk"
- desc = "Cats really don't like these things."
- plane = DECAL_PLANE
- layer = ABOVE_UTILITY
- icon = 'icons/turf/catwalks.dmi'
- icon_state = "catwalk"
- density = 0
- var/health = 100
- var/maxhealth = 100
- anchored = 1.0
-
-/obj/structure/catwalk/Initialize()
- . = ..()
- for(var/obj/structure/catwalk/O in range(1))
- O.update_icon()
- for(var/obj/structure/catwalk/C in get_turf(src))
- if(C != src)
- warning("Duplicate [type] in [loc] ([x], [y], [z])")
- return INITIALIZE_HINT_QDEL
- update_icon()
-
-/obj/structure/catwalk/Destroy()
- var/turf/location = loc
- . = ..()
- location.alpha = initial(location.alpha)
- for(var/obj/structure/catwalk/L in orange(location, 1))
- L.update_icon()
-
-/obj/structure/catwalk/update_icon()
- var/connectdir = 0
- for(var/direction in cardinal)
- if(locate(/obj/structure/catwalk, get_step(src, direction)))
- connectdir |= direction
-
- //Check the diagonal connections for corners, where you have, for example, connections both north and east. In this case it checks for a north-east connection to determine whether to add a corner marker or not.
- var/diagonalconnect = 0 //1 = NE; 2 = SE; 4 = NW; 8 = SW
- //NORTHEAST
- if(connectdir & NORTH && connectdir & EAST)
- if(locate(/obj/structure/catwalk, get_step(src, NORTHEAST)))
- diagonalconnect |= 1
- //SOUTHEAST
- if(connectdir & SOUTH && connectdir & EAST)
- if(locate(/obj/structure/catwalk, get_step(src, SOUTHEAST)))
- diagonalconnect |= 2
- //NORTHWEST
- if(connectdir & NORTH && connectdir & WEST)
- if(locate(/obj/structure/catwalk, get_step(src, NORTHWEST)))
- diagonalconnect |= 4
- //SOUTHWEST
- if(connectdir & SOUTH && connectdir & WEST)
- if(locate(/obj/structure/catwalk, get_step(src, SOUTHWEST)))
- diagonalconnect |= 8
-
- icon_state = "catwalk[connectdir]-[diagonalconnect]"
-
-
-/obj/structure/catwalk/ex_act(severity)
- switch(severity)
- if(1.0)
- qdel(src)
- if(2.0)
- qdel(src)
- if(3.0)
- qdel(src)
- return
-
-/obj/structure/catwalk/attackby(obj/item/C as obj, mob/user as mob)
- if(istype(C, /obj/item/weldingtool))
- var/obj/item/weldingtool/WT = C
- if(WT.isOn())
- if(WT.remove_fuel(0, user))
- to_chat(user, "Slicing lattice joints ...")
- new /obj/item/stack/rods(src.loc)
- new /obj/item/stack/rods(src.loc)
- new /obj/structure/lattice(src.loc)
- qdel(src)
- if(C.is_screwdriver())
- if(health < maxhealth)
- to_chat(user, "You begin repairing \the [src.name] with \the [C.name].")
- if(do_after(user, 20, src))
- health = maxhealth
- else
- take_damage(C.force)
- user.setClickCooldown(user.get_attack_speed(C))
- return ..()
-
-/obj/structure/catwalk/Crossed()
- . = ..()
- if(isliving(usr))
- playsound(src, pick('sound/effects/footstep/catwalk1.ogg', 'sound/effects/footstep/catwalk2.ogg', 'sound/effects/footstep/catwalk3.ogg', 'sound/effects/footstep/catwalk4.ogg', 'sound/effects/footstep/catwalk5.ogg'), 25, 1)
-
-/obj/structure/catwalk/CheckExit(atom/movable/O, turf/target)
- if(O.checkpass(PASSGRILLE))
- return 1
- if(target && target.z < src.z)
- return 0
- return 1
-
-/obj/structure/catwalk/take_damage(amount)
- health -= amount
- if(health <= 0)
- visible_message("\The [src] breaks down!")
- playsound(loc, 'sound/effects/grillehit.ogg', 50, 1)
- new /obj/item/stack/rods(get_turf(src))
- Destroy()
\ No newline at end of file
diff --git a/code/game/objects/structures/cliff.dm b/code/game/objects/structures/cliff.dm
index 87d512c966b..6951eefd9b0 100644
--- a/code/game/objects/structures/cliff.dm
+++ b/code/game/objects/structures/cliff.dm
@@ -65,7 +65,7 @@ two tiles on initialization, and which way a cliff is facing may change during m
/obj/structure/cliff/bottom
bottom = TRUE
-/obj/structure/cliff/automatic/Initialize()
+/obj/structure/cliff/automatic/Initialize(mapload)
..()
return INITIALIZE_HINT_LATELOAD
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index edfb1f67669..e69de29bb2d 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -1,487 +0,0 @@
-/obj/structure/closet
- name = "closet"
- desc = "It's a basic storage unit."
- icon = 'icons/obj/closet.dmi'
- icon_state = "closed"
- density = 1
- w_class = ITEMSIZE_HUGE
- layer = UNDER_JUNK_LAYER
- var/icon_closed = "closed"
- var/icon_opened = "open"
- var/opened = 0
- var/sealed = 0
- var/seal_tool = /obj/item/weldingtool //Tool used to seal the closet, defaults to welder
- var/wall_mounted = 0 //never solid (You can always pass over it)
- var/health = 100
-
- var/breakout = 0 //if someone is currently breaking out. mutex
- var/breakout_time = 2 //2 minutes by default
- var/breakout_sound = 'sound/effects/grillehit.ogg' //Sound that plays while breaking out
-
- var/storage_capacity = 2 * MOB_MEDIUM //This is so that someone can't pack hundreds of items in a locker/crate
- //then open it in a populated area to crash clients.
- var/storage_cost = 40 //How much space this closet takes up if it's stuffed in another closet
-
- var/open_sound = 'sound/machines/click.ogg'
- var/close_sound = 'sound/machines/click.ogg'
-
- var/store_misc = 1 //Chameleon item check
- var/store_items = 1 //Will the closet store items?
- var/store_mobs = 1 //Will the closet store mobs?
- var/max_closets = 0 //Number of other closets allowed on tile before it won't close.
-
- var/list/starts_with
-
-/obj/structure/closet/Initialize()
- ..()
- PopulateContents()
- // Closets need to come later because of spawners potentially creating objects during init.
- return INITIALIZE_HINT_LATELOAD
-
-/obj/structure/closet/LateInitialize()
- . = ..()
- if(starts_with)
- create_objects_in_loc(src, starts_with)
- starts_with = null
-
- if(!opened) // if closed, any item at the crate's loc is put in the contents
- if(istype(loc, /mob/living)) return //VOREStation Edit - No collecting mob organs if spawned inside mob
- var/obj/item/I
- for(I in src.loc)
- if(I.density || I.anchored || I == src) continue
- I.forceMove(src)
- // adjust locker size to hold all items with 5 units of free store room
- var/content_size = 0
- for(I in src.contents)
- content_size += CEILING(I.w_class/2, 1)
- if(content_size > storage_capacity-5)
- storage_capacity = content_size + 5
- update_icon()
-
-/**
- * The proc that fills the closet with its initial contents.
- */
-/obj/structure/closet/proc/PopulateContents()
- return
-
-/obj/structure/closet/examine(mob/user)
- if(..(user, 1) && !opened)
- var/content_size = 0
- for(var/obj/item/I in src.contents)
- if(!I.anchored)
- content_size += CEILING(I.w_class/2, 1)
- if(!content_size)
- to_chat(user, "It is empty.")
- else if(storage_capacity > content_size*4)
- to_chat(user, "It is barely filled.")
- else if(storage_capacity > content_size*2)
- to_chat(user, "It is less than half full.")
- else if(storage_capacity > content_size)
- to_chat(user, "There is still some free space.")
- else
- to_chat(user, "It is full.")
-
-/obj/structure/closet/CanAllowThrough(atom/movable/mover, turf/target)
- if(wall_mounted)
- return TRUE
- return ..()
-
-/obj/structure/closet/proc/can_open()
- if(src.sealed)
- return 0
- return 1
-
-/obj/structure/closet/proc/can_close()
- var/closet_count = 0
- for(var/obj/structure/closet/closet in get_turf(src))
- if(closet != src)
- if(!closet.anchored)
- closet_count ++
- if(closet_count > max_closets)
- return 0
- return 1
-
-/obj/structure/closet/proc/dump_contents()
- //Cham Projector Exception
- for(var/obj/effect/dummy/chameleon/AD in src)
- AD.forceMove(src.loc)
-
- for(var/obj/I in src)
- I.forceMove(src.loc)
-
- for(var/mob/M in src)
- M.forceMove(src.loc)
- if(M.client)
- M.client.eye = M.client.mob
- M.client.perspective = MOB_PERSPECTIVE
-
-/obj/structure/closet/proc/open()
- if(src.opened)
- return 0
-
- if(!src.can_open())
- return 0
-
- src.dump_contents()
-
- src.icon_state = src.icon_opened
- src.opened = 1
- playsound(src.loc, open_sound, 15, 1, -3)
- if(initial(density))
- density = !density
- return 1
-
-/obj/structure/closet/proc/close()
- if(!src.opened)
- return 0
- if(!src.can_close())
- return 0
-
- var/stored_units = 0
-
- if(store_misc)
- stored_units += store_misc(stored_units)
- if(store_items)
- stored_units += store_items(stored_units)
- if(store_mobs)
- stored_units += store_mobs(stored_units)
- if(max_closets)
- stored_units += store_closets(stored_units)
-
- src.icon_state = src.icon_closed
- src.opened = 0
-
- playsound(src.loc, close_sound, 15, 1, -3)
- if(initial(density))
- density = !density
- return 1
-
-//Cham Projector Exception
-/obj/structure/closet/proc/store_misc(var/stored_units)
- var/added_units = 0
- for(var/obj/effect/dummy/chameleon/AD in src.loc)
- if((stored_units + added_units) > storage_capacity)
- break
- AD.forceMove(src)
- added_units++
- return added_units
-
-/obj/structure/closet/proc/store_items(var/stored_units)
- var/added_units = 0
- for(var/obj/item/I in src.loc)
- var/item_size = CEILING(I.w_class / 2, 1)
- if(stored_units + added_units + item_size > storage_capacity)
- continue
- if(!I.anchored)
- I.forceMove(src)
- added_units += item_size
- return added_units
-
-/obj/structure/closet/proc/store_mobs(var/stored_units)
- var/added_units = 0
- for(var/mob/living/M in src.loc)
- if(M.buckled || M.pinned.len)
- continue
- if(stored_units + added_units + M.mob_size > storage_capacity)
- break
- if(M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
- M.forceMove(src)
- added_units += M.mob_size
- return added_units
-
-/obj/structure/closet/proc/store_closets(var/stored_units)
- var/added_units = 0
- for(var/obj/structure/closet/C in src.loc)
- if(C == src) //Don't store ourself
- continue
- if(C.anchored) //Don't worry about anchored things on the same tile
- continue
- if(C.max_closets) //Prevents recursive storage
- continue
- if(stored_units + added_units + storage_cost > storage_capacity)
- break
- C.forceMove(src)
- added_units += storage_cost
- return added_units
-
-
-/obj/structure/closet/proc/toggle(mob/user as mob)
- if(!(src.opened ? src.close() : src.open()))
- to_chat(user, "It won't budge!")
- return
- update_icon()
-
-// this should probably use dump_contents()
-/obj/structure/closet/ex_act(severity)
- switch(severity)
- if(1)
- for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion
- A.forceMove(src.loc)
- A.ex_act(severity + 1)
- qdel(src)
- if(2)
- if(prob(50))
- for (var/atom/movable/A as mob|obj in src)
- A.forceMove(src.loc)
- A.ex_act(severity + 1)
- qdel(src)
- if(3)
- if(prob(5))
- for(var/atom/movable/A as mob|obj in src)
- A.forceMove(src.loc)
- qdel(src)
-
-/obj/structure/closet/blob_act()
- damage(100)
-
-/obj/structure/closet/proc/damage(var/damage)
- health -= damage
- if(health <= 0)
- for(var/atom/movable/A in src)
- A.forceMove(src.loc)
- qdel(src)
-
-/obj/structure/closet/bullet_act(var/obj/item/projectile/Proj)
- var/proj_damage = Proj.get_structure_damage()
- if(!proj_damage)
- return
-
- ..()
- damage(proj_damage)
-
- return
-
-/obj/structure/closet/attackby(obj/item/W as obj, mob/user as mob)
- if(src.opened)
- if(istype(W, /obj/item/grab))
- var/obj/item/grab/G = W
- src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
- return 0
- if(istype(W,/obj/item/tk_grab))
- return 0
- if(istype(W, /obj/item/weldingtool))
- var/obj/item/weldingtool/WT = W
- if(!WT.remove_fuel(0,user))
- if(!WT.isOn())
- return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
- return
- playsound(src, WT.usesound, 50)
- new /obj/item/stack/material/steel(src.loc)
- for(var/mob/M in viewers(src))
- M.show_message("\The [src] has been cut apart by [user] with \the [WT].", 3, "You hear welding.", 2)
- qdel(src)
- return
- if(istype(W, /obj/item/storage/laundry_basket) && W.contents.len)
- var/obj/item/storage/laundry_basket/LB = W
- var/turf/T = get_turf(src)
- for(var/obj/item/I in LB.contents)
- LB.remove_from_storage(I, T)
- user.visible_message("[user] empties \the [LB] into \the [src].", \
- "You empty \the [LB] into \the [src].", \
- "You hear rustling of clothes.")
- return
- if(isrobot(user))
- return
- if(W.loc != user) // This should stop mounted modules ending up outside the module.
- return
- usr.drop_item()
- if(W)
- W.forceMove(src.loc)
- else if(istype(W, /obj/item/packageWrap))
- return
- else if(istype(W, /obj/item/extraction_pack)) //so fulton extracts dont open closets
- src.close()
- return
- else if(seal_tool)
- if(istype(W, seal_tool))
- var/obj/item/S = W
- if(istype(S, /obj/item/weldingtool))
- var/obj/item/weldingtool/WT = S
- if(!WT.remove_fuel(0,user))
- if(!WT.isOn())
- return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
- return
- if(do_after(user, 20 * S.toolspeed))
- playsound(src, S.usesound, 50)
- src.sealed = !src.sealed
- src.update_icon()
- for(var/mob/M in viewers(src))
- M.show_message("[src] has been [sealed?"sealed":"unsealed"] by [user.name].", 3)
- else if(W.is_wrench())
- if(sealed)
- if(anchored)
- user.visible_message("\The [user] begins unsecuring \the [src] from the floor.", "You start unsecuring \the [src] from the floor.")
- else
- user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.")
- playsound(src, W.usesound, 50)
- if(do_after(user, 20 * W.toolspeed))
- if(!src) return
- to_chat(user, "You [anchored? "un" : ""]secured \the [src]!")
- anchored = !anchored
- else
- src.attack_hand(user)
- return
-
-/obj/structure/closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
- if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete
- return
- if(O.loc == user)
- return
- if(user.restrained() || user.stat || user.weakened || user.stunned || user.paralysis)
- return
- if((!( istype(O, /atom/movable) ) || O.anchored || !Adjacent(user) || !Adjacent(O) || !user.Adjacent(O) || user.contents.Find(src)))
- return
- if(!isturf(user.loc)) // are you in a container/closet/pod/etc?
- return
- if(!src.opened)
- return
- if(istype(O, /obj/structure/closet))
- return
- step_towards(O, src.loc)
- if(user != O)
- user.show_viewers("[user] stuffs [O] into [src]!")
- src.add_fingerprint(user)
- return
-
-/obj/structure/closet/attack_robot(mob/user)
- if(Adjacent(user))
- attack_hand(user)
-
-/obj/structure/closet/relaymove(mob/user as mob)
- if(user.stat || !isturf(src.loc))
- return
-
- if(!src.open())
- to_chat(user, "It won't budge!")
-
-/obj/structure/closet/attack_hand(mob/user as mob)
- src.add_fingerprint(user)
- src.toggle(user)
-
-// tk grab then use on self
-/obj/structure/closet/attack_self_tk(mob/user as mob)
- src.add_fingerprint(user)
- if(!src.toggle())
- to_chat(usr, "It won't budge!")
-
-/obj/structure/closet/attack_ghost(mob/ghost)
- if(ghost.client && ghost.client.inquisitive_ghost)
- ghost.examinate(src)
- if (!src.opened)
- to_chat(ghost, "It contains: [english_list(contents)].")
-
-/obj/structure/closet/verb/verb_toggleopen()
- set src in oview(1)
- set category = "Object"
- set name = "Toggle Open"
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return
-
- if(ishuman(usr) || isrobot(usr))
- src.add_fingerprint(usr)
- src.toggle(usr)
- else
- to_chat(usr, "This mob type can't use this verb.")
-
-/obj/structure/closet/update_icon()//Putting the sealed stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
- overlays.Cut()
- if(!opened)
- icon_state = icon_closed
- if(sealed)
- overlays += "welded"
- else
- icon_state = icon_opened
-
-/obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys")
- if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD)
- return
- user.do_attack_animation(src)
- visible_message("[user] [attack_message] the [src]!")
- dump_contents()
- spawn(1) qdel(src)
- return 1
-
-/obj/structure/closet/proc/req_breakout()
- if(opened)
- return 0 //Door's open... wait, why are you in it's contents then?
- if(!sealed)
- return 0 //closed but not sealed...
- return 1
-
-/obj/structure/closet/proc/mob_breakout(var/mob/living/escapee)
-
- if(breakout || !req_breakout())
- return
-
- escapee.setClickCooldown(100)
-
- //okay, so the closet is either sealed or locked... resist!!!
- to_chat(escapee, "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)")
-
- visible_message("\The [src] begins to shake violently!")
-
- breakout = 1 //can't think of a better way to do this right now.
- for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2
- if(!do_after(escapee, 50)) //5 seconds
- breakout = 0
- return
- if(!escapee || escapee.incapacitated() || escapee.loc != src)
- breakout = 0
- return //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened
- //Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'...
- if(!req_breakout())
- breakout = 0
- return
-
- playsound(src.loc, breakout_sound, 100, 1)
- animate_shake()
- add_fingerprint(escapee)
-
- //Well then break it!
- breakout = 0
- to_chat(escapee, "You successfully break out!")
- visible_message("\The [escapee] successfully broke out of \the [src]!")
- playsound(src.loc, breakout_sound, 100, 1)
- break_open()
- animate_shake()
-
-/obj/structure/closet/proc/break_open()
- sealed = 0
- update_icon()
- //Do this to prevent contents from being opened into nullspace (read: bluespace)
- if(istype(loc, /obj/structure/bigDelivery))
- var/obj/structure/bigDelivery/BD = loc
- BD.unwrap()
- open()
-
-/obj/structure/closet/proc/animate_shake()
- var/init_px = pixel_x
- var/shake_dir = pick(-1, 1)
- animate(src, transform=turn(matrix(), 8*shake_dir), pixel_x=init_px + 2*shake_dir, time=1)
- animate(transform=null, pixel_x=init_px, time=6, easing=ELASTIC_EASING)
-
-/obj/structure/closet/onDropInto(var/atom/movable/AM)
- return
-
-/obj/structure/closet/AllowDrop()
- return TRUE
-
-/obj/structure/closet/return_air_for_internal_lifeform(var/mob/living/L)
- if(src.loc)
- if(istype(src.loc, /obj/structure/closet))
- return (loc.return_air_for_internal_lifeform(L))
- return return_air()
-
-/obj/structure/closet/take_damage(var/damage)
- if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD)
- return
- dump_contents()
- spawn(1) qdel(src)
- return 1
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index 3e7f4021562..b721e23c0f4 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -23,7 +23,7 @@
/obj/item/clothing/gloves/fingerless,
/obj/item/clothing/head/soft)
-/obj/structure/closet/secure_closet/cargotech/Initialize()
+/obj/structure/closet/secure_closet/cargotech/Initialize(mapload)
if(prob(75))
starts_with += /obj/item/storage/backpack
else
@@ -61,7 +61,7 @@
/obj/item/clothing/suit/storage/hooded/wintercoat/cargo,
/obj/item/clothing/shoes/boots/winter/supply)
-/obj/structure/closet/secure_closet/quartermaster/Initialize()
+/obj/structure/closet/secure_closet/quartermaster/Initialize(mapload)
if(prob(75))
starts_with += /obj/item/storage/backpack
else
@@ -96,13 +96,13 @@
/obj/item/clothing/shoes/boots/winter/mining,
/obj/item/stack/marker_beacon/thirty)
-/obj/structure/closet/secure_closet/miner/Initialize()
+/obj/structure/closet/secure_closet/miner/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/industrial
else
starts_with += /obj/item/storage/backpack/satchel/eng
return ..()
-/obj/structure/closet/secure_closet/miner/Initialize()
+/obj/structure/closet/secure_closet/miner/Initialize(mapload)
starts_with += /obj/item/gps/mining
return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index e78f32abaae..7bb888902e0 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -39,7 +39,7 @@
/obj/item/shield_diffuser,
/obj/item/switchtool/holo/CE) //Citadel Addition
-/obj/structure/closet/secure_closet/engineering_chief/Initialize()
+/obj/structure/closet/secure_closet/engineering_chief/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/industrial
else
@@ -112,7 +112,7 @@
/obj/item/reagent_containers/spray/windowsealant, //VOREStation Add
/obj/item/shield_diffuser) //Citadel Addition
-/obj/structure/closet/secure_closet/engineering_personal/Initialize()
+/obj/structure/closet/secure_closet/engineering_personal/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/industrial
else
@@ -152,7 +152,7 @@
/obj/item/pipe_dispenser,
/obj/item/shield_diffuser) //Citadel Addition
-/obj/structure/closet/secure_closet/atmos_personal/Initialize()
+/obj/structure/closet/secure_closet/atmos_personal/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/industrial
else
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/explorer.dm b/code/game/objects/structures/crates_lockers/closets/secure/explorer.dm
index 3a9fbed6cde..9068f04d0c8 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/explorer.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/explorer.dm
@@ -31,7 +31,7 @@
/obj/item/reagent_containers/food/snacks/liquidprotein,
/obj/item/cataloguer)
-/obj/structure/closet/secure_closet/explorer/Initialize()
+/obj/structure/closet/secure_closet/explorer/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack
else
@@ -173,7 +173,7 @@
/obj/item/gps/explorer,
/obj/item/cataloguer/compact)
-/obj/structure/closet/secure_closet/pilot/Initialize()
+/obj/structure/closet/secure_closet/pilot/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack
else
@@ -223,7 +223,7 @@
/obj/item/card/mining_point_card/survey/gimmick,
/obj/item/cataloguer/compact/pathfinder)
-/obj/structure/closet/secure_closet/pathfinder/Initialize()
+/obj/structure/closet/secure_closet/pathfinder/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack
else
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
index 4340e582a29..ac5599c98ac 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
@@ -9,7 +9,7 @@
icon_opened = "base"
req_one_access = list(access_armory)
-/obj/structure/closet/secure_closet/guncabinet/Initialize()
+/obj/structure/closet/secure_closet/guncabinet/Initialize(mapload)
. = ..()
update_icon()
@@ -70,7 +70,7 @@
/obj/item/ammo_magazine/clip/c762/hunter = 9,
/obj/item/gun/projectile/shotgun/pump/rifle = 2)
-/obj/structure/closet/secure_closet/guncabinet/rifle/Initialize()
+/obj/structure/closet/secure_closet/guncabinet/rifle/Initialize(mapload)
if(prob(85))
starts_with += /obj/item/gun/projectile/shotgun/pump/rifle
else
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index 752c347ffa4..f5311f371ce 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -23,7 +23,7 @@
/obj/item/clothing/suit/storage/hooded/wintercoat/hydro,
/obj/item/clothing/shoes/boots/winter/hydro)
-/obj/structure/closet/secure_closet/hydroponics/Initialize()
+/obj/structure/closet/secure_closet/hydroponics/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/clothing/suit/storage/apron
else
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 498b3393c1c..e69de29bb2d 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -1,321 +0,0 @@
-/obj/structure/closet/secure_closet/medical1
- name = "medicine closet"
- desc = "Filled with medical junk."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
- req_access = list(access_medical)
-
- starts_with = list(
- /obj/item/storage/box/autoinjectors,
- /obj/item/storage/box/syringes,
- /obj/item/reagent_containers/dropper = 2,
- /obj/item/reagent_containers/glass/beaker = 2,
- /obj/item/reagent_containers/glass/bottle/inaprovaline = 2,
- /obj/item/reagent_containers/glass/bottle/antitoxin = 2)
-
-
-/obj/structure/closet/secure_closet/medical2
- name = "anesthetics closet"
- desc = "Used to knock people out."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
- req_access = list(access_surgery)
-
- starts_with = list(
- /obj/item/tank/anesthetic = 3,
- /obj/item/clothing/mask/breath/medical = 3)
-
-
-/obj/structure/closet/secure_closet/medical3
- name = "medical doctor's locker"
- req_access = list(access_medical_equip)
- icon_state = "securemed1"
- icon_closed = "securemed"
- icon_locked = "securemed1"
- icon_opened = "securemedopen"
- icon_broken = "securemedbroken"
- icon_off = "securemedoff"
-
- starts_with = list(
- /obj/item/clothing/under/rank/medical,
- /obj/item/clothing/under/rank/nurse,
- /obj/item/clothing/under/rank/orderly,
- /obj/item/clothing/suit/storage/toggle/labcoat,
- /obj/item/clothing/suit/storage/toggle/fr_jacket,
- /obj/item/clothing/shoes/white,
- /obj/item/cartridge/medical,
- /obj/item/radio/headset/headset_med,
- /obj/item/radio/headset/headset_med/alt,
- /obj/item/clothing/suit/storage/hooded/wintercoat/medical,
- /obj/item/clothing/shoes/boots/winter/medical,
- /obj/item/clothing/under/rank/nursesuit,
- /obj/item/clothing/head/nursehat,
- /obj/item/gps/medical,
- /obj/item/storage/box/freezer = 3)
-
-/obj/structure/closet/secure_closet/medical3/Initialize()
- if(prob(50))
- starts_with += /obj/item/storage/backpack/medic
- else
- starts_with += /obj/item/storage/backpack/satchel/med
- if(prob(50))
- starts_with += /obj/item/storage/backpack/dufflebag/med
- switch(pick("blue", "green", "purple", "black", "navyblue"))
- if ("blue")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs
- starts_with += /obj/item/clothing/head/surgery/blue
- if ("green")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
- starts_with += /obj/item/clothing/head/surgery/green
- if ("purple")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
- starts_with += /obj/item/clothing/head/surgery/purple
- if ("black")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
- starts_with += /obj/item/clothing/head/surgery/black
- if ("navyblue")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
- starts_with += /obj/item/clothing/head/surgery/navyblue
- switch(pick("blue", "green", "purple", "black", "navyblue"))
- if ("blue")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs
- starts_with += /obj/item/clothing/head/surgery/blue
- if ("green")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
- starts_with += /obj/item/clothing/head/surgery/green
- if ("purple")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
- starts_with += /obj/item/clothing/head/surgery/purple
- if ("black")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
- starts_with += /obj/item/clothing/head/surgery/black
- if ("navyblue")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
- starts_with += /obj/item/clothing/head/surgery/navyblue
- return ..()
-
-
-/obj/structure/closet/secure_closet/paramedic
- name = "paramedic locker"
- desc = "Supplies for a first responder."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
- req_access = list(access_medical_equip)
-
- starts_with = list(
- /obj/item/storage/backpack/dufflebag/emt,
- /obj/item/clothing/under/bodysuit/bodysuitemt,
- /obj/item/storage/box/autoinjectors,
- /obj/item/storage/box/syringes,
- /obj/item/reagent_containers/glass/bottle/inaprovaline,
- /obj/item/reagent_containers/glass/bottle/antitoxin,
- /obj/item/storage/belt/medical/emt,
- /obj/item/clothing/mask/gas,
- /obj/item/clothing/suit/storage/toggle/fr_jacket,
- /obj/item/clothing/suit/storage/toggle/labcoat/emt,
- /obj/item/radio/headset/headset_med/alt,
- /obj/item/cartridge/medical,
- /obj/item/storage/briefcase/inflatable,
- /obj/item/flashlight,
- /obj/item/tank/emergency/oxygen/engi,
- /obj/item/clothing/glasses/hud/health,
- /obj/item/healthanalyzer,
- /obj/item/radio/off,
- /obj/random/medical,
- /obj/item/tool/crowbar,
- /obj/item/gps/medical,
- /obj/item/extinguisher/mini,
- /obj/item/storage/box/freezer,
- /obj/item/clothing/accessory/storage/white_vest,
- /obj/item/barrier_tape_roll/medical)
-
-/obj/structure/closet/secure_closet/paramedic/Initialize()
- starts_with += /obj/item/gps/medical
- return ..()
-
-/obj/structure/closet/secure_closet/CMO
- name = "chief medical officer's locker"
- req_access = list(access_cmo)
- icon_state = "cmosecure1"
- icon_closed = "cmosecure"
- icon_locked = "cmosecure1"
- icon_opened = "cmosecureopen"
- icon_broken = "cmosecurebroken"
- icon_off = "cmosecureoff"
-
- starts_with = list(
- /obj/item/clothing/under/rank/chief_medical_officer,
- /obj/item/clothing/under/rank/chief_medical_officer/skirt,
- /obj/item/clothing/under/rank/chief_medical_officer/skirt_pleated,
- /obj/item/clothing/suit/storage/toggle/labcoat/cmo,
- /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
- /obj/item/cartridge/cmo,
- /obj/item/clothing/gloves/sterile/latex,
- /obj/item/clothing/shoes/brown ,
- /obj/item/radio/headset/heads/cmo,
- /obj/item/radio/headset/heads/cmo/alt,
- /obj/item/flash,
- /obj/item/reagent_containers/hypospray/vial,
- /obj/item/clothing/suit/storage/hooded/wintercoat/medical,
- /obj/item/clothing/shoes/boots/winter/medical,
- /obj/item/storage/box/freezer,
- /obj/item/clothing/mask/gas,
- /obj/item/barrier_tape_roll/medical,
- /obj/item/clothing/suit/bio_suit/cmo,
- /obj/item/clothing/head/bio_hood/cmo,
- /obj/item/gps/medical/cmo,
- /obj/item/clothing/shoes/white,
- /obj/item/reagent_containers/glass/beaker/vial, //VOREStation Add
- /obj/item/clothing/under/rank/chief_medical_officer/turtleneck)
-
-/obj/structure/closet/secure_closet/CMO/Initialize()
- if(prob(50))
- starts_with += /obj/item/storage/backpack/medic
- else
- starts_with += /obj/item/storage/backpack/satchel/med
- if(prob(50))
- starts_with += /obj/item/storage/backpack/dufflebag/med
- switch(pick("blue", "green", "purple", "black", "navyblue"))
- if ("blue")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs
- starts_with += /obj/item/clothing/head/surgery/blue
- if ("green")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
- starts_with += /obj/item/clothing/head/surgery/green
- if ("purple")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
- starts_with += /obj/item/clothing/head/surgery/purple
- if ("black")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
- starts_with += /obj/item/clothing/head/surgery/black
- if ("navyblue")
- starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
- starts_with += /obj/item/clothing/head/surgery/navyblue
- return ..()
-
-
-/obj/structure/closet/secure_closet/animal
- name = "animal control closet"
- req_access = list(access_surgery)
-
- starts_with = list(
- /obj/item/assembly/signaler,
- /obj/item/radio/electropack = 3)
-
-
-/obj/structure/closet/secure_closet/chemical
- name = "chemical closet"
- desc = "Store dangerous chemicals in here."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
- req_access = list(access_chemistry)
-
- starts_with = list(
- /obj/item/storage/box/pillbottles = 2,
- /obj/item/storage/box/beakers,
- /obj/item/storage/box/autoinjectors,
- /obj/item/storage/box/syringes,
- /obj/item/reagent_containers/dropper = 2,
- /obj/item/reagent_containers/glass/bottle/inaprovaline = 2,
- /obj/item/reagent_containers/glass/bottle/antitoxin = 2,
- /obj/item/storage/fancy/vials) //VOREStation Add
-
-
-/obj/structure/closet/secure_closet/psych
- name = "psychiatric closet"
- desc = "Store psychology tools and medicines in here."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
- req_access = list(access_psychiatrist)
-
- starts_with = list(
- /obj/item/clothing/under/rank/psych,
- /obj/item/clothing/under/rank/psych/turtleneck,
- /obj/item/clothing/suit/straight_jacket,
- /obj/item/reagent_containers/glass/bottle/stoxin,
- /obj/item/reagent_containers/syringe,
- /obj/item/storage/pill_bottle/citalopram,
- /obj/item/reagent_containers/pill/methylphenidate,
- /obj/item/clipboard,
- /obj/item/folder/white,
- /obj/item/tape_recorder,
- /obj/item/cassette_tape/random = 3,
- /obj/item/camera,
- /obj/item/toy/plushie/therapy/blue)
-
-
-/obj/structure/closet/secure_closet/medical_wall
- name = "first aid closet"
- desc = "It's a secure wall-mounted storage unit for first aid supplies."
- icon_state = "medical_wall_locked"
- icon_closed = "medical_wall_unlocked"
- icon_locked = "medical_wall_locked"
- icon_opened = "medical_wall_open"
- icon_broken = "medical_wall_spark"
- icon_off = "medical_wall_off"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
- anchored = 1
- density = 0
- wall_mounted = 1
- req_access = list(access_medical_equip)
-
-/obj/structure/closet/secure_closet/medical_wall/update_icon()
- if(broken)
- icon_state = icon_broken
- else
- if(!opened)
- if(locked)
- icon_state = icon_locked
- else
- icon_state = icon_closed
- else
- icon_state = icon_opened
-
-/obj/structure/closet/secure_closet/medical_wall/pills
- name = "pill cabinet"
-
- starts_with = list(
- /obj/item/storage/pill_bottle/tramadol,
- /obj/item/storage/pill_bottle/antitox,
- /obj/item/storage/pill_bottle/carbon,
- /obj/random/medical/pillbottle)
-
-
-/obj/structure/closet/secure_closet/medical_wall/anesthetics
- name = "anesthetics wall closet"
- desc = "Used to knock people out."
- req_access = list(access_surgery)
-
- starts_with = list(
- /obj/item/tank/anesthetic = 3,
- /obj/item/clothing/mask/breath/medical = 3)
-
-/obj/structure/closet/secure_closet/medical_wall/synth_anesthetics
- name = "robotics anesthetics wall closet"
- desc = "Used to knock people out."
- req_access = list(access_robotics)
-
- starts_with = list(
- /obj/item/tank/anesthetic = 3,
- /obj/item/clothing/mask/breath/medical = 3)
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 2f5814d4f71..52b5688f672 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -19,7 +19,7 @@
/obj/item/gps/science,
/obj/item/clothing/shoes/boots/winter/science)
-/obj/structure/closet/secure_closet/scientist/Initialize()
+/obj/structure/closet/secure_closet/scientist/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/dufflebag/sci
else
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 4cbcd16af6b..689f3253fde 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -131,7 +131,7 @@
/obj/item/flashlight/maglight,
/obj/item/clothing/mask/gas/half)
-/obj/structure/closet/secure_closet/hos/Initialize()
+/obj/structure/closet/secure_closet/hos/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/security
else
@@ -251,7 +251,7 @@
/obj/item/megaphone,
/obj/item/clothing/mask/gas/half)
-/obj/structure/closet/secure_closet/warden/Initialize()
+/obj/structure/closet/secure_closet/warden/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/security
else
@@ -297,7 +297,7 @@
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/flashlight/maglight)
-/obj/structure/closet/secure_closet/security/Initialize()
+/obj/structure/closet/secure_closet/security/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/security
else
@@ -308,22 +308,22 @@
starts_with += /obj/item/contraband/poster/nanotrasen
return ..()
-/obj/structure/closet/secure_closet/security/cargo/Initialize()
+/obj/structure/closet/secure_closet/security/cargo/Initialize(mapload)
starts_with += /obj/item/clothing/accessory/armband/cargo
starts_with += /obj/item/encryptionkey/headset_cargo
return ..()
-/obj/structure/closet/secure_closet/security/engine/Initialize()
+/obj/structure/closet/secure_closet/security/engine/Initialize(mapload)
starts_with += /obj/item/clothing/accessory/armband/engine
starts_with += /obj/item/encryptionkey/headset_eng
return ..()
-/obj/structure/closet/secure_closet/security/science/Initialize()
+/obj/structure/closet/secure_closet/security/science/Initialize(mapload)
starts_with += /obj/item/clothing/accessory/armband/science
starts_with += /obj/item/encryptionkey/headset_sci
return ..()
-/obj/structure/closet/secure_closet/security/med/Initialize()
+/obj/structure/closet/secure_closet/security/med/Initialize(mapload)
starts_with += /obj/item/clothing/accessory/armband/medblue
starts_with += /obj/item/encryptionkey/headset_med
return ..()
@@ -484,7 +484,7 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br
/obj/item/clothing/shoes/boots/jackboots,
/obj/item/clothing/shoes/boots/jackboots/toeless)
-/obj/structure/closet/secure_closet/nanotrasen_security/Initialize()
+/obj/structure/closet/secure_closet/nanotrasen_security/Initialize(mapload)
if(prob(25))
starts_with += /obj/item/storage/backpack/security
else
@@ -538,7 +538,7 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br
/obj/item/clothing/shoes/boots/jackboots/toeless,
/obj/item/clothing/under/nanotrasen/security/commander)
-/obj/structure/closet/secure_closet/nanotrasen_commander/Initialize()
+/obj/structure/closet/secure_closet/nanotrasen_commander/Initialize(mapload)
if(prob(25))
starts_with += /obj/item/storage/backpack/security
else
@@ -584,7 +584,7 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br
/obj/item/clothing/shoes/boots/jackboots,
/obj/item/clothing/shoes/boots/jackboots/toeless)
-/obj/structure/closet/secure_closet/nanotrasen_warden/Initialize()
+/obj/structure/closet/secure_closet/nanotrasen_warden/Initialize(mapload)
if(prob(25))
new /obj/item/storage/backpack/security(src)
else
diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
index 3dc654f06fd..3f6cee11a30 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -48,7 +48,7 @@
/obj/structure/closet/syndicate/resources
desc = "An old, dusty locker."
-/obj/structure/closet/syndicate/resources/Initialize()
+/obj/structure/closet/syndicate/resources/Initialize(mapload)
. = ..()
if(!contents.len)
var/common_min = 30 //Minimum amount of minerals in the stack for common minerals
@@ -103,7 +103,7 @@
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
-/obj/structure/closet/syndicate/resources/everything/Initialize()
+/obj/structure/closet/syndicate/resources/everything/Initialize(mapload)
var/list/resources = list(
/obj/item/stack/material/steel,
/obj/item/stack/material/glass,
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 85c2ac90782..5f8dc9bfa7e 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -19,7 +19,7 @@
icon_closed = "emergency"
icon_opened = "emergencyopen"
-/obj/structure/closet/emcloset/Initialize()
+/obj/structure/closet/emcloset/Initialize(mapload)
switch (pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10)))
if ("small")
starts_with = list(
@@ -107,7 +107,7 @@
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
-/obj/structure/closet/toolcloset/Initialize()
+/obj/structure/closet/toolcloset/Initialize(mapload)
starts_with = list()
if(prob(40))
starts_with += /obj/item/clothing/suit/storage/hazardvest
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm
index e8634fe4a36..152b6fb816a 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm
@@ -1,4 +1,4 @@
-/obj/structure/closet/firecloset/Initialize()
+/obj/structure/closet/firecloset/Initialize(mapload)
starts_with += /obj/item/storage/toolbox/emergency
return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 0a0457ce58e..0d071fccb1e 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -24,7 +24,7 @@
/obj/item/clothing/accessory/armband = 3,
/obj/item/clothing/accessory/holster/waist = 3)
-/obj/structure/closet/wardrobe/red/Initialize()
+/obj/structure/closet/wardrobe/red/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/security
else
@@ -247,7 +247,7 @@
/obj/item/storage/backpack/toxins,
/obj/item/storage/backpack/satchel/tox)
-/obj/structure/closet/wardrobe/science_white/Initialize()
+/obj/structure/closet/wardrobe/science_white/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/dufflebag/sci
else
@@ -274,7 +274,7 @@
/obj/item/storage/backpack/toxins,
/obj/item/storage/backpack/satchel/tox)
-/obj/structure/closet/wardrobe/robotics_black/Initialize()
+/obj/structure/closet/wardrobe/robotics_black/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/dufflebag/sci
else
@@ -441,7 +441,7 @@
/obj/item/clothing/gloves/black,
/obj/item/clothing/under/pants/camo)
-/obj/structure/closet/wardrobe/tactical/Initialize()
+/obj/structure/closet/wardrobe/tactical/Initialize(mapload)
if(prob(25))
starts_with += /obj/item/storage/belt/security/tactical/bandolier
else
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index 79763e2c8dc..c2b8a599b70 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -6,7 +6,7 @@
density = 1
var/list/starts_with
-/obj/structure/largecrate/Initialize()
+/obj/structure/largecrate/Initialize(mapload)
. = ..()
if(starts_with)
create_objects_in_loc(src, starts_with)
@@ -63,7 +63,7 @@
desc = "It comes in a box for the consumer's sake. ..How is this lighter?"
icon_state = "vehiclecrate"
-/obj/structure/largecrate/vehicle/Initialize()
+/obj/structure/largecrate/vehicle/Initialize(mapload)
..()
spawn(1)
for(var/obj/O in contents)
diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm
index b1c669f791a..a445d4c3592 100644
--- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm
@@ -41,7 +41,7 @@
starts_with = list(/mob/living/simple_mob/vore/catgirl)
*/
-/obj/structure/largecrate/animal/pred/Initialize() //This is nessesary to get a random one each time.
+/obj/structure/largecrate/animal/pred/Initialize(mapload) //This is nessesary to get a random one each time.
starts_with = list(pick(/mob/living/simple_mob/vore/bee,
/mob/living/simple_mob/vore/aggressive/frog,
/mob/living/simple_mob/vore/horse,
@@ -61,7 +61,7 @@
name = "Dangerous Predator carrier"
starts_with = list(/mob/living/simple_mob/animal/space/alien)
-/obj/structure/largecrate/animal/dangerous/Initialize()
+/obj/structure/largecrate/animal/dangerous/Initialize(mapload)
starts_with = list(pick(/mob/living/simple_mob/animal/space/carp/large,
/mob/living/simple_mob/vore/aggressive/deathclaw,
/mob/living/simple_mob/vore/aggressive/dino,
@@ -101,7 +101,7 @@
desc = "VARMAcorp experimental hostile environment adaptive breeding development kit. WARNING, DO NOT RELEASE IN WILD!"
starts_with = list(/mob/living/simple_mob/otie/cotie/phoron)
-/obj/structure/largecrate/animal/otie/phoron/Initialize()
+/obj/structure/largecrate/animal/otie/phoron/Initialize(mapload)
starts_with = list(pick(/mob/living/simple_mob/otie/cotie/phoron;2,
/mob/living/simple_mob/otie/red/friendly;0.5))
return ..()
@@ -124,7 +124,7 @@
desc = "Bounces around a lot. Looks messily packaged, were they in a hurry?"
starts_with = list(/mob/living/simple_mob/vore/fennec)
-/obj/structure/largecrate/animal/fennec/Initialize()
+/obj/structure/largecrate/animal/fennec/Initialize(mapload)
starts_with = list(pick(/mob/living/simple_mob/vore/fennec,
/mob/living/simple_mob/vore/fennix;0.5))
return ..()
diff --git a/code/game/objects/structures/crates_lockers/vehiclecage.dm b/code/game/objects/structures/crates_lockers/vehiclecage.dm
index 147a6f44d5f..33e8159d2ef 100644
--- a/code/game/objects/structures/crates_lockers/vehiclecage.dm
+++ b/code/game/objects/structures/crates_lockers/vehiclecage.dm
@@ -13,7 +13,7 @@
if(my_vehicle)
to_chat(user, "It seems to contain \the [my_vehicle].")
-/obj/structure/vehiclecage/Initialize()
+/obj/structure/vehiclecage/Initialize(mapload)
. = ..()
if(my_vehicle_type)
my_vehicle = new my_vehicle_type(src)
diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm
index c4a5fee31d6..e69de29bb2d 100644
--- a/code/game/objects/structures/fence.dm
+++ b/code/game/objects/structures/fence.dm
@@ -1,179 +0,0 @@
-//Chain link fences
-//Sprites ported from /VG/
-
-#define CUT_TIME 10 SECONDS
-#define CLIMB_TIME 5 SECONDS
-
-#define NO_HOLE 0 //section is intact
-#define MEDIUM_HOLE 1 //medium hole in the section - can climb through
-#define LARGE_HOLE 2 //large hole in the section - can walk through
-#define MAX_HOLE_SIZE LARGE_HOLE
-
-/obj/structure/fence
- name = "fence"
- desc = "A chain link fence. Not as effective as a wall, but generally it keeps people out."
- description_info = "Projectiles can freely pass fences."
- density = TRUE
- anchored = TRUE
-
- icon = 'icons/obj/fence.dmi'
- icon_state = "straight"
-
- var/cuttable = TRUE
- var/hole_size= NO_HOLE
- var/invulnerable = FALSE
-
-/obj/structure/fence/Initialize()
- update_cut_status()
- return ..()
-
-/obj/structure/fence/examine(mob/user)
- . = ..()
-
- switch(hole_size)
- if(MEDIUM_HOLE)
- user.show_message("There is a large hole in \the [src].")
- if(LARGE_HOLE)
- user.show_message("\The [src] has been completely cut through.")
-
-/obj/structure/fence/get_description_interaction()
- var/list/results = list()
- if(cuttable && !invulnerable && hole_size < MAX_HOLE_SIZE)
- results += "[desc_panel_image("wirecutters")]to [hole_size > NO_HOLE ? "expand the":"cut a"] hole into the fence, allowing passage."
- return results
-
-/obj/structure/fence/end
- icon_state = "end"
- cuttable = FALSE
-
-/obj/structure/fence/corner
- icon_state = "corner"
- cuttable = FALSE
-
-/obj/structure/fence/post
- icon_state = "post"
- cuttable = FALSE
-
-/obj/structure/fence/cut/medium
- icon_state = "straight_cut2"
- hole_size = MEDIUM_HOLE
-
-/obj/structure/fence/cut/large
- icon_state = "straight_cut3"
- hole_size = LARGE_HOLE
-
-// Projectiles can pass through fences.
-/obj/structure/fence/CanAllowThrough(atom/movable/mover, turf/target)
- if(istype(mover, /obj/item/projectile))
- return TRUE
- return ..()
-
-/obj/structure/fence/attackby(obj/item/W, mob/user)
- if(W.is_wirecutter())
- if(!cuttable)
- to_chat(user, span("warning", "This section of the fence can't be cut."))
- return
- if(invulnerable)
- to_chat(user, span("warning", "This fence is too strong to cut through."))
- return
- var/current_stage = hole_size
- if(current_stage >= MAX_HOLE_SIZE)
- to_chat(user, span("notice", "This fence has too much cut out of it already."))
- return
-
- user.visible_message(span("danger", "\The [user] starts cutting through \the [src] with \the [W]."),\
- span("danger", "You start cutting through \the [src] with \the [W]."))
- playsound(src, W.usesound, 50, 1)
-
- if(do_after(user, CUT_TIME * W.toolspeed, target = src))
- if(current_stage == hole_size)
- switch(++hole_size)
- if(MEDIUM_HOLE)
- visible_message(span("notice", "\The [user] cuts into \the [src] some more."))
- to_chat(user, span("notice", "You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger."))
- climbable = TRUE
- if(LARGE_HOLE)
- visible_message(span("notice", "\The [user] completely cuts through \the [src]."))
- to_chat(user, span("notice", "The hole in \the [src] is now big enough to walk through."))
- climbable = FALSE
- update_cut_status()
- return TRUE
-
-/obj/structure/fence/proc/update_cut_status()
- if(!cuttable)
- return
- density = TRUE
-
- switch(hole_size)
- if(NO_HOLE)
- icon_state = initial(icon_state)
- if(MEDIUM_HOLE)
- icon_state = "straight_cut2"
- if(LARGE_HOLE)
- icon_state = "straight_cut3"
- density = FALSE
-
-//FENCE DOORS
-
-/obj/structure/fence/door
- name = "fence door"
- desc = "Not very useful without a real lock."
- icon_state = "door_closed"
- cuttable = FALSE
- var/open = FALSE
- var/locked = FALSE
-
-/obj/structure/fence/door/Initialize()
- update_door_status()
- return ..()
-
-/obj/structure/fence/door/opened
- icon_state = "door_opened"
- open = TRUE
- density = TRUE
-
-/obj/structure/fence/door/locked
- desc = "It looks like it has a strong padlock attached."
- locked = TRUE
-
-/obj/structure/fence/door/attack_hand(mob/user)
- if(can_open(user))
- toggle(user)
- else
- to_chat(user, span("warning", "\The [src] is [!open ? "locked" : "stuck open"]."))
-
- return TRUE
-
-/obj/structure/fence/door/proc/toggle(mob/user)
- switch(open)
- if(FALSE)
- visible_message(span("notice", "\The [user] opens \the [src]."))
- open = TRUE
- if(TRUE)
- visible_message(span("notice", "\The [user] closes \the [src]."))
- open = FALSE
-
- update_door_status()
- playsound(src, 'sound/machines/click.ogg', 100, 1)
-
-/obj/structure/fence/door/proc/update_door_status()
- switch(open)
- if(FALSE)
- density = TRUE
- icon_state = "door_closed"
- if(TRUE)
- density = FALSE
- icon_state = "door_opened"
-
-/obj/structure/fence/door/proc/can_open(mob/user)
- if(locked)
- return FALSE
- return TRUE
-
-#undef CUT_TIME
-#undef CLIMB_TIME
-
-#undef NO_HOLE
-#undef MEDIUM_HOLE
-#undef LARGE_HOLE
-#undef MAX_HOLE_SIZE
\ No newline at end of file
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index f38fc7cc6a6..0aa67c18b7c 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -13,7 +13,7 @@
var/smashed = 0
var/hasaxe = 1
-/obj/structure/fireaxecabinet/Initialize()
+/obj/structure/fireaxecabinet/Initialize(mapload)
..()
fireaxe = new /obj/item/material/twohanded/fireaxe()
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 7b41e9330e3..9159502566b 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -21,7 +21,7 @@
var/min_harvests = -1
var/list/harvest_loot = null // Should be an associative list for things to spawn, and their weights. An example would be a branch from a tree.
-/obj/structure/flora/Initialize()
+/obj/structure/flora/Initialize(mapload)
..()
if(randomize_size)
@@ -399,7 +399,7 @@
light_color = "#FF6633"
catalogue_data = list(/datum/category_item/catalogue/flora/subterranean_bulbs)
-/obj/structure/flora/sif/subterranean/Initialize()
+/obj/structure/flora/sif/subterranean/Initialize(mapload)
icon_state = "[initial(icon_state)][rand(1,2)]"
. = ..()
@@ -417,7 +417,7 @@
icon_state = "eyeplant"
catalogue_data = list(/datum/category_item/catalogue/flora/eyebulbs)
-/obj/structure/flora/sif/eyes/Initialize()
+/obj/structure/flora/sif/eyes/Initialize(mapload)
icon_state = "[initial(icon_state)][rand(1,3)]"
. = ..()
@@ -435,6 +435,6 @@
randomize_size = TRUE
catalogue_data = list(/datum/category_item/catalogue/flora/mosstendrils)
-/obj/structure/flora/sif/tendrils/Initialize()
+/obj/structure/flora/sif/tendrils/Initialize(mapload)
icon_state = "[initial(icon_state)][rand(1,3)]"
. = ..()
diff --git a/code/game/objects/structures/flora/trees.dm b/code/game/objects/structures/flora/trees.dm
index 507f29da169..9edc000c0e8 100644
--- a/code/game/objects/structures/flora/trees.dm
+++ b/code/game/objects/structures/flora/trees.dm
@@ -15,7 +15,7 @@
var/is_stump = FALSE // If true, suspends damage tracking and most other effects.
var/indestructable = FALSE // If true, the tree cannot die.
-/obj/structure/flora/tree/Initialize()
+/obj/structure/flora/tree/Initialize(mapload)
icon_state = choose_icon_state()
return ..()
@@ -282,7 +282,7 @@
light_shift = rand(0, 5)
return "[base_state][light_shift]"
-/obj/structure/flora/tree/sif/Initialize()
+/obj/structure/flora/tree/sif/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm
index 970b1d2ffff..ba690f71203 100644
--- a/code/game/objects/structures/ghost_pods/ghost_pods.dm
+++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm
@@ -59,7 +59,7 @@
var/delay_to_self_open = 10 MINUTES // How long to wait for first attempt. Note that the timer by default starts when the pod is created.
var/delay_to_try_again = 20 MINUTES // How long to wait if first attempt fails. Set to 0 to never try again.
-/obj/structure/ghost_pod/automatic/Initialize()
+/obj/structure/ghost_pod/automatic/Initialize(mapload)
. = ..()
spawn(delay_to_self_open)
if(src)
diff --git a/code/game/objects/structures/ghost_pods/human.dm b/code/game/objects/structures/ghost_pods/human.dm
index db704bcb98a..3c3b7393958 100644
--- a/code/game/objects/structures/ghost_pods/human.dm
+++ b/code/game/objects/structures/ghost_pods/human.dm
@@ -23,7 +23,7 @@
var/list/clothing_possibilities
-/obj/structure/ghost_pod/ghost_activated/human/Initialize()
+/obj/structure/ghost_pod/ghost_activated/human/Initialize(mapload)
..()
handle_clothing_setup()
@@ -149,7 +149,7 @@
var/list/clothing_possibilities
-/obj/structure/ghost_pod/manual/human/Initialize()
+/obj/structure/ghost_pod/manual/human/Initialize(mapload)
..()
handle_clothing_setup()
diff --git a/code/game/objects/structures/ghost_pods/silicon.dm b/code/game/objects/structures/ghost_pods/silicon.dm
index 32a26ce479d..aa85091ece5 100644
--- a/code/game/objects/structures/ghost_pods/silicon.dm
+++ b/code/game/objects/structures/ghost_pods/silicon.dm
@@ -88,7 +88,7 @@
if(!QDELETED(src))
qdel(src)
-/obj/structure/ghost_pod/ghost_activated/swarm_drone/event/Initialize()
+/obj/structure/ghost_pod/ghost_activated/swarm_drone/event/Initialize(mapload)
..()
var/turf/T = get_turf(src)
diff --git a/code/game/objects/structures/holoplant.dm b/code/game/objects/structures/holoplant.dm
index 16469ec5233..97e4381e7a5 100644
--- a/code/game/objects/structures/holoplant.dm
+++ b/code/game/objects/structures/holoplant.dm
@@ -17,7 +17,7 @@
"plant-13"
)
-/obj/machinery/holoplant/Initialize()
+/obj/machinery/holoplant/Initialize(mapload)
. = ..()
activate()
diff --git a/code/game/objects/structures/kitchen_foodcart.dm b/code/game/objects/structures/kitchen_foodcart.dm
index b4d49599315..e69de29bb2d 100644
--- a/code/game/objects/structures/kitchen_foodcart.dm
+++ b/code/game/objects/structures/kitchen_foodcart.dm
@@ -1,42 +0,0 @@
-/obj/structure/foodcart
- name = "Foodcart"
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "foodcart-0"
- desc = "The ultimate in food transport! When opened you notice two compartments with odd blue glows to them. One feels very warm, while the other is very cold."
- anchored = 0
- opacity = 0
- density = 1
-
-/obj/structure/foodcart/Initialize()
- . = ..()
- for(var/obj/item/I in loc)
- if(istype(I, /obj/item/reagent_containers/food))
- I.loc = src
- update_icon()
-
-/obj/structure/foodcart/attackby(obj/item/O as obj, mob/user as mob)
- if(istype(O, /obj/item/reagent_containers/food))
- user.drop_item()
- O.loc = src
- update_icon()
- else
- return
-
-/obj/structure/foodcart/attack_hand(var/mob/user as mob)
- if(contents.len)
- var/obj/item/reagent_containers/food/choice = input("What would you like to grab from the cart?") as null|obj in contents
- if(choice)
- if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
- return
- if(ishuman(user))
- if(!user.get_active_hand())
- user.put_in_hands(choice)
- else
- choice.loc = get_turf(src)
- update_icon()
-
-/obj/structure/foodcart/update_icon()
- if(contents.len < 5)
- icon_state = "foodcart-[contents.len]"
- else
- icon_state = "foodcart-5"
\ No newline at end of file
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 0c51235d5dd..24ed574ff5c 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -8,7 +8,7 @@
w_class = ITEMSIZE_NORMAL
plane = PLATING_PLANE
-/obj/structure/lattice/Initialize()
+/obj/structure/lattice/Initialize(mapload)
. = ..()
if(!(istype(src.loc, /turf/space) || istype(src.loc, /turf/simulated/open) || istype(src.loc, /turf/simulated/mineral)))
diff --git a/code/game/objects/structures/lightpost.dm b/code/game/objects/structures/lightpost.dm
index b915147c175..e69de29bb2d 100644
--- a/code/game/objects/structures/lightpost.dm
+++ b/code/game/objects/structures/lightpost.dm
@@ -1,42 +0,0 @@
-/obj/structure/lightpost
- name = "lightpost"
- desc = "A homely lightpost."
- icon = 'icons/obj/32x64.dmi'
- icon_state = "lightpost"
- plane = MOB_PLANE
- layer = ABOVE_MOB_LAYER
- anchored = TRUE
- density = TRUE
- opacity = FALSE
-
- var/lit = TRUE // If true, will have a glowing overlay and lighting.
- var/festive = FALSE // If true, adds a festive bow overlay to it.
-
-/obj/structure/lightpost/Initialize()
- update_icon()
- return ..()
-
-/obj/structure/lightpost/update_icon()
- cut_overlays()
-
- if(lit)
- set_light(5, 1, "#E9E4AF")
- var/image/glow = image(icon_state = "[icon_state]-glow")
- glow.plane = PLANE_LIGHTING_ABOVE
- add_overlay(glow)
- else
- set_light(0)
-
- if(festive)
- var/image/bow = image(icon_state = "[icon_state]-festive")
- add_overlay(bow)
-
-/obj/structure/lightpost/unlit
- lit = FALSE
-
-/obj/structure/lightpost/festive
- desc = "A homely lightpost adorned with festive decor."
- festive = TRUE
-
-/obj/structure/lightpost/festive/unlit
- lit = FALSE
\ No newline at end of file
diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm
index becb9b0be47..ee3209dd6dc 100644
--- a/code/game/objects/structures/loot_piles.dm
+++ b/code/game/objects/structures/loot_piles.dm
@@ -115,7 +115,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
var/path = pick(rare_loot)
return new path(src)
-/obj/structure/loot_pile/Initialize()
+/obj/structure/loot_pile/Initialize(mapload)
if(icon_states_to_use && icon_states_to_use.len)
icon_state = pick(icon_states_to_use)
. = ..()
diff --git a/code/game/objects/structures/map_blocker_vr.dm b/code/game/objects/structures/map_blocker_vr.dm
index 52be6c40350..26cbc794f23 100644
--- a/code/game/objects/structures/map_blocker_vr.dm
+++ b/code/game/objects/structures/map_blocker_vr.dm
@@ -9,7 +9,7 @@
density = 1
unacidable = 1
-/obj/effect/blocker/Initialize() // For non-gateway maps.
+/obj/effect/blocker/Initialize(mapload) // For non-gateway maps.
. = ..()
icon = null
icon_state = null
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 9223aa05360..6f67687b250 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -19,7 +19,7 @@
update_icon()
return
-/obj/structure/noticeboard/Initialize()
+/obj/structure/noticeboard/Initialize(mapload)
for(var/obj/item/I in loc)
if(notices > 4) break
if(istype(I, /obj/item/paper))
diff --git a/code/game/objects/structures/props/alien_props.dm b/code/game/objects/structures/props/alien_props.dm
index 38f0b1b8932..4a1809e68d9 100644
--- a/code/game/objects/structures/props/alien_props.dm
+++ b/code/game/objects/structures/props/alien_props.dm
@@ -106,7 +106,7 @@
var/static/list/possible_states = list("health", "spider", "slime", "emp", "species", "egg", "vent", "mindshock", "viral", "gland")
var/static/list/possible_tech = list(TECH_MATERIAL, TECH_ENGINEERING, TECH_PHORON, TECH_POWER, TECH_BIO, TECH_COMBAT, TECH_MAGNET, TECH_DATA)
-/obj/item/prop/alien/junk/Initialize()
+/obj/item/prop/alien/junk/Initialize(mapload)
. = ..()
icon_state = pick(possible_states)
var/list/techs = possible_tech.Copy()
diff --git a/code/game/objects/structures/props/beam_prism.dm b/code/game/objects/structures/props/beam_prism.dm
index f5c4c3d3c00..eed74b4b2e9 100644
--- a/code/game/objects/structures/props/beam_prism.dm
+++ b/code/game/objects/structures/props/beam_prism.dm
@@ -26,7 +26,7 @@
interaction_message = "The prismatic turret seems to be able to rotate."
-/obj/structure/prop/prism/Initialize()
+/obj/structure/prop/prism/Initialize(mapload)
if(degrees_from_north)
animate(src, transform = turn(NORTH, degrees_from_north), time = 3)
@@ -196,7 +196,7 @@
for(var/obj/structure/prop/prism/P in my_turrets)
P.rotate_auto(new_bearing)
-/obj/structure/prop/prismcontrol/Initialize()
+/obj/structure/prop/prismcontrol/Initialize(mapload)
..()
if(my_turrets.len) //Preset controls.
for(var/obj/structure/prop/prism/P in my_turrets)
diff --git a/code/game/objects/structures/props/nest.dm b/code/game/objects/structures/props/nest.dm
index 33e26518688..38c29b617e7 100644
--- a/code/game/objects/structures/props/nest.dm
+++ b/code/game/objects/structures/props/nest.dm
@@ -19,7 +19,7 @@
var/tally = 0 //The counter referenced against total_creature_max, or just to see how many mobs it has spawned.
var/total_creature_max //If set, it can spawn this many creatures, total, ever.
-/obj/structure/prop/nest/Initialize()
+/obj/structure/prop/nest/Initialize(mapload)
..()
den_mobs = list()
START_PROCESSING(SSobj, src)
diff --git a/code/game/objects/structures/props/puzzledoor.dm b/code/game/objects/structures/props/puzzledoor.dm
index 93676aa140c..fafd0a0964e 100644
--- a/code/game/objects/structures/props/puzzledoor.dm
+++ b/code/game/objects/structures/props/puzzledoor.dm
@@ -35,7 +35,7 @@
visible_message("\The [src] is completely unaffected by the blast.")
return
-/obj/machinery/door/blast/puzzle/Initialize()
+/obj/machinery/door/blast/puzzle/Initialize(mapload)
. = ..()
implicit_material = get_material_by_name("dungeonium")
if(locks.len)
diff --git a/code/game/objects/structures/props/swarm.dm b/code/game/objects/structures/props/swarm.dm
index 1c370c76f77..fb0b65ef6fa 100644
--- a/code/game/objects/structures/props/swarm.dm
+++ b/code/game/objects/structures/props/swarm.dm
@@ -22,7 +22,7 @@
return TRUE
return ..()
-/obj/structure/cult/pylon/swarm/Initialize()
+/obj/structure/cult/pylon/swarm/Initialize(mapload)
..()
active_beams = list()
diff --git a/code/game/objects/structures/props/transmitter.dm b/code/game/objects/structures/props/transmitter.dm
index f7e13e9a428..789dca00a7c 100644
--- a/code/game/objects/structures/props/transmitter.dm
+++ b/code/game/objects/structures/props/transmitter.dm
@@ -8,7 +8,7 @@
var/datum/looping_sound/sequence/morse/soundloop
var/message_to_play = "The quick brown fox jumps over the lazy dog."
-/obj/structure/prop/transmitter/Initialize()
+/obj/structure/prop/transmitter/Initialize(mapload)
soundloop = new(list(src), FALSE)
set_new_message(message_to_play)
soundloop.start()
diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm
index 7364f53f9dd..2c66123251d 100644
--- a/code/game/objects/structures/railing.dm
+++ b/code/game/objects/structures/railing.dm
@@ -23,7 +23,7 @@
if(climbable)
verbs += /obj/structure/proc/climb_on
-/obj/structure/railing/Initialize()
+/obj/structure/railing/Initialize(mapload)
. = ..()
if(src.anchored)
update_icon(0)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 82c5b52d5c6..e69de29bb2d 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -1,189 +0,0 @@
-/*
-CONTAINS:
-SAFES
-FLOOR SAFES
-*/
-
-//SAFES
-/obj/structure/safe
- name = "safe"
- desc = "A huge chunk of metal with a dial embedded in it. Fine print on the dial reads \"Scarborough Arms - 2 tumbler safe, guaranteed thermite resistant, explosion resistant, and assistant resistant.\""
- icon = 'icons/obj/structures.dmi'
- icon_state = "safe"
- anchored = 1
- density = 1
- var/open = 0 //is the safe open?
- var/tumbler_1_pos //the tumbler position- from 0 to 72
- var/tumbler_1_open //the tumbler position to open at- 0 to 72
- var/tumbler_2_pos
- var/tumbler_2_open
- var/dial = 0 //where is the dial pointing?
- var/space = 0 //the combined w_class of everything in the safe
- var/maxspace = 24 //the maximum combined w_class of stuff in the safe
-
-
-/obj/structure/safe/New()
- tumbler_1_pos = rand(0, 72)
- tumbler_1_open = rand(0, 72)
-
- tumbler_2_pos = rand(0, 72)
- tumbler_2_open = rand(0, 72)
-
-
-/obj/structure/safe/Initialize()
- . = ..()
- for(var/obj/item/I in loc)
- if(space >= maxspace)
- return
- if(I.w_class + space <= maxspace)
- space += I.w_class
- I.forceMove(src)
-
-/obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear)
- if(user && canhear)
- if(tumbler_1_pos == tumbler_1_open)
- to_chat(user, "You hear a [pick("tonk", "krunk", "plunk")] from \the [src].")
- if(tumbler_2_pos == tumbler_2_open)
- to_chat(user, "You hear a [pick("tink", "krink", "plink")] from \the [src].")
- if(tumbler_1_pos == tumbler_1_open && tumbler_2_pos == tumbler_2_open)
- if(user) visible_message("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!")
- return 1
- return 0
-
-
-/obj/structure/safe/proc/decrement(num)
- num -= 1
- if(num < 0)
- num = 71
- return num
-
-
-/obj/structure/safe/proc/increment(num)
- num += 1
- if(num > 71)
- num = 0
- return num
-
-
-/obj/structure/safe/update_icon()
- if(open)
- icon_state = "[initial(icon_state)]-open"
- else
- icon_state = initial(icon_state)
-
-
-/obj/structure/safe/attack_hand(mob/user as mob)
- user.set_machine(src)
- var/dat = "
"
- dat += "[open ? "Close" : "Open"] [src] | - [dial * 5] +"
- if(open)
- dat += ""
- for(var/i = contents.len, i>=1, i--)
- var/obj/item/P = contents[i]
- dat += "| [P.name] |
"
- dat += "
"
- user << browse("[name][dat]", "window=safe;size=350x300")
-
-
-/obj/structure/safe/Topic(href, href_list)
- if(!ishuman(usr)) return
- var/mob/living/carbon/human/user = usr
-
- var/canhear = 0
- if(user.get_type_in_hands(/obj/item/clothing/accessory/stethoscope))
- canhear = 1
-
- if(href_list["open"])
- if(check_unlocked())
- to_chat(user, "You [open ? "close" : "open"] [src].")
- open = !open
- update_icon()
- updateUsrDialog()
- return
- else
- to_chat(user, "You can't [open ? "close" : "open"] [src], the lock is engaged!")
- return
-
- if(href_list["decrement"])
- dial = decrement(dial)
- if(dial == tumbler_1_pos + 1 || dial == tumbler_1_pos - 71)
- tumbler_1_pos = decrement(tumbler_1_pos)
- if(canhear)
- to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from \the [src].")
- if(tumbler_1_pos == tumbler_2_pos + 37 || tumbler_1_pos == tumbler_2_pos - 35)
- tumbler_2_pos = decrement(tumbler_2_pos)
- if(canhear)
- to_chat(user, "You hear a [pick("click", "chink", "clink")] from \the [src].")
- playsound(user, 'sound/machines/click.ogg', 20, 1)
- check_unlocked(user, canhear)
-
- updateUsrDialog()
- return
-
- if(href_list["increment"])
- dial = increment(dial)
- if(dial == tumbler_1_pos - 1 || dial == tumbler_1_pos + 71)
- tumbler_1_pos = increment(tumbler_1_pos)
- if(canhear)
- to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from \the [src].")
- if(tumbler_1_pos == tumbler_2_pos - 37 || tumbler_1_pos == tumbler_2_pos + 35)
- tumbler_2_pos = increment(tumbler_2_pos)
- if(canhear)
- to_chat(user, "You hear a [pick("click", "chink", "clink")] from \the [src].")
- playsound(user, 'sound/machines/click.ogg', 20, 1)
- check_unlocked(user, canhear)
- updateUsrDialog()
- return
-
- if(href_list["retrieve"])
- user << browse("", "window=safe") // Close the menu
-
- var/obj/item/P = locate(href_list["retrieve"]) in src
- if(open)
- if(P && in_range(src, user))
- user.put_in_hands(P)
- updateUsrDialog()
-
-
-/obj/structure/safe/attackby(obj/item/I as obj, mob/user as mob)
- if(open)
- if(I.w_class + space <= maxspace)
- space += I.w_class
- user.drop_item()
- I.loc = src
- to_chat(user, "You put [I] in \the [src].")
- updateUsrDialog()
- return
- else
- to_chat(user, "[I] won't fit in \the [src].")
- return
- else
- if(istype(I, /obj/item/clothing/accessory/stethoscope))
- to_chat(user, "Hold [I] in one of your hands while you manipulate the dial.")
- return
-
-
-obj/structure/safe/ex_act(severity)
- return
-
-//FLOOR SAFES
-/obj/structure/safe/floor
- name = "floor safe"
- icon_state = "floorsafe"
- density = 0
- level = 1 //underfloor
- plane = TURF_PLANE
- layer = ABOVE_UTILITY
-
-/obj/structure/safe/floor/Initialize()
- . = ..()
- var/turf/T = loc
- if(istype(T) && !T.is_plating())
- hide(1)
- update_icon()
-
-/obj/structure/safe/floor/hide(var/intact)
- invisibility = intact ? 101 : 0
-
-/obj/structure/safe/floor/hides_under_flooring()
- return 1
diff --git a/code/game/objects/structures/stasis_cage.dm b/code/game/objects/structures/stasis_cage.dm
index eec0d6c146b..750f15d0971 100644
--- a/code/game/objects/structures/stasis_cage.dm
+++ b/code/game/objects/structures/stasis_cage.dm
@@ -7,7 +7,7 @@
var/mob/living/simple_mob/contained
-/obj/structure/stasis_cage/Initialize()
+/obj/structure/stasis_cage/Initialize(mapload)
. = ..()
var/mob/living/simple_mob/A = locate() in loc
diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm
index 43abb65c592..9b553d523f5 100644
--- a/code/game/objects/structures/trash_pile.dm
+++ b/code/game/objects/structures/trash_pile.dm
@@ -29,7 +29,7 @@
var/global/list/allocated_gamma = list()
-/obj/structure/trash_pile/Initialize()
+/obj/structure/trash_pile/Initialize(mapload)
. = ..()
icon_state = pick(
"pile1",
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index ecb19bebc3d..dc318441785 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -133,7 +133,7 @@
var/list/temperature_settings = list("normal" = 310, "boiling" = T0C+100, "freezing" = T0C)
var/datum/looping_sound/showering/soundloop
-/obj/machinery/shower/Initialize()
+/obj/machinery/shower/Initialize(mapload)
create_reagents(50)
soundloop = new(list(src), FALSE)
return ..()
diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm
index 966541972ea..1073aa43fd0 100644
--- a/code/game/objects/structures/window_spawner.dm
+++ b/code/game/objects/structures/window_spawner.dm
@@ -23,7 +23,7 @@
/obj/effect/wingrille_spawn/attack_generic()
activate()
-/obj/effect/wingrille_spawn/Initialize()
+/obj/effect/wingrille_spawn/Initialize(mapload)
. = ..()
if(!win_path)
return
diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm
index ddf701cd511..f38ad59274d 100644
--- a/code/game/shuttle_engines.dm
+++ b/code/game/shuttle_engines.dm
@@ -19,7 +19,7 @@
return TRUE
return ..()
-/obj/structure/shuttle/window/Initialize()
+/obj/structure/shuttle/window/Initialize(mapload)
. = ..()
auto_join()
diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm
index f1299a8b2bb..f2dad6d5b3b 100644
--- a/code/game/turfs/flooring/flooring_decals.dm
+++ b/code/game/turfs/flooring/flooring_decals.dm
@@ -14,7 +14,7 @@ var/list/floor_decals = list()
if(newcolour) color = newcolour
..(newloc)
-/obj/effect/floor_decal/Initialize()
+/obj/effect/floor_decal/Initialize(mapload)
. = ..()
return INITIALIZE_HINT_LATELOAD
diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm
index 2d909b37182..aae22793cd1 100644
--- a/code/game/turfs/flooring/flooring_premade.dm
+++ b/code/game/turfs/flooring/flooring_premade.dm
@@ -71,7 +71,7 @@
/turf/simulated/floor/wood/broken
icon_state = "wood_broken0" // This gets changed when spawned.
-/turf/simulated/floor/wood/broken/Initialize()
+/turf/simulated/floor/wood/broken/Initialize(mapload)
break_tile()
return ..()
@@ -84,7 +84,7 @@
/turf/simulated/floor/wood/sif/broken
icon_state = "sifwood_broken0" // This gets changed when spawned.
-/turf/simulated/floor/wood/sif/broken/Initialize()
+/turf/simulated/floor/wood/sif/broken/Initialize(mapload)
break_tile()
return ..()
diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm
index 7cc795600ef..75d3e58ef18 100644
--- a/code/game/turfs/simulated/floor_types.dm
+++ b/code/game/turfs/simulated/floor_types.dm
@@ -216,7 +216,7 @@
light_color = "#66ffff" // Bright cyan.
block_tele = TRUE
-/turf/simulated/shuttle/floor/alien/Initialize()
+/turf/simulated/shuttle/floor/alien/Initialize(mapload)
. = ..()
icon_state = "alienpod[rand(1, 9)]"
@@ -243,7 +243,7 @@
takes_underlays = 1
blocks_air = 1 // I'd make these unsimulated but it just fucks with so much stuff so many other places.
-/turf/simulated/shuttle/plating/carry/Initialize()
+/turf/simulated/shuttle/plating/carry/Initialize(mapload)
. = ..()
icon_state = "carry_ingame"
@@ -254,7 +254,7 @@
takes_underlays = 1
blocks_air = 1
-/turf/simulated/shuttle/plating/airless/carry/Initialize()
+/turf/simulated/shuttle/plating/airless/carry/Initialize(mapload)
. = ..()
icon_state = "carry_ingame"
diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm
index d85fb3c1e6a..23a7f7af029 100644
--- a/code/game/turfs/simulated/lava.dm
+++ b/code/game/turfs/simulated/lava.dm
@@ -17,7 +17,7 @@
outdoors = TRUE
// For maximum pedantry.
-/turf/simulated/floor/outdoors/lava/Initialize()
+/turf/simulated/floor/outdoors/lava/Initialize(mapload)
if(!outdoors)
name = "magma"
update_icon()
diff --git a/code/game/turfs/simulated/outdoors/grass.dm b/code/game/turfs/simulated/outdoors/grass.dm
index 873c9d601a0..79650efd989 100644
--- a/code/game/turfs/simulated/outdoors/grass.dm
+++ b/code/game/turfs/simulated/outdoors/grass.dm
@@ -41,12 +41,12 @@ var/list/grass_types = list(
catalogue_data = list(/datum/category_item/catalogue/flora/sif_grass)
catalogue_delay = 2 SECONDS
-/turf/simulated/floor/outdoors/grass/sif/Initialize()
+/turf/simulated/floor/outdoors/grass/sif/Initialize(mapload)
if(tree_chance && prob(tree_chance) && !check_density())
new /obj/structure/flora/tree/sif(src)
. = ..()
-/turf/simulated/floor/outdoors/grass/Initialize()
+/turf/simulated/floor/outdoors/grass/Initialize(mapload)
if(prob(50))
icon_state = "[initial(icon_state)]2"
//edge_blending_priority++
diff --git a/code/game/turfs/simulated/outdoors/outdoors.dm b/code/game/turfs/simulated/outdoors/outdoors.dm
index 449d5cbec20..95eea722de1 100644
--- a/code/game/turfs/simulated/outdoors/outdoors.dm
+++ b/code/game/turfs/simulated/outdoors/outdoors.dm
@@ -20,7 +20,7 @@ var/list/turf_edge_cache = list()
// When a turf gets demoted or promoted, this list gets adjusted. The top-most layer is the layer on the bottom of the list, due to how pop() works.
var/list/turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-/turf/simulated/floor/outdoors/Initialize()
+/turf/simulated/floor/outdoors/Initialize(mapload)
update_icon()
. = ..()
diff --git a/code/game/turfs/simulated/outdoors/sky.dm b/code/game/turfs/simulated/outdoors/sky.dm
index 9cb0c037c78..b4b7f207b20 100644
--- a/code/game/turfs/simulated/outdoors/sky.dm
+++ b/code/game/turfs/simulated/outdoors/sky.dm
@@ -9,7 +9,7 @@
// Assume there's a vacuum for the purposes of avoiding active edges at initialization, as well as ZAS fun if a window breaks.
initial_gas_mix = GAS_STRING_VACUUM
-/turf/simulated/sky/Initialize()
+/turf/simulated/sky/Initialize(mapload)
. = ..()
SSplanets.addTurf(src)
set_light(2, 2, "#FFFFFF")
diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm
index c0a3459761e..f222f89169a 100644
--- a/code/game/turfs/simulated/wall_types.dm
+++ b/code/game/turfs/simulated/wall_types.dm
@@ -157,7 +157,7 @@
//To allow mappers to rename shuttle walls to like "redfloor interior" or whatever for ease of use.
name = true_name
-/turf/simulated/shuttle/wall/Initialize()
+/turf/simulated/shuttle/wall/Initialize(mapload)
. = ..()
if(join_group)
@@ -238,7 +238,7 @@
/turf/simulated/shuttle/wall/voidcraft/green
stripe_color = "#00FF00"
-/turf/simulated/shuttle/wall/voidcraft/Initialize()
+/turf/simulated/shuttle/wall/voidcraft/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm
index 6cee338c4e9..0a6a3d2ce59 100644
--- a/code/game/turfs/simulated/water.dm
+++ b/code/game/turfs/simulated/water.dm
@@ -13,7 +13,7 @@
initial_flooring = /decl/flooring/outdoors/water
var/depth = 1 // Higher numbers indicates deeper water.
-/turf/simulated/floor/outdoors/water/Initialize()
+/turf/simulated/floor/outdoors/water/Initialize(mapload)
. = ..()
update_icon()
handle_fish()
@@ -178,7 +178,7 @@ var/list/shoreline_icon_cache = list()
depth = 4
layer = WATER_FLOOR_LAYER
-/turf/simulated/floor/outdoors/water/acid/Initialize()
+/turf/simulated/floor/outdoors/water/acid/Initialize(mapload)
. = ..()
update_icon()
@@ -299,7 +299,7 @@ var/list/shoreline_icon_cache = list()
layer = WATER_FLOOR_LAYER
depth = 6
-/turf/simulated/floor/outdoors/water/blood/Initialize()
+/turf/simulated/floor/outdoors/water/blood/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm
index 767e2ee7b76..87f87933e01 100644
--- a/code/game/turfs/space/transit.dm
+++ b/code/game/turfs/space/transit.dm
@@ -13,7 +13,7 @@
icon_state = "arrow-north"
pushdirection = SOUTH // South because the space tile is scrolling south
-/turf/space/transit/north/Initialize()
+/turf/space/transit/north/Initialize(mapload)
. = ..()
var/x_shift = SSskybox.phase_shift_by_x[src.x % (SSskybox.phase_shift_by_x.len - 1) + 1]
@@ -26,7 +26,7 @@
icon_state = "arrow-south"
pushdirection = SOUTH // South because the space tile is scrolling south
-/turf/space/transit/south/Initialize()
+/turf/space/transit/south/Initialize(mapload)
. = ..()
var/x_shift = SSskybox.phase_shift_by_x[src.x % (SSskybox.phase_shift_by_x.len - 1) + 1]
@@ -40,7 +40,7 @@
/turf/space/transit/east // Moving to the east
icon_state = "arrow-east"
pushdirection = WEST
-/turf/space/transit/east/Initialize()
+/turf/space/transit/east/Initialize(mapload)
. = ..()
var/y_shift = SSskybox.phase_shift_by_y[src.y % (SSskybox.phase_shift_by_y.len - 1) + 1]
@@ -53,7 +53,7 @@
icon_state = "arrow-west"
pushdirection = WEST
-/turf/space/transit/west/Initialize()
+/turf/space/transit/west/Initialize(mapload)
. = ..()
var/y_shift = SSskybox.phase_shift_by_y[src.y % (SSskybox.phase_shift_by_y.len - 1) + 1]
diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm
index 0e21401397e..e69de29bb2d 100644
--- a/code/game/turfs/unsimulated/beach.dm
+++ b/code/game/turfs/unsimulated/beach.dm
@@ -1,94 +0,0 @@
-/turf/unsimulated/beach
- name = "Beach"
- icon = 'icons/misc/beach.dmi'
-
-/turf/unsimulated/beach/sand
- name = "Sand"
- icon_state = "sand"
-
-/turf/unsimulated/beach/coastline
- name = "Coastline"
- icon = 'icons/misc/beach2.dmi'
- icon_state = "sandwater"
-
-/turf/unsimulated/beach/water
- name = "Water"
- icon_state = "water"
-
-/turf/unsimulated/beach/water/Initialize()
- . = ..()
- add_overlay(/obj/effect/turf_overlay/beach_water, TRUE)
-
-/obj/effect/turf_overlay/beach_water
- icon = 'icons/misc/beach.dmi'
- icon_state = "water2"
- layer = ABOVE_MOB_LAYER
-
-/turf/simulated/floor/outdoors/beach
- name = "Beach"
- icon = 'icons/misc/beach.dmi'
- footstep_sounds = list("human" = list(
- 'sound/effects/footstep/carpet1.ogg',
- 'sound/effects/footstep/carpet2.ogg',
- 'sound/effects/footstep/carpet3.ogg',
- 'sound/effects/footstep/carpet4.ogg',
- 'sound/effects/footstep/carpet5.ogg'))
-
-/turf/simulated/floor/outdoors/beach/sand
- name = "Sand"
- icon_state = "sand"
-
-/turf/simulated/floor/outdoors/beach/sand/desert
- name = "Dunes"
- desc = "It seems to go on and on.."
- icon = 'icons/turf/desert.dmi'
- icon_state = "desert"
-
-/turf/simulated/floor/outdoors/beach/sand/desert/Initialize()
- . = ..()
- if(prob(5))
- icon_state = "desert[rand(0,4)]"
-
-/turf/simulated/floor/outdoors/beach/sand/lowdesert
- name = "\improper low desert"
- icon = 'icons/turf/desert.dmi'
- icon_state = "lowdesert"
-
-/turf/simulated/floor/outdoors/beach/outdoors/sand/lowdesert/Initialize()
- . = ..()
- if(prob(5))
- icon_state = "lowdesert[rand(0,4)]"
-
-/turf/simulated/floor/beach/sand/dirt
- name = "worn out path"
- desc = "A compacted bit of sand with footprints all over it..."
- icon_state = "dirt-dark"
- icon = 'icons/turf/outdoors.dmi'
-
-/turf/simulated/floor/outdoors/beach/sand/dirtlight
- name = "sun bleached path"
- desc = "A cracked path of compacted sand, worn by heavy traffic and bleached by constant sunlight."
- icon_state = "dirt-light"
- icon = 'icons/turf/outdoors.dmi'
-
-/turf/simulated/floor/outdoors/beach/coastline
- name = "Coastline"
- icon = 'icons/misc/beach2.dmi'
- icon_state = "sandwater"
-
-/turf/simulated/floor/outdoors/beach/water
- name = "Water"
- icon_state = "water"
- initial_flooring = /decl/flooring/outdoors/water
-
-/turf/simulated/floor/outdoors/beach/water/ocean
- icon_state = "seadeep"
-
-/turf/simulated/floor/outdoors/beach/water/Initialize()
- . = ..()
- add_overlay(/obj/effect/turf_overlay/beach_ocean, TRUE)
-
-/obj/effect/turf_overlay/beach_ocean
- icon = 'icons/misc/beach.dmi'
- icon_state = "water5"
- layer = ABOVE_MOB_LAYER
\ No newline at end of file
diff --git a/code/game/turfs/unsimulated/sky_vr.dm b/code/game/turfs/unsimulated/sky_vr.dm
index 60dd3a79299..e69de29bb2d 100644
--- a/code/game/turfs/unsimulated/sky_vr.dm
+++ b/code/game/turfs/unsimulated/sky_vr.dm
@@ -1,82 +0,0 @@
-///////////////////
-// Generic skyfall turf
-// Really only works well if the map doesn't have 'indoor' areas otherwise they can fall into one.
-// TODO: Fix that.
-/turf/unsimulated/floor/sky
- name = "the sky"
- desc = "It's the sky! Be careful!"
- icon = 'icons/turf/floors.dmi'
- icon_state = "sky_slow"
- dir = SOUTH
- var/does_skyfall = TRUE
- var/list/skyfall_levels
-
-/turf/unsimulated/floor/sky/Initialize()
- . = ..()
- if(does_skyfall && !LAZYLEN(skyfall_levels))
- log_world("[x],[y],[z], [get_area(src)] doesn't have skyfall_levels defined! Can't skyfall!")
- if(locate(/turf/simulated) in orange(src,1))
- set_light(2, 2, color)
-
-/turf/unsimulated/floor/sky/Entered(atom/movable/AM,atom/oldloc)
- ..()
- if(!does_skyfall)
- return //We don't do that
- if(isobserver(AM))
- return //Don't ghostport, very annoying
- if(AM.throwing)
- return //Being thrown over, not fallen yet
- if(!(AM.can_fall()))
- return // Phased shifted kin should not fall
- if(istype(AM, /obj/item/projectile))
- return // pewpew should not fall out of the sky. pew.
- if(istype(AM, /obj/effect/projectile))
- return // ...neither should the effects be falling
-
- var/mob/living/L
- if(isliving(AM))
- L = AM
- if(L.is_floating)
- return //Flyers/nograv can ignore it
-
- do_fall(AM)
-
-/turf/unsimulated/floor/sky/hitby(var/atom/movable/AM, var/speed)
- . = ..()
-
- if(!does_skyfall)
- return //We don't do that
-
- do_fall(AM)
-
-/turf/unsimulated/floor/sky/proc/do_fall(atom/movable/AM)
- //Bye
- var/attempts = 100
- var/turf/simulated/T
- while(attempts && !T)
- var/turf/simulated/candidate = locate(rand(5,world.maxx-5),rand(5,world.maxy-5),pick(skyfall_levels))
- if(candidate.density)
- attempts--
- continue
-
- T = candidate
- break
-
- if(!T)
- return
-
- AM.forceMove(T)
- if(isliving(AM))
- var/mob/living/L = AM
- message_admins("\The [AM] fell out of the sky.")
- L.fall_impact(T, 42, 90, FALSE, TRUE) //You will not be defibbed from this.
-
-/turf/unsimulated/floor/sky/virgo2_sky
- name = "virgo 2 atmosphere"
- desc = "Be careful where you step!"
- color = "#eacd7c"
- VIRGO2_SET_ATMOS
-
-/turf/unsimulated/floor/sky/virgo2_sky/Initialize()
- skyfall_levels = list(z+1)
- . = ..()
\ No newline at end of file
diff --git a/code/modules/ai/ai_holder.dm b/code/modules/ai/ai_holder.dm
index af24006d649..e69de29bb2d 100644
--- a/code/modules/ai/ai_holder.dm
+++ b/code/modules/ai/ai_holder.dm
@@ -1,291 +0,0 @@
-// This is a datum-based artificial intelligence for simple mobs (and possibly others) to use.
-// The neat thing with having this here instead of on the mob is that it is independant of Life(), and that different mobs
-// can use a more or less complex AI by giving it a different datum.
-
-/mob/living
- var/datum/ai_holder/ai_holder = null
- var/ai_holder_type = null // Which ai_holder datum to give to the mob when initialized. If null, nothing happens.
-
-/mob/living/Initialize()
- if(ai_holder_type)
- ai_holder = new ai_holder_type(src)
- return ..()
-
-/mob/living/Destroy()
- QDEL_NULL(ai_holder)
- return ..()
-
-/datum/ai_holder
- var/mob/living/holder = null // The mob this datum is going to control.
- var/stance = STANCE_IDLE // Determines if the mob should be doing a specific thing, e.g. attacking, following, standing around, etc.
- var/intelligence_level = AI_NORMAL // Adjust to make the AI be intentionally dumber, or make it more robust (e.g. dodging grenades).
- var/autopilot = FALSE // If true, the AI won't be deactivated if a client gets attached to the AI's mob.
- var/busy = FALSE // If true, the SSticker will skip processing this mob until this is false. Good for if you need the
- // mob to stay still (e.g. delayed attacking). If you need the mob to be inactive for an extended period of time,
- // consider sleeping the AI instead.
-
-
-
-/datum/ai_holder/hostile
- hostile = TRUE
-
-/datum/ai_holder/retaliate
- hostile = TRUE
- retaliate = TRUE
-
-/datum/ai_holder/New(var/new_holder)
- ASSERT(new_holder)
- holder = new_holder
- SSai.processing += src
- home_turf = get_turf(holder)
- ..()
-
-/datum/ai_holder/Destroy()
- holder = null
- SSai.processing -= src // We might've already been asleep and removed, but byond won't care if we do this again and it saves a conditional.
- home_turf = null
- return ..()
-
-
-// Now for the actual AI stuff.
-
-// Makes this ai holder not get processed.
-// Called automatically when the host mob is killed.
-// Potential future optimization would be to sleep AIs which mobs that are far away from in-round players.
-/datum/ai_holder/proc/go_sleep()
- if(stance == STANCE_SLEEP)
- return
- forget_everything() // If we ever wake up, its really unlikely that our current memory will be of use.
- set_stance(STANCE_SLEEP)
- SSai.processing -= src
-
-// Reverses the above proc.
-// Revived mobs will wake their AI if they have one.
-/datum/ai_holder/proc/go_wake()
-/* if(stance != STANCE_SLEEP)
- return
- if(!should_wake())
- return
-*/
- set_stance(STANCE_IDLE)
- SSai.processing += src
-
-/datum/ai_holder/proc/should_wake()
- if(holder.client && !autopilot)
- return FALSE
- if(holder.stat >= DEAD)
- return FALSE
- return TRUE
-
-// Resets a lot of 'memory' vars.
-/datum/ai_holder/proc/forget_everything()
- // Some of these might be redundant, but hopefully this prevents future bugs if that changes.
- lose_follow()
- lose_target()
- lose_target_position()
- give_up_movement()
-
-// 'Tactical' processes such as moving a step, meleeing an enemy, firing a projectile, and other fairly cheap actions that need to happen quickly.
-/datum/ai_holder/proc/handle_tactics()
- if(busy)
- return
- handle_special_tactic()
- handle_stance_tactical()
-
-// 'Strategical' processes that are more expensive on the CPU and so don't get run as often as the above proc, such as A* pathfinding or robust targeting.
-/datum/ai_holder/proc/handle_strategicals()
- if(busy)
- return
- handle_special_strategical()
- handle_stance_strategical()
-
-// Override these for special things without polluting the main loop.
-/datum/ai_holder/proc/handle_special_tactic()
-
-/datum/ai_holder/proc/handle_special_strategical()
-
-/*
- //AI Actions
- if(!ai_inactive)
- //Stanceyness
- handle_stance()
-
- //Movement
- if(!stop_automated_movement && wander && !anchored) //Allowed to move?
- handle_wander_movement()
-
- //Speaking
- if(speak_chance && stance == STANCE_IDLE) // Allowed to chatter?
- handle_idle_speaking()
-
- //Resisting out buckles
- if(stance != STANCE_IDLE && incapacitated(INCAPACITATION_BUCKLED_PARTIALLY))
- handle_resist()
-
- //Resisting out of closets
- if(istype(loc,/obj/structure/closet))
- var/obj/structure/closet/C = loc
- if(C.welded)
- resist()
- else
- C.open()
-*/
-
-// For setting the stance WITHOUT processing it
-/datum/ai_holder/proc/set_stance(var/new_stance)
- ai_log("set_stance() : Setting stance from [stance] to [new_stance].", AI_LOG_INFO)
- stance = new_stance
- if(stance_coloring) // For debugging or really weird mobs.
- stance_color()
-
-// This is called every half a second.
-/datum/ai_holder/proc/handle_stance_tactical()
- ai_log("========= Fast Process Beginning ==========", AI_LOG_TRACE) // This is to make it easier visually to disinguish between 'blocks' of what a tick did.
- ai_log("handle_stance_tactical() : Called.", AI_LOG_TRACE)
-
- if(stance == STANCE_SLEEP)
- ai_log("handle_stance_tactical() : Going to sleep.", AI_LOG_TRACE)
- go_sleep()
- return
-
- if(target && can_see_target(target))
- track_target_position()
-
- if(stance != STANCE_DISABLED && is_disabled()) // Stunned/confused/etc
- ai_log("handle_stance_tactical() : Disabled.", AI_LOG_TRACE)
- set_stance(STANCE_DISABLED)
- return
-
- if(stance in STANCES_COMBAT)
- // Should resist? We check this before fleeing so that we can actually flee and not be trapped in a chair.
- if(holder.incapacitated(INCAPACITATION_BUCKLED_PARTIALLY))
- ai_log("handle_stance_tactical() : Going to handle_resist().", AI_LOG_TRACE)
- handle_resist()
-
- else if(istype(holder.loc, /obj/structure/closet))
- var/obj/structure/closet/C = holder.loc
- ai_log("handle_stance_tactical() : Inside a closet. Going to attempt escape.", AI_LOG_TRACE)
- if(C.sealed)
- holder.resist()
- else
- C.open()
-
- // Should we flee?
- if(should_flee())
- ai_log("handle_stance_tactical() : Going to flee.", AI_LOG_TRACE)
- set_stance(STANCE_FLEE)
- return
-
- switch(stance)
- if(STANCE_IDLE)
- if(should_go_home())
- ai_log("handle_stance_tactical() : STANCE_IDLE, going to go home.", AI_LOG_TRACE)
- go_home()
-
- else if(should_follow_leader())
- ai_log("handle_stance_tactical() : STANCE_IDLE, going to follow leader.", AI_LOG_TRACE)
- set_stance(STANCE_FOLLOW)
-
- else if(should_wander())
- ai_log("handle_stance_tactical() : STANCE_IDLE, going to wander randomly.", AI_LOG_TRACE)
- handle_wander_movement()
-
- if(STANCE_ALERT)
- ai_log("handle_stance_tactical() : STANCE_ALERT, going to threaten_target().", AI_LOG_TRACE)
- threaten_target()
-
- if(STANCE_APPROACH)
- ai_log("handle_stance_tactical() : STANCE_APPROACH, going to walk_to_target().", AI_LOG_TRACE)
- walk_to_target()
-
- if(STANCE_FIGHT)
- ai_log("handle_stance_tactical() : STANCE_FIGHT, going to engage_target().", AI_LOG_TRACE)
- engage_target()
-
- if(STANCE_MOVE)
- ai_log("handle_stance_tactical() : STANCE_MOVE, going to walk_to_destination().", AI_LOG_TRACE)
- walk_to_destination()
-
- if(STANCE_REPOSITION) // This is the same as above but doesn't stop if an enemy is visible since its an 'in-combat' move order.
- ai_log("handle_stance_tactical() : STANCE_REPOSITION, going to walk_to_destination().", AI_LOG_TRACE)
- walk_to_destination()
-
- if(STANCE_FOLLOW)
- ai_log("handle_stance_tactical() : STANCE_FOLLOW, going to walk_to_leader().", AI_LOG_TRACE)
- walk_to_leader()
-
- if(STANCE_FLEE)
- ai_log("handle_stance_tactical() : STANCE_FLEE, going to flee_from_target().", AI_LOG_TRACE)
- flee_from_target()
-
- if(STANCE_DISABLED)
- ai_log("handle_stance_tactical() : STANCE_DISABLED.", AI_LOG_TRACE)
- if(!is_disabled())
- ai_log("handle_stance_tactical() : No longer disabled.", AI_LOG_TRACE)
- set_stance(STANCE_IDLE)
- else
- handle_disabled()
-
- ai_log("handle_stance_tactical() : Exiting.", AI_LOG_TRACE)
- ai_log("========= Fast Process Ending ==========", AI_LOG_TRACE)
-
-// This is called every two seconds.
-/datum/ai_holder/proc/handle_stance_strategical()
- ai_log("++++++++++ Slow Process Beginning ++++++++++", AI_LOG_TRACE)
- ai_log("handle_stance_strategical() : Called.", AI_LOG_TRACE)
-
- switch(stance)
- if(STANCE_IDLE)
-
- if(speak_chance) // In the long loop since otherwise it wont shut up.
- handle_idle_speaking()
-
- if(hostile)
- ai_log("handle_stance_strategical() : STANCE_IDLE, going to find_target().", AI_LOG_TRACE)
- find_target()
- if(STANCE_APPROACH)
- if(target)
- ai_log("handle_stance_strategical() : STANCE_APPROACH, going to calculate_path([target]).", AI_LOG_TRACE)
- calculate_path(target)
- if(STANCE_MOVE)
- if(hostile && find_target()) // This will switch its stance.
- ai_log("handle_stance_strategical() : STANCE_MOVE, found target and was inturrupted.", AI_LOG_TRACE)
- if(STANCE_FOLLOW)
- if(hostile && find_target()) // This will switch its stance.
- ai_log("handle_stance_strategical() : STANCE_FOLLOW, found target and was inturrupted.", AI_LOG_TRACE)
- else if(leader)
- ai_log("handle_stance_strategical() : STANCE_FOLLOW, going to calculate_path([leader]).", AI_LOG_TRACE)
- calculate_path(leader)
-
- ai_log("handle_stance_strategical() : Exiting.", AI_LOG_TRACE)
- ai_log("++++++++++ Slow Process Ending ++++++++++", AI_LOG_TRACE)
-
-
-// Helper proc to turn AI 'busy' mode on or off without having to check if there is an AI, to simplify writing code.
-/mob/living/proc/set_AI_busy(value)
- if(ai_holder)
- ai_holder.busy = value
-
-/mob/living/proc/is_AI_busy()
- if(!ai_holder)
- return FALSE
- return ai_holder.busy
-
-// Helper proc to check for the AI's stance.
-// Returns null if there's no AI holder, or the mob has a player and autopilot is not on.
-// Otherwise returns the stance.
-/mob/living/proc/get_AI_stance()
- if(!ai_holder)
- return null
- if(client && !ai_holder.autopilot)
- return null
- return ai_holder.stance
-
-// Similar to above but only returns 1 or 0.
-/mob/living/proc/has_AI()
- return get_AI_stance() ? TRUE : FALSE
-
-// 'Taunts' the AI into attacking the taunter.
-/mob/living/proc/taunt(atom/movable/taunter, force_target_switch = FALSE)
- if(ai_holder)
- ai_holder.receive_taunt(taunter, force_target_switch)
\ No newline at end of file
diff --git a/code/modules/ai/say_list.dm b/code/modules/ai/say_list.dm
index 0046233ee18..e69de29bb2d 100644
--- a/code/modules/ai/say_list.dm
+++ b/code/modules/ai/say_list.dm
@@ -1,172 +0,0 @@
-// A simple datum that just holds many lists of lines for mobs to pick from.
-// This is its own datum in order to be able to have different types of mobs be able to use the same lines if desired,
-// even when inheritence wouldn't be able to do so.
-
-// Also note this also contains emotes, despite its name.
-// and now sounds because its probably better that way.
-
-/mob/living
- var/datum/say_list/say_list = null
- var/say_list_type = /datum/say_list // Type to give us on initialization. Default has empty lists, so the mob will be silent.
-
-/mob/living/Initialize()
- if(say_list_type)
- say_list = new say_list_type(src)
- return ..()
-
-/mob/living/Destroy()
- QDEL_NULL(say_list)
- return ..()
-
-
-/datum/say_list
- var/list/speak = list() // Things the mob might say if it talks while idle.
- var/list/emote_hear = list() // Hearable emotes it might perform
- var/list/emote_see = list() // Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps
-
- var/list/say_understood = list() // When accepting an order.
- var/list/say_cannot = list() // When they cannot comply.
- var/list/say_maybe_target = list() // When they briefly see something.
- var/list/say_got_target = list() // When a target is first assigned.
- var/list/say_threaten = list() // When threatening someone.
- var/list/say_stand_down = list() // When the threatened thing goes away.
- var/list/say_escalate = list() // When the threatened thing doesn't go away.
-
- var/threaten_sound = null // Sound file played when the mob's AI calls threaten_target() for the first time.
- var/stand_down_sound = null // Sound file played when the mob's AI loses sight of the threatened target.
-
-
-
-
-
-
-
-// Subtypes.
-
-// This one's pretty dumb, but pirates are dumb anyways and it makes for a good test.
-/datum/say_list/pirate
- speak = list("Yarr!",
- "Yohoho and a bottle of rum...",
- "Getting tired of hardtack.",
- "What do you do with a drunken sailor...",
- "One day, we'll get that big score.",
- "They ain't catching this pirate, no siree.")
- say_understood = list("Alright, matey.")
- say_cannot = list("No, matey.")
- say_maybe_target = list("Eh?", "Who goes there?")
- say_got_target = list("Yarrrr!", "Just drop your loot and run.")
- say_threaten = list("You best leave, this booty is mine.", "No plank to walk on, just walk away.")
- say_stand_down = list("Good.", "That's right, run, you lilly livers.")
- say_escalate = list("Yarr! That booty is mine!", "Going to gut you, landlubber.")
- threaten_sound = 'sound/weapons/TargetOn.ogg'
- stand_down_sound = 'sound/weapons/TargetOff.ogg'
-
-// Mercs!
-/datum/say_list/merc
- speak = list("When are we gonna get out of this chicken-shit outfit?",
- "Wish I had better equipment...",
- "I knew I should have been a line chef...",
- "Fuckin' helmet keeps fogging up.",
- "Anyone else smell that?")
- emote_see = list("sniffs", "coughs", "taps his foot", "looks around", "checks his equipment")
-
- say_understood = list("Understood!", "Affirmative!")
- say_cannot = list("Negative!")
- say_maybe_target = list("Who's there?")
- say_got_target = list("Engaging!")
- say_threaten = list("Get out of here!", "Hey! Private Property!")
- say_stand_down = list("Good.")
- say_escalate = list("Your funeral!", "Bring it!")
- threaten_sound = 'sound/weapons/TargetOn.ogg'
- stand_down_sound = 'sound/weapons/TargetOff.ogg'
-
-/datum/say_list/merc/elite // colder. also, actually just assholes.
- speak = list("I got better pay on my last job.",
- "So, y'think we'll get to shoot anyone today?",
- "Fuck, I hate those guys.",
- "Would be nice for something to happen, for once.",
- "Think those NT shits'll rear their heads?",
- "Any of you see anything recently?")
- emote_see = list("taps his foot", "looks around coldly", "checks his equipment", "rummages in his webbing")
- say_understood = list("Aff.", "Affirmative.", "Copy.", "Understood.")
- say_cannot = list("Neg.", "Negative.")
- say_maybe_target = list("I heard something.")
- say_got_target = list("Oh, good, I needed more range fodder.", "I'm going to enjoy this.", "I see you.", "Not quiet enough.")
- say_threaten = list("Hoy, private property, fuck off.", "You're acting mighty bold for a bullet sponge.", "First and last warning; find somewhere else to be.", "I wouldn't do that if I were you.", "Back off or your field medic's getting a bonus.")
- say_stand_down = list("Damn it, I was hoping you'd push your luck.", "What, that's it? Pussy.", "And don't come back.", "Good call. Don't do it again.", "Harrumph.", "That'll teach 'ya.")
- say_escalate = list("Oh, I'm gonna enjoy this.", "I'm going to enjoy making you regret that.", "Last mistake you'll make.")
-
-/datum/say_list/malf_drone
- speak = list("ALERT.","Hostile-ile-ile entities dee-twhoooo-wected.","Threat parameterszzzz- szzet.","Bring sub-sub-sub-systems uuuup to combat alert alpha-a-a.")
- emote_see = list("beeps menacingly","whirrs threateningly","scans its immediate vicinity")
-
- say_understood = list("Affirmative.", "Positive.")
- say_cannot = list("Denied.", "Negative.")
- say_maybe_target = list("Possible threat detected. Investigating.", "Motion detected.", "Investigating.")
- say_got_target = list("Threat detected.", "New task: Remove threat.", "Threat removal engaged.", "Engaging target.")
- say_threaten = list("Motion detected, judging target...")
- say_stand_down = list("Visual lost.", "Error: Target not found.")
- say_escalate = list("Viable target found. Removing.", "Engaging target.", "Target judgement complete. Removal required.")
-
- threaten_sound = 'sound/effects/turret/move1.wav'
- stand_down_sound = 'sound/effects/turret/move2.wav'
-
-
-/datum/say_list/crab
- emote_hear = list("clicks")
- emote_see = list("clacks")
-
-/datum/say_list/spider
- emote_hear = list("chitters")
-
-/datum/say_list/hivebot
- speak = list(
- "Resuming task: Protect area.",
- "No threats found.",
- "Error: No targets found."
- )
- emote_hear = list("hums ominously", "whirrs softly", "grinds a gear")
- emote_see = list("looks around the area", "turns from side to side")
- say_understood = list("Affirmative.", "Positive.")
- say_cannot = list("Denied.", "Negative.")
- say_maybe_target = list("Possible threat detected. Investigating.", "Motion detected.", "Investigating.")
- say_got_target = list("Threat detected.", "New task: Remove threat.", "Threat removal engaged.", "Engaging target.")
-
-/datum/say_list/lizard
- emote_hear = list("hisses")
-
-/datum/say_list/crab
- emote_hear = list("hisses")
-
-//Vox Pirate Saylist
-/datum/say_list/merc/voxpirate
- speak = list("Lookings for scrap, yaya.",
- "Tank is lookings low.",
- "Knowings should haves stayed on the Ark.",
- "Quills itchings...",
- "Cravings Teshari on stick.",
- "Plates locking up. Not good.")
- emote_see = list("sniffs", "coughs", "taps his foot", "looks around", "checks his equipment")
-
- say_understood = list("Yayaya!")
- say_cannot = list("Skreking negatives!", "Can't do that.")
- say_maybe_target = list("Who's theres?", "Is hearing things?")
- say_got_target = list("Dust!", "Easy loot!")
- say_threaten = list("Gets out of heres!")
- say_stand_down = list("Yaya, runs!", "Kikikiki!")
- say_escalate = list("Skrek!", "Bringings it!", "Takings shot", "Lock claws!")
-
-
- //Synth Horror Saylist
-
-/datum/say_list/cyber_horror
- speak = list("H@!#$$P M@!$#",
- "GHAA!@@#",
- "KR@!!N",
- "K!@@##L!@@ %!@#E",
- "G@#!$ H@!#%",
- "H!@%%@ @!E")
- emote_hear = list("emits", "groans", "wails", "pleads")
- emote_see = list ("stares unblinkingly.", "jitters and twitches.", "emits a synthetic scream.", "rapidly twitches.", "convulses.", "twitches uncontrollably.", "goes stock still.")
- say_threaten = list ("FR@#DOM","EN@ T#I$-$","N0$ M^> B@!#")
- say_got_target = list("I *#@ Y@%","!E@#$P","F#RR @I","D0@#$ ##OK %","IT $##TS")
diff --git a/code/modules/artifice/cursedform.dm b/code/modules/artifice/cursedform.dm
index 70560b5fa16..0a7ffa85ad4 100644
--- a/code/modules/artifice/cursedform.dm
+++ b/code/modules/artifice/cursedform.dm
@@ -1,7 +1,7 @@
/obj/item/paper/carbon/cursedform
name = "Form - Inventory Requisition r10.7.1E"
-/obj/item/paper/carbon/cursedform/Initialize()
+/obj/item/paper/carbon/cursedform/Initialize(mapload)
..()
info = {"
Form - Inventory Requisition r10.7.1E
General Request Form
General
Name:
Department:
Departmental Rank:
Organization(If not Nanotrasen):
Date:
Requested Item(s):
Quantity:
Reason for request:
Is this replacement equipment?:
If `Yes`; above, specify equiment and reason for replacement:
Authorization
Authorizing Department:
Authorizing Dept. Head:
Contact and Delivery
EPv2 Address of requesting party(Do not leave blank):
Delivery location or department:
Nanotrasen Employee Identification Number:
Signature of Requester and Date
Authorizor`s Nanotrasen Employee Identification Number:
Authorizing Signature and Date(Include authorizing department`s stamp below)
Shipping Department Only
(Do not write below this line)
Nanotrasen Purchasing Approval Code:
Nanotrasen Employee Identification Number:
Receiving Shipping Employee:
Signature and Date
"}
info_links = {"
Form - Inventory Requisition r10.7.1E
General Request Form
General
Name: write
Department: write
Departmental Rank: write
Organization(If not Nanotrasen): write
Date: write
Requested Item(s): write
Quantity: write
Reason for request: write
Is this replacement equipment?: write
If `Yes` above, specify equiment and reason for replacement: write
Authorization
Authorizing Department: write
Authorizing Dept. Head: write
Contact and Delivery
EPv2 Address of requesting party(Do not leave blank): write
Delivery location or department: write
Nanotrasen Employee Identification Number: write
Signature of Requester and Date
write
Authorizor`s Nanotrasen Employee Identification Number: write
Authorizing Signature and Date(Include authorizing department`s stamp below)
write
Shipping Department Only
(Do not write below this line)
Nanotrasen Purchasing Approval Code: write
Nanotrasen Employee Identification Number: write
Receiving Shipping Employee: write
Signature and Date
write
write"}
diff --git a/code/modules/artifice/telecube.dm b/code/modules/artifice/telecube.dm
index 27973998620..bead0a96648 100644
--- a/code/modules/artifice/telecube.dm
+++ b/code/modules/artifice/telecube.dm
@@ -54,7 +54,7 @@
var/omniteleport = FALSE // Will this teleport anchored things too?
-/obj/item/telecube/Initialize()
+/obj/item/telecube/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)
last_teleport = world.time
diff --git a/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm
index 2e60ab65ab3..5aa9948230c 100644
--- a/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm
+++ b/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm
@@ -194,7 +194,7 @@
return 1
-/obj/machinery/atmospherics/binary/dp_vent_pump/Initialize()
+/obj/machinery/atmospherics/binary/dp_vent_pump/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/atmospherics/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/components/binary_devices/passive_gate.dm
index 61ec3f25ebc..477edeafa14 100644
--- a/code/modules/atmospherics/components/binary_devices/passive_gate.dm
+++ b/code/modules/atmospherics/components/binary_devices/passive_gate.dm
@@ -129,7 +129,7 @@
return 1
-/obj/machinery/atmospherics/binary/passive_gate/Initialize()
+/obj/machinery/atmospherics/binary/passive_gate/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/atmospherics/components/binary_devices/pump.dm b/code/modules/atmospherics/components/binary_devices/pump.dm
index a4a4eac430a..ee96513c6b3 100644
--- a/code/modules/atmospherics/components/binary_devices/pump.dm
+++ b/code/modules/atmospherics/components/binary_devices/pump.dm
@@ -169,7 +169,7 @@ Thus, the two variables affect pump operation are set in New():
ui.open() // open the new ui window
ui.set_auto_update(1) // auto update every Master Controller tick
-/obj/machinery/atmospherics/binary/pump/Initialize()
+/obj/machinery/atmospherics/binary/pump/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/atmospherics/components/trinary_devices/filter.dm b/code/modules/atmospherics/components/trinary_devices/filter.dm
index 9df9ee89843..60adc0d7ba9 100644
--- a/code/modules/atmospherics/components/trinary_devices/filter.dm
+++ b/code/modules/atmospherics/components/trinary_devices/filter.dm
@@ -106,7 +106,7 @@
return 1
-/obj/machinery/atmospherics/trinary/atmos_filter/Initialize()
+/obj/machinery/atmospherics/trinary/atmos_filter/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/atmospherics/components/tvalve.dm b/code/modules/atmospherics/components/tvalve.dm
index ce52e38d372..966b76b7380 100644
--- a/code/modules/atmospherics/components/tvalve.dm
+++ b/code/modules/atmospherics/components/tvalve.dm
@@ -302,7 +302,7 @@
-/obj/machinery/atmospherics/tvalve/digital/Initialize()
+/obj/machinery/atmospherics/tvalve/digital/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/atmospherics/components/unary/outlet_injector.dm b/code/modules/atmospherics/components/unary/outlet_injector.dm
index 5ba4b12c28d..14b7ddaf1d0 100644
--- a/code/modules/atmospherics/components/unary/outlet_injector.dm
+++ b/code/modules/atmospherics/components/unary/outlet_injector.dm
@@ -122,7 +122,7 @@
return 1
-/obj/machinery/atmospherics/unary/outlet_injector/Initialize()
+/obj/machinery/atmospherics/unary/outlet_injector/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/atmospherics/components/unary/vent_pump.dm b/code/modules/atmospherics/components/unary/vent_pump.dm
index e9d5a17d709..5bf801c6c8f 100644
--- a/code/modules/atmospherics/components/unary/vent_pump.dm
+++ b/code/modules/atmospherics/components/unary/vent_pump.dm
@@ -77,7 +77,7 @@
pressure_checks = 2
pressure_checks_default = 2
-/obj/machinery/atmospherics/unary/vent_pump/Initialize()
+/obj/machinery/atmospherics/unary/vent_pump/Initialize(mapload)
. = ..()
/*
soundloop = new(list(src), FALSE)
diff --git a/code/modules/atmospherics/components/valve.dm b/code/modules/atmospherics/components/valve.dm
index 1e9c5bebce3..2cfb39d5a41 100644
--- a/code/modules/atmospherics/components/valve.dm
+++ b/code/modules/atmospherics/components/valve.dm
@@ -263,7 +263,7 @@
if(frequency)
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
-/obj/machinery/atmospherics/valve/digital/Initialize()
+/obj/machinery/atmospherics/valve/digital/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 22623a94c39..e9ec4797f41 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -26,7 +26,7 @@
var/species = SPECIES_HUMAN
delete_me = TRUE
-/obj/effect/landmark/corpse/Initialize()
+/obj/effect/landmark/corpse/Initialize(mapload)
..()
createCorpse()
return INITIALIZE_HINT_QDEL
diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index 361bff88e5f..1505e60fb91 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -8,7 +8,7 @@
var/active = 0
-/obj/machinery/gateway/Initialize()
+/obj/machinery/gateway/Initialize(mapload)
update_icon()
if(dir == SOUTH)
density = 0
@@ -34,7 +34,7 @@
var/wait = 0 //this just grabs world.time at world start
var/obj/machinery/gateway/centeraway/awaygate = null
-/obj/machinery/gateway/centerstation/Initialize()
+/obj/machinery/gateway/centerstation/Initialize(mapload)
update_icon()
wait = world.time + config_legacy.gateway_delay //+ thirty minutes default
awaygate = locate(/obj/machinery/gateway/centeraway)
@@ -164,7 +164,7 @@ obj/machinery/gateway/centerstation/process(delta_time)
var/obj/machinery/gateway/centeraway/stationgate = null
-/obj/machinery/gateway/centeraway/Initialize()
+/obj/machinery/gateway/centeraway/Initialize(mapload)
update_icon()
stationgate = locate(/obj/machinery/gateway/centerstation)
. = ..()
diff --git a/code/modules/awaymissions/loot.dm b/code/modules/awaymissions/loot.dm
index d2ebad954c9..78e6762cae5 100644
--- a/code/modules/awaymissions/loot.dm
+++ b/code/modules/awaymissions/loot.dm
@@ -5,7 +5,7 @@
var/lootdoubles = 0 //if the same item can be spawned twice
var/loot = "" //a list of possible items to spawn- a string of paths
-/obj/effect/spawner/lootdrop/Initialize()
+/obj/effect/spawner/lootdrop/Initialize(mapload)
..()
var/list/things = params2list(loot)
diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm
index d6d07d58db2..b9b9ad17868 100644
--- a/code/modules/awaymissions/zlevel.dm
+++ b/code/modules/awaymissions/zlevel.dm
@@ -59,13 +59,13 @@ proc/createRandomZlevel()
//VOREStation Add - This landmark type so it's not so ghetto.
/obj/effect/landmark/gateway_scatter
name = "uncalibrated gateway destination"
-/obj/effect/landmark/gateway_scatter/Initialize()
+/obj/effect/landmark/gateway_scatter/Initialize(mapload)
. = ..()
awaydestinations += src
/obj/effect/landmark/event_scatter
name = "uncalibrated gateway destination"
-/obj/effect/landmark/event_scatter/Initialize()
+/obj/effect/landmark/event_scatter/Initialize(mapload)
. = ..()
eventdestinations += src
//VOREStation Add End
diff --git a/code/modules/catalogue/cataloguer.dm b/code/modules/catalogue/cataloguer.dm
index da125edabd8..0c308e1a2f0 100644
--- a/code/modules/catalogue/cataloguer.dm
+++ b/code/modules/catalogue/cataloguer.dm
@@ -54,7 +54,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers)
debug = TRUE
-/obj/item/cataloguer/Initialize()
+/obj/item/cataloguer/Initialize(mapload)
GLOB.all_cataloguers += src
return ..()
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 05db89abf73..9be9d2d080f 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -16,7 +16,7 @@
drop_sound = 'sound/items/drop/rubber.ogg'
pickup_sound = 'sound/items/pickup/rubber.ogg'
-/obj/item/clothing/gloves/fyellow/Initialize()
+/obj/item/clothing/gloves/fyellow/Initialize(mapload)
. = ..()
//Picks a value between 0 and 1.25, in 5% increments // VOREStation edit
var/shock_pick = rand(0,15) // VOREStation Edit
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 5b0c7b015db..08e2342b61b 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -151,7 +151,7 @@
icon = 'icons/obj/clothing/ranger.dmi'
icon_state = "ranger_gloves"
-/obj/item/clothing/gloves/ranger/Initialize()
+/obj/item/clothing/gloves/ranger/Initialize(mapload)
. = ..()
if(icon_state == "ranger_gloves")
name = "[glovecolor] ranger gloves"
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index 4a03a28c106..d44e5a9860f 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -48,7 +48,7 @@
light_overlay = "helmet_light"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
-/obj/item/clothing/head/hardhat/ranger/Initialize()
+/obj/item/clothing/head/hardhat/ranger/Initialize(mapload)
. = ..()
if(icon_state == "ranger_helmet")
name = "[hatcolor] ranger helmet"
diff --git a/code/modules/clothing/head/pilot_helmet.dm b/code/modules/clothing/head/pilot_helmet.dm
index 81b9bce4210..e69de29bb2d 100644
--- a/code/modules/clothing/head/pilot_helmet.dm
+++ b/code/modules/clothing/head/pilot_helmet.dm
@@ -1,201 +0,0 @@
-//Pilot
-
-/obj/item/clothing/head/pilot
- name = "pilot helmet"
- desc = "Standard pilot gear. Protects the head from impacts."
- icon_state = "pilot_helmet1"
- item_icons = list(slot_head_str = 'icons/mob/pilot_helmet.dmi')
- sprite_sheets = list(
- SPECIES_TESHARI = 'icons/mob/species/teshari/pilot_helmet.dmi'
- )
- flags = THICKMATERIAL
- armor = list(melee = 20, bullet = 10, laser = 10, energy = 5, bomb = 10, bio = 0, rad = 0)
- flags_inv = HIDEEARS
- cold_protection = HEAD
- min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE
- heat_protection = HEAD
- max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
- w_class = ITEMSIZE_NORMAL
-
- var/obj/machinery/computer/shuttle_control/shuttle_comp
- var/obj/screen/pilot_hud
- var/list/images
- var/list/raw_images
- var/last_status
-
-/obj/item/clothing/head/pilot/Initialize()
- . = ..()
-
- images = list()
- raw_images = list()
-
- pilot_hud = new(src)
- pilot_hud.screen_loc = "1,1"
- pilot_hud.icon = 'icons/obj/piloting_overlay.dmi'
- pilot_hud.icon_state = "dimmer"
- pilot_hud.layer = SCREEN_LAYER
- pilot_hud.plane = PLANE_FULLSCREEN
- pilot_hud.mouse_opacity = 0
- pilot_hud.alpha = 0
-
- var/image/I
- I = image(pilot_hud.icon,pilot_hud,"top_bar",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 145
- images["top_bar"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"top_dots",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 200
- images["topdots"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"words_discon",layer=SCREEN_LAYER+1) //words_standby, words_flying, words_spool, words_discon
- I.appearance_flags = RESET_ALPHA
- I.alpha = 200
- images["top_words"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 200
- images["charging"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"left_bar",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 0
- images["left_bar"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"right_bar",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 0
- images["right_bar"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"flyboxes",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 0
- images["flyboxes"] = I
- raw_images += I
-
- I = image(pilot_hud.icon,pilot_hud,"horizon",layer=SCREEN_LAYER+1)
- I.appearance_flags = RESET_ALPHA
- I.alpha = 0
- images["horizon"] = I
- raw_images += I
-
-/obj/item/clothing/head/pilot/proc/update_hud(var/status)
- if(last_status == status)
- return
-
- last_status = status
-
- if(status == SHUTTLE_INTRANSIT)
- var/image/I = images["top_words"]
- I.icon_state = "words_flying"
- I = images["left_bar"]
- I.alpha = 200
- I = images["right_bar"]
- I.alpha = 200
- I = images["flyboxes"]
- I.alpha = 200
- I = images["horizon"]
- I.alpha = 200
- I = images["charging"]
- I.icon_state = ""
- animate(pilot_hud,alpha=255,time=3 SECONDS)
-
- else if(status == SHUTTLE_IDLE)
- var/image/I = images["top_words"]
- I.icon_state = "words_standby"
- I = images["left_bar"]
- I.alpha = 0
- I = images["right_bar"]
- I.alpha = 0
- I = images["flyboxes"]
- I.alpha = 0
- I = images["horizon"]
- I.alpha = 0
- I = images["charging"]
- I.icon_state = ""
- animate(pilot_hud,alpha=0,time=3 SECONDS)
-
- else if(status == SHUTTLE_WARMUP)
- var/image/I = images["top_words"]
- I.icon_state = "words_spool"
- I = images["left_bar"]
- I.alpha = 200
- I = images["right_bar"]
- I.alpha = 200
- I = images["flyboxes"]
- I.alpha = 0
- I = images["horizon"]
- I.alpha = 0
- I = images["charging"]
- I.icon_state = "charging"
- animate(pilot_hud,alpha=255,time=3 SECONDS)
-
- else if(status == "discon")
- var/image/I = images["top_words"]
- I.icon_state = "words_discon"
- I = images["left_bar"]
- I.alpha = 0
- I = images["right_bar"]
- I.alpha = 0
- I = images["flyboxes"]
- I.alpha = 0
- I = images["horizon"]
- I.alpha = 0
- I = images["charging"]
- I.icon_state = ""
- animate(pilot_hud,alpha=0,time=3 SECONDS)
-
-/obj/item/clothing/head/pilot/verb/hud_colors()
- set name = "Alter HUD color"
- set desc = "Change the color of the piloting HUD."
- set category = "Object"
- set src in usr
-
- var/newcolor = input(usr,"Pick a color!","HUD Color") as null|color
- if(newcolor)
- for(var/img in list("top_words","left_bar","right_bar","flyboxes"))
- var/image/I = images[img]
- I.color = newcolor
-
-/obj/item/clothing/head/pilot/Destroy()
- for(var/img in raw_images)
- var/image/I = img
- I.loc = null
- shuttle_comp = null
- qdel(pilot_hud)
- return ..()
-
-/obj/item/clothing/head/pilot/equipped(var/mob/user,var/slot)
- . = ..()
- if(slot == slot_head && user.client)
- user.client.screen |= pilot_hud
- user.client.images |= raw_images
-
-/obj/item/clothing/head/pilot/dropped(var/mob/user)
- . = ..()
- if(user.client)
- user.client.screen -= pilot_hud
- user.client.images -= raw_images
-
-/obj/item/clothing/head/pilot/alt
- name = "pilot helmet"
- desc = "Standard pilot gear. Protects the head from impacts. This one has a retractable visor"
- icon_state = "pilot_helmet2"
- action_button_name = "Toggle Visor"
-
-/obj/item/clothing/head/pilot/alt/attack_self(mob/user as mob)
- if(src.icon_state == initial(icon_state))
- src.icon_state = "[icon_state]up"
- to_chat(user, "You raise the visor on the pilot helmet.")
- else
- src.icon_state = initial(icon_state)
- to_chat(user, "You lower the visor on the pilot helmet.")
- update_clothing_icon() //so our mob-overlays update
\ No newline at end of file
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 9e1b6e4de4d..acdce636bc9 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -185,7 +185,7 @@ obj/item/clothing/shoes/sandal/clogs
icon = 'icons/obj/clothing/ranger.dmi'
icon_state = "ranger_boots"
-/obj/item/clothing/shoes/boots/ranger/Initialize()
+/obj/item/clothing/shoes/boots/ranger/Initialize(mapload)
. = ..()
if(icon_state == "ranger_boots")
name = "[bootcolor] ranger boots"
diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm
index fa2569bae7f..96838d9baf3 100644
--- a/code/modules/clothing/spacesuits/rig/modules/combat.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm
@@ -289,7 +289,7 @@
deactivate_string = "Retract Blade"
var/obj/item/material/knife/machete/armblade/rig/held_blade
-/obj/item/rig_module/armblade/Initialize()
+/obj/item/rig_module/armblade/Initialize(mapload)
. = ..()
held_blade = new /obj/item/material/knife/machete/armblade/rig
held_blade.storing_module = src
diff --git a/code/modules/clothing/spacesuits/void/void_vr.dm b/code/modules/clothing/spacesuits/void/void_vr.dm
index 1dc7713a262..ef85a7bfd8a 100644
--- a/code/modules/clothing/spacesuits/void/void_vr.dm
+++ b/code/modules/clothing/spacesuits/void/void_vr.dm
@@ -99,7 +99,7 @@
SPECIES_ZORREN_HIGH,
SPECIES_VOX
)
-/obj/item/clothing/suit/space/void/explorer/Initialize()
+/obj/item/clothing/suit/space/void/explorer/Initialize(mapload)
. = ..()
sprite_sheets += sprite_sheets_refit
@@ -124,6 +124,6 @@
SPECIES_ZORREN_HIGH,
SPECIES_VOX
)
-/obj/item/clothing/head/helmet/space/void/explorer/Initialize()
+/obj/item/clothing/head/helmet/space/void/explorer/Initialize(mapload)
. = ..()
sprite_sheets += sprite_sheets_refit
diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm
index 3d3f45eb4d8..f30896ab464 100644
--- a/code/modules/clothing/suits/storage.dm
+++ b/code/modules/clothing/suits/storage.dm
@@ -2,7 +2,7 @@
var/obj/item/storage/internal/pockets
var/slots = 2
-/obj/item/clothing/suit/storage/Initialize()
+/obj/item/clothing/suit/storage/Initialize(mapload)
. = ..()
pockets = new/obj/item/storage/internal(src, slots, ITEMSIZE_SMALL) // Fit only pocket sized items
pockets.max_w_class = ITEMSIZE_SMALL // Fit only pocket sized items
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index 61301cffa6b..e6a17dcb816 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -579,7 +579,7 @@
var/code = 2
var/datum/radio_frequency/radio_connection
-/obj/item/clothing/accessory/collar/shock/Initialize()
+/obj/item/clothing/accessory/collar/shock/Initialize(mapload)
..()
radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) // Makes it so you don't need to change the frequency off of default for it to work.
diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm
index 4829b215b77..0ba79d17d45 100644
--- a/code/modules/clothing/under/accessories/holster.dm
+++ b/code/modules/clothing/under/accessories/holster.dm
@@ -166,7 +166,7 @@
/obj/item/clothing/accessory/holster/machete/occupied
var/holstered_spawn = /obj/item/material/knife/machete
-/obj/item/clothing/accessory/holster/machete/occupied/Initialize()
+/obj/item/clothing/accessory/holster/machete/occupied/Initialize(mapload)
holstered = new holstered_spawn
/obj/item/clothing/accessory/holster/machete/occupied/deluxe
diff --git a/code/modules/clothing/under/accessories/torch.dm b/code/modules/clothing/under/accessories/torch.dm
index 4840cbb523e..4fd78162035 100644
--- a/code/modules/clothing/under/accessories/torch.dm
+++ b/code/modules/clothing/under/accessories/torch.dm
@@ -210,7 +210,7 @@ badges
badge_string = "Sol Central Government"
slot_flags = SLOT_MASK | SLOT_TIE
-/obj/item/clothing/accessory/badge/solgov/tags/Initialize()
+/obj/item/clothing/accessory/badge/solgov/tags/Initialize(mapload)
. = ..()
var/mob/living/carbon/human/H
H = get_holder_of_type(src, /mob/living/carbon/human)
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 688c0ec990a..3764f17afc6 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -993,7 +993,7 @@
rolled_down = 0
rolled_sleeves = 0
-/obj/item/clothing/under/color/ranger/Initialize()
+/obj/item/clothing/under/color/ranger/Initialize(mapload)
. = ..()
if(icon_state == "ranger_uniform") //allows for custom items
name = "[unicolor] ranger uniform"
diff --git a/code/modules/detectivework/tools/luminol.dm b/code/modules/detectivework/tools/luminol.dm
index 560522508dc..e69de29bb2d 100644
--- a/code/modules/detectivework/tools/luminol.dm
+++ b/code/modules/detectivework/tools/luminol.dm
@@ -1,13 +0,0 @@
-/obj/item/reagent_containers/spray/luminol
- name = "luminol bottle"
- desc = "A bottle containing an odourless, colorless liquid."
- icon = 'icons/obj/forensics.dmi'
- icon_state = "luminol"
- item_state = "cleaner"
- amount_per_transfer_from_this = 10
- possible_transfer_amounts = list(5,10)
- volume = 250
-
-/obj/item/reagent_containers/spray/luminol/Initialize()
- . = ..()
- reagents.add_reagent("luminol", 250)
\ No newline at end of file
diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm
index bf27d8ad7e7..95a1f88dc5e 100644
--- a/code/modules/detectivework/tools/rag.dm
+++ b/code/modules/detectivework/tools/rag.dm
@@ -32,7 +32,7 @@
var/on_fire = 0
var/burn_time = 20 //if the rag burns for too long it turns to ashes
-/obj/item/reagent_containers/glass/rag/Initialize()
+/obj/item/reagent_containers/glass/rag/Initialize(mapload)
. = ..()
update_name()
diff --git a/code/modules/fishing/fishing_net.dm b/code/modules/fishing/fishing_net.dm
index 2342ace62ad..3693c139a84 100644
--- a/code/modules/fishing/fishing_net.dm
+++ b/code/modules/fishing/fishing_net.dm
@@ -22,7 +22,7 @@
var/list/accepted_mobs = list(/mob/living/simple_mob/animal/passive/fish)
-/obj/item/material/fishing_net/Initialize()
+/obj/item/material/fishing_net/Initialize(mapload)
..()
update_icon()
diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm
index dc3b5ee6cc8..e69de29bb2d 100644
--- a/code/modules/fishing/fishing_rod.dm
+++ b/code/modules/fishing/fishing_rod.dm
@@ -1,138 +0,0 @@
-
-/obj/item/material/fishing_rod
- name = "crude fishing rod"
- desc = "A crude rod made for catching fish."
- description_info = "A tool usable on water-tiles to attempt to catch fish by swiping it over them.\
- You can add or remove cable by wirecutter or coil respectively to allow its use.\
- Any food containing things like protein, sugar, or standard nutriment can be attached to the rod, allowing for faster fishing based on the amount.\
- You can examine the rod to check if it has bait attached, and examine it automatically if so.\
- \
- Ctrl clicking the rod will remove any attached bait from the rod."
- description_antag = "Some fishing rods can be utilized as long-range, sharp weapons, though their pseudo ranged ability comes at the cost of slow speed."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "fishing_rod"
- item_state = "fishing_rod"
- force_divisor = 0.02 //VOREStation Edit
- throwforce = 1 //VOREStation Edit
- sharp = TRUE
- attack_verb = list("whipped", "battered", "slapped", "fished", "hooked")
- hitsound = 'sound/weapons/punchmiss.ogg'
- applies_material_colour = TRUE
- default_material = "wood"
- can_dull = FALSE
- var/strung = TRUE
- var/line_break = TRUE
-
- var/obj/item/reagent_containers/food/snacks/Bait
- var/bait_type = /obj/item/reagent_containers/food/snacks
-
- var/cast = FALSE
-
- attackspeed = 3 SECONDS
-
-/obj/item/material/fishing_rod/built
- strung = FALSE
-
-/obj/item/material/fishing_rod/examine(mob/M as mob)
- ..()
- if(Bait)
- to_chat(M, "\The [src] has \the [Bait] hanging on its hook.")
- Bait.examine(M)
-
-/obj/item/material/fishing_rod/CtrlClick(mob/user)
- if((src.loc == user || Adjacent(user)) && Bait)
- Bait.forceMove(get_turf(user))
- to_chat(user, "You remove the bait from \the [src].")
- Bait = null
- else
- ..()
-
-/obj/item/material/fishing_rod/Initialize()
- ..()
- update_icon()
-
-/obj/item/material/fishing_rod/attackby(obj/item/I as obj, mob/user as mob)
- if(I.is_wirecutter() && strung)
- strung = FALSE
- to_chat(user, "You cut \the [src]'s string!")
- update_icon()
- return
- else if(istype(I, /obj/item/stack/cable_coil) && !strung)
- var/obj/item/stack/cable_coil/C = I
- if(C.amount < 5)
- to_chat(user, "You do not have enough length in \the [C] to string this!")
- return
- if(do_after(user, rand(10 SECONDS, 20 SECONDS)))
- C.use(5)
- strung = TRUE
- to_chat(user, "You string \the [src]!")
- update_icon()
- return
- else if(istype(I, bait_type))
- if(Bait)
- Bait.forceMove(get_turf(user))
- to_chat(user, "You swap \the [Bait] with \the [I].")
- Bait = I
- user.drop_from_inventory(Bait)
- Bait.forceMove(src)
- update_bait()
- return ..()
-
-/obj/item/material/fishing_rod/update_icon()
- overlays.Cut()
- ..()
- if(strung)
- overlays += image(icon, "[icon_state]_string")
-
-/obj/item/material/fishing_rod/proc/update_bait()
- if(istype(Bait, bait_type))
- var/foodvolume
- for(var/datum/reagent/re in Bait.reagents.reagent_list)
- if(re.id == "nutriment" || re.id == "protein" || re.id == "glucose" || re.id == "fishbait")
- foodvolume += re.volume
-
- toolspeed = initial(toolspeed) * min(0.75, (0.5 / max(0.5, (foodvolume / Bait.reagents.maximum_volume))))
-
- else
- toolspeed = initial(toolspeed)
-
-/obj/item/material/fishing_rod/proc/consume_bait()
- if(Bait)
- qdel(Bait)
- Bait = null
- return TRUE
- return FALSE
-
-/obj/item/material/fishing_rod/attack(var/mob/M as mob, var/mob/user as mob, var/def_zone)
- if(cast)
- to_chat(user, "You cannot cast \the [src] when it is already in use!")
- return FALSE
- update_bait()
- return ..()
-
-/obj/item/material/fishing_rod/modern
- name = "fishing rod"
- desc = "A refined rod for catching fish."
- icon_state = "fishing_rod_modern"
- item_state = "fishing_rod"
- reach = 4
- attackspeed = 2 SECONDS
- default_material = "titanium"
-
- toolspeed = 0.75
-
-/obj/item/material/fishing_rod/modern/built
- strung = FALSE
-
-/obj/item/material/fishing_rod/modern/cheap //A rod sold by the fishing vendor. Done so that the rod sold by mining reward vendors doesn't loose its value.
- name = "cheap fishing rod"
- desc = "Mass produced, but somewhat reliable."
- default_material = "plastic"
-
- toolspeed = 0.9
-
-/obj/item/material/fishing_rod/modern/strong
- desc = "A extremely refined rod for catching fish."
- default_material = "durasteel"
-
- toolspeed = 0.5
\ No newline at end of file
diff --git a/code/modules/food/drinkingglass/drinkingglass.dm b/code/modules/food/drinkingglass/drinkingglass.dm
index 89a3163a54f..e69de29bb2d 100644
--- a/code/modules/food/drinkingglass/drinkingglass.dm
+++ b/code/modules/food/drinkingglass/drinkingglass.dm
@@ -1,166 +0,0 @@
-#define DRINK_ICON_FILE 'icons/pdrink.dmi'
-
-/var/const/DRINK_FIZZ = "fizz"
-/var/const/DRINK_ICE = "ice"
-/var/const/DRINK_ICON_DEFAULT = ""
-/var/const/DRINK_ICON_NOISY = "_noise"
-
-/obj/item/reagent_containers/food/drinks/glass2
- name = "glass" // Name when empty
- var/base_name = "glass" // Name to put in front of drinks, i.e. "[base_name] of [contents]"
- desc = "A generic drinking glass." // Description when empty
- icon = DRINK_ICON_FILE
- var/base_icon = "square" // Base icon name
- volume = 30
-
- var/list/filling_states // List of percentages full that have icons
-
- var/list/extras = list() // List of extras. Two extras maximum
-
- var/rim_pos
-
- center_of_mass = list("x"=16, "y"=10)
-
- amount_per_transfer_from_this = 5
- possible_transfer_amounts = list(5,10,15,30)
- flags = OPENCONTAINER
-
- matter = list("glass" = 60)
-
-/obj/item/reagent_containers/food/drinks/glass2/examine(mob/M as mob)
- ..()
-
- for(var/I in extras)
- if(istype(I, /obj/item/glass_extra))
- to_chat(M, "There is \a [I] in \the [src].")
- else if(istype(I, /obj/item/reagent_containers/food/snacks/fruit_slice))
- to_chat(M, "There is \a [I] on the rim.")
- else
- to_chat(M, "There is \a [I] somewhere on the glass. Somehow.")
-
- if(has_ice())
- to_chat(M, "There is some ice floating in the drink.")
-
- if(has_fizz())
- to_chat(M, "It is fizzing slightly.")
-
-/obj/item/reagent_containers/food/drinks/glass2/proc/has_ice()
- if(reagents.reagent_list.len > 0)
- var/datum/reagent/R = reagents.get_master_reagent()
- if(!((R.id == "ice") || ("ice" in R.glass_special))) // if it's not a cup of ice, and it's not already supposed to have ice in, see if the bartender's put ice in it
- if(reagents.has_reagent("ice", reagents.total_volume / 10)) // 10% ice by volume
- return 1
-
- return 0
-
-/obj/item/reagent_containers/food/drinks/glass2/proc/has_fizz()
- if(reagents.reagent_list.len > 0)
- var/datum/reagent/R = reagents.get_master_reagent()
- if(!("fizz" in R.glass_special))
- var/totalfizzy = 0
- for(var/datum/reagent/re in reagents.reagent_list)
- if("fizz" in re.glass_special)
- totalfizzy += re.volume
- if(totalfizzy >= reagents.total_volume / 5) // 20% fizzy by volume
- return 1
- return 0
-
-/obj/item/reagent_containers/food/drinks/glass2/Initialize()
- ..()
- icon_state = base_icon
-
-/obj/item/reagent_containers/food/drinks/glass2/on_reagent_change()
- ..()
- update_icon()
-
-/obj/item/reagent_containers/food/drinks/glass2/proc/can_add_extra(obj/item/glass_extra/GE)
- if(!("[base_icon]_[GE.glass_addition]left" in icon_states(DRINK_ICON_FILE)))
- return 0
- if(!("[base_icon]_[GE.glass_addition]right" in icon_states(DRINK_ICON_FILE)))
- return 0
-
- return 1
-
-/obj/item/reagent_containers/food/drinks/glass2/update_icon()
- underlays.Cut()
-
- if (reagents.reagent_list.len > 0)
- var/datum/reagent/R = reagents.get_master_reagent()
- name = "[base_name] of [R.glass_name ? R.glass_name : "something"]"
- desc = R.glass_desc ? R.glass_desc : initial(desc)
-
- var/list/under_liquid = list()
- var/list/over_liquid = list()
-
- var/amnt = 100
- var/percent = round((reagents.total_volume / volume) * 100)
- for(var/k in filling_states)
- if(percent <= k)
- amnt = k
- break
-
- if(has_ice())
- over_liquid |= "[base_icon][amnt]_ice"
-
- if(has_fizz())
- over_liquid |= "[base_icon][amnt]_fizz"
-
- for(var/S in R.glass_special)
- if("[base_icon]_[S]" in icon_states(DRINK_ICON_FILE))
- under_liquid |= "[base_icon]_[S]"
- else if("[base_icon][amnt]_[S]" in icon_states(DRINK_ICON_FILE))
- over_liquid |= "[base_icon][amnt]_[S]"
-
- for(var/k in under_liquid)
- underlays += image(DRINK_ICON_FILE, src, k, -3)
-
- var/image/filling = image(DRINK_ICON_FILE, src, "[base_icon][amnt][R.glass_icon]", -2)
- filling.color = reagents.get_color()
- underlays += filling
-
- for(var/k in over_liquid)
- underlays += image(DRINK_ICON_FILE, src, k, -1)
- else
- name = initial(name)
- desc = initial(desc)
-
- var/side = "left"
- for(var/item in extras)
- if(istype(item, /obj/item/glass_extra))
- var/obj/item/glass_extra/GE = item
- var/image/I = image(DRINK_ICON_FILE, src, "[base_icon]_[GE.glass_addition][side]")
- if(GE.glass_color)
- I.color = GE.glass_color
- underlays += I
- else if(istype(item, /obj/item/reagent_containers/food/snacks/fruit_slice))
- var/obj/FS = item
- var/image/I = image(FS)
-
- var/fsy = rim_pos[1] - 20
- var/fsx = rim_pos[side == "left" ? 2 : 3] - 16
-
- var/matrix/M = matrix()
- M.Scale(0.5)
- M.Translate(fsx, fsy)
- I.transform = M
- underlays += I
- else continue
- side = "right"
-
-/obj/item/reagent_containers/food/drinks/glass2/afterattack(var/obj/target, var/mob/user, var/proximity)
- if(user.a_intent == INTENT_HARM) //We only want splashing to be done if they are on harm intent.
- if(!is_open_container() || !proximity)
- return 1
- if(standard_splash_mob(user, target))
- return 1
- if(reagents && reagents.total_volume) //They are on harm intent, aka wanting to spill it.
- to_chat(user, "You splash the solution onto [target].")
- reagents.splash(target, reagents.total_volume)
- return 1
- ..()
-
-/obj/item/reagent_containers/food/drinks/glass2/standard_feed_mob(var/mob/user, var/mob/target)
- if(afterattack(target, user)) //Check to see if harm intent & splash.
- return
- else
- ..() //If they're splashed, no need to do anything else.
\ No newline at end of file
diff --git a/code/modules/food/drinkingglass/shaker.dm b/code/modules/food/drinkingglass/shaker.dm
index 868137e79e1..d8d99b9802b 100644
--- a/code/modules/food/drinkingglass/shaker.dm
+++ b/code/modules/food/drinkingglass/shaker.dm
@@ -11,7 +11,7 @@
rim_pos = null // no fruit slices
var/lid_color = "black"
-/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/Initialize()
+/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/Initialize(mapload)
..()
lid_color = pick("black", "red", "blue")
update_icon()
@@ -23,7 +23,7 @@
/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake
name = "protein shake"
-/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake/Initialize()
+/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake/Initialize(mapload)
..()
reagents.add_reagent("nutriment", 10)
reagents.add_reagent("iron", 10)
diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm
index 0881ca7c226..c9d151d4b9d 100644
--- a/code/modules/food/food.dm
+++ b/code/modules/food/food.dm
@@ -13,7 +13,7 @@
var/list/center_of_mass = list() // Used for table placement
-/obj/item/reagent_containers/food/Initialize()
+/obj/item/reagent_containers/food/Initialize(mapload)
. = ..()
if (center_of_mass.len && !pixel_x && !pixel_y)
src.pixel_x = rand(-6.0, 6) //Randomizes postion
diff --git a/code/modules/food/food/cans.dm b/code/modules/food/food/cans.dm
index 87b33006790..3dad0239ab5 100644
--- a/code/modules/food/food/cans.dm
+++ b/code/modules/food/food/cans.dm
@@ -13,7 +13,7 @@
icon_state = "cola"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/cola/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/cola/Initialize(mapload)
. = ..()
reagents.add_reagent("cola", 30)
@@ -25,7 +25,7 @@
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
-/obj/item/reagent_containers/food/drinks/cans/waterbottle/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/waterbottle/Initialize(mapload)
. = ..()
reagents.add_reagent("water", 30)
@@ -35,7 +35,7 @@
icon_state = "space_mountain_wind"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind/Initialize(mapload)
..()
reagents.add_reagent("spacemountainwind", 30)
@@ -45,7 +45,7 @@
icon_state = "thirteen_loko"
center_of_mass = list("x"=16, "y"=8)
-/obj/item/reagent_containers/food/drinks/cans/thirteenloko/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/thirteenloko/Initialize(mapload)
. = ..()
reagents.add_reagent("thirteenloko", 30)
@@ -55,7 +55,7 @@
icon_state = "dr_gibb"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/dr_gibb/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/dr_gibb/Initialize(mapload)
..()
reagents.add_reagent("dr_gibb", 30)
@@ -65,7 +65,7 @@
icon_state = "starkist"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/starkist/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/starkist/Initialize(mapload)
. = ..()
reagents.add_reagent("brownstar", 30)
@@ -75,7 +75,7 @@
icon_state = "space-up"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/space_up/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/space_up/Initialize(mapload)
..()
reagents.add_reagent("space_up", 30)
@@ -85,7 +85,7 @@
icon_state = "lemon-lime"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/lemon_lime/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/lemon_lime/Initialize(mapload)
..()
reagents.add_reagent("lemon_lime", 30)
@@ -95,7 +95,7 @@
icon_state = "ice_tea_can"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/iced_tea/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/iced_tea/Initialize(mapload)
..()
reagents.add_reagent("icetea", 30)
@@ -105,7 +105,7 @@
icon_state = "purple_can"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/grape_juice/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/grape_juice/Initialize(mapload)
..()
reagents.add_reagent("grapejuice", 30)
@@ -115,7 +115,7 @@
icon_state = "tonic"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/tonic/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/tonic/Initialize(mapload)
. = ..()
reagents.add_reagent("tonic", 50)
@@ -125,7 +125,7 @@
icon_state = "sodawater"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/sodawater/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/sodawater/Initialize(mapload)
. = ..()
reagents.add_reagent("sodawater", 50)
@@ -135,6 +135,6 @@
icon_state = "gingerale"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/cans/gingerale/Initialize()
+/obj/item/reagent_containers/food/drinks/cans/gingerale/Initialize(mapload)
. = ..()
reagents.add_reagent("gingerale", 30)
diff --git a/code/modules/food/food/condiment.dm b/code/modules/food/food/condiment.dm
index 81e3219de7f..2b87ac65413 100644
--- a/code/modules/food/food/condiment.dm
+++ b/code/modules/food/food/condiment.dm
@@ -130,31 +130,31 @@
desc = "Used in cooking various dishes."
icon_state = "enzyme"
-/obj/item/reagent_containers/food/condiment/enzyme/Initialize()
+/obj/item/reagent_containers/food/condiment/enzyme/Initialize(mapload)
. = ..()
reagents.add_reagent("enzyme", 50)
-/obj/item/reagent_containers/food/condiment/sugar/Initialize()
+/obj/item/reagent_containers/food/condiment/sugar/Initialize(mapload)
. = ..()
reagents.add_reagent("sugar", 50)
-/obj/item/reagent_containers/food/condiment/ketchup/Initialize()
+/obj/item/reagent_containers/food/condiment/ketchup/Initialize(mapload)
. = ..()
reagents.add_reagent("ketchup", 50)
-/obj/item/reagent_containers/food/condiment/hotsauce/Initialize()
+/obj/item/reagent_containers/food/condiment/hotsauce/Initialize(mapload)
. = ..()
reagents.add_reagent("capsaicin", 50)
-/obj/item/reagent_containers/food/condiment/cornoil/Initialize()
+/obj/item/reagent_containers/food/condiment/cornoil/Initialize(mapload)
. = ..()
reagents.add_reagent("cornoil", 50)
-/obj/item/reagent_containers/food/condiment/coldsauce/Initialize()
+/obj/item/reagent_containers/food/condiment/coldsauce/Initialize(mapload)
. = ..()
reagents.add_reagent("frostoil", 50)
-/obj/item/reagent_containers/food/condiment/soysauce/Initialize()
+/obj/item/reagent_containers/food/condiment/soysauce/Initialize(mapload)
. = ..()
reagents.add_reagent("soysauce", 50)
@@ -172,7 +172,7 @@
desc = "Salt. From space oceans, presumably."
icon_state = "saltshakersmall"
-/obj/item/reagent_containers/food/condiment/small/saltshaker/Initialize()
+/obj/item/reagent_containers/food/condiment/small/saltshaker/Initialize(mapload)
. = ..()
reagents.add_reagent("sodiumchloride", 20)
@@ -181,7 +181,7 @@
desc = "Often used to flavor food or make people sneeze."
icon_state = "peppermillsmall"
-/obj/item/reagent_containers/food/condiment/small/peppermill/Initialize()
+/obj/item/reagent_containers/food/condiment/small/peppermill/Initialize(mapload)
. = ..()
reagents.add_reagent("blackpepper", 20)
@@ -190,7 +190,7 @@
desc = "Sweetness in a bottle"
icon_state = "sugarsmall"
-/obj/item/reagent_containers/food/condiment/small/sugar/Initialize()
+/obj/item/reagent_containers/food/condiment/small/sugar/Initialize(mapload)
. = ..()
reagents.add_reagent("sugar", 20)
@@ -208,7 +208,7 @@
desc = "Contains 5u of table salt."
icon_state = "packet_small_white"
-/obj/item/reagent_containers/food/condiment/small/packet/salt/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/salt/Initialize(mapload)
. = ..()
reagents.add_reagent("sodiumchloride", 5)
@@ -217,7 +217,7 @@
desc = "Contains 5u of black pepper."
icon_state = "packet_small_black"
-/obj/item/reagent_containers/food/condiment/small/packet/pepper/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/pepper/Initialize(mapload)
. = ..()
reagents.add_reagent("blackpepper", 5)
@@ -226,7 +226,7 @@
desc = "Contains 5u of refined sugar."
icon_state = "packet_small_white"
-/obj/item/reagent_containers/food/condiment/small/packet/sugar/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/sugar/Initialize(mapload)
. = ..()
reagents.add_reagent("sugar", 5)
@@ -236,7 +236,7 @@
icon_state = "packet_medium"
volume = 10
-/obj/item/reagent_containers/food/condiment/small/packet/jelly/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/jelly/Initialize(mapload)
. = ..()
reagents.add_reagent("cherryjelly", 10)
@@ -246,7 +246,7 @@
icon_state = "packet_medium"
volume = 10
-/obj/item/reagent_containers/food/condiment/small/packet/honey/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/honey/Initialize(mapload)
. = ..()
reagents.add_reagent("honey", 10)
@@ -255,7 +255,7 @@
desc = "Contains 5u of hot sauce. Enjoy in moderation."
icon_state = "packet_small_red"
-/obj/item/reagent_containers/food/condiment/small/packet/capsaicin/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/capsaicin/Initialize(mapload)
. = ..()
reagents.add_reagent("capsaicin", 5)
@@ -264,7 +264,7 @@
desc = "Contains 5u of ketchup."
icon_state = "packet_small_red"
-/obj/item/reagent_containers/food/condiment/small/packet/ketchup/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/ketchup/Initialize(mapload)
. = ..()
reagents.add_reagent("ketchup", 5)
@@ -273,7 +273,7 @@
desc = "Contains 5u of mayonnaise."
icon_state = "packet_small_white"
-/obj/item/reagent_containers/food/condiment/small/packet/mayo/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/mayo/Initialize(mapload)
. = ..()
reagents.add_reagent("mayo", 5)
@@ -282,7 +282,7 @@
desc = "Contains 5u of soy sauce."
icon_state = "packet_small_black"
-/obj/item/reagent_containers/food/condiment/small/packet/soy/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/soy/Initialize(mapload)
. = ..()
reagents.add_reagent("soysauce", 5)
@@ -290,7 +290,7 @@
name = "coffee powder packet"
desc = "Contains 5u of coffee powder. Mix with 25u of water and heat."
-/obj/item/reagent_containers/food/condiment/small/packet/coffee/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/coffee/Initialize(mapload)
. = ..()
reagents.add_reagent("coffeepowder", 5)
@@ -298,7 +298,7 @@
name = "tea powder packet"
desc = "Contains 5u of black tea powder. Mix with 25u of water and heat."
-/obj/item/reagent_containers/food/condiment/small/packet/tea/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/tea/Initialize(mapload)
. = ..()
reagents.add_reagent("tea", 5)
@@ -306,7 +306,7 @@
name = "cocoa powder packet"
desc = "Contains 5u of cocoa powder. Mix with 25u of water and heat."
-/obj/item/reagent_containers/food/condiment/small/packet/cocoa/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/cocoa/Initialize(mapload)
. = ..()
reagents.add_reagent("coco", 5)
@@ -314,7 +314,7 @@
name = "grape juice powder packet"
desc = "Contains 5u of powdered grape juice. Mix with 15u of water."
-/obj/item/reagent_containers/food/condiment/small/packet/grape/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/grape/Initialize(mapload)
. = ..()
reagents.add_reagent("instantgrape", 5)
@@ -322,7 +322,7 @@
name = "orange juice powder packet"
desc = "Contains 5u of powdered orange juice. Mix with 15u of water."
-/obj/item/reagent_containers/food/condiment/small/packet/orange/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/orange/Initialize(mapload)
. = ..()
reagents.add_reagent("instantorange", 5)
@@ -330,7 +330,7 @@
name = "watermelon juice powder packet"
desc = "Contains 5u of powdered watermelon juice. Mix with 15u of water."
-/obj/item/reagent_containers/food/condiment/small/packet/watermelon/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/watermelon/Initialize(mapload)
. = ..()
reagents.add_reagent("instantwatermelon", 5)
@@ -338,7 +338,7 @@
name = "apple juice powder packet"
desc = "Contains 5u of powdered apple juice. Mix with 15u of water."
-/obj/item/reagent_containers/food/condiment/small/packet/apple/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/apple/Initialize(mapload)
. = ..()
reagents.add_reagent("instantapple", 5)
@@ -348,7 +348,7 @@
icon_state = "packet_medium"
volume = 10
-/obj/item/reagent_containers/food/condiment/small/packet/protein/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/protein/Initialize(mapload)
. = ..()
reagents.add_reagent("protein", 10)
@@ -356,31 +356,31 @@
name = "crayon powder packet"
desc = "Contains 10u of powdered crayon. Mix with 30u of water."
volume = 10
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/generic/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/generic/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/red/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/red/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_red", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/orange/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/orange/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_orange", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/yellow/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/yellow/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_yellow", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/green/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/green/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_green", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/blue/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/blue/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_blue", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/purple/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/purple/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_purple", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/grey/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/grey/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_grey", 10)
-/obj/item/reagent_containers/food/condiment/small/packet/crayon/brown/Initialize()
+/obj/item/reagent_containers/food/condiment/small/packet/crayon/brown/Initialize(mapload)
. = ..()
reagents.add_reagent("crayon_dust_brown", 10)
@@ -396,7 +396,7 @@
/obj/item/reagent_containers/food/condiment/flour/on_reagent_change()
return
-/obj/item/reagent_containers/food/condiment/flour/Initialize()
+/obj/item/reagent_containers/food/condiment/flour/Initialize(mapload)
..()
reagents.add_reagent("flour", 200)
src.pixel_x = rand(-10.0, 10)
@@ -414,6 +414,6 @@
/obj/item/reagent_containers/food/condiment/spacespice/on_reagent_change()
return
-/obj/item/reagent_containers/food/condiment/spacespice/Initialize()
+/obj/item/reagent_containers/food/condiment/spacespice/Initialize(mapload)
..()
reagents.add_reagent("spacespice", 40)
diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm
index 632c09bcd01..bb7d97ac2ac 100644
--- a/code/modules/food/food/drinks.dm
+++ b/code/modules/food/food/drinks.dm
@@ -122,7 +122,7 @@
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
-/obj/item/reagent_containers/food/drinks/milk/Initialize()
+/obj/item/reagent_containers/food/drinks/milk/Initialize(mapload)
. = ..()
reagents.add_reagent("milk", 50)
@@ -135,7 +135,7 @@
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
-/obj/item/reagent_containers/food/drinks/soymilk/Initialize()
+/obj/item/reagent_containers/food/drinks/soymilk/Initialize(mapload)
. = ..()
reagents.add_reagent("soymilk", 50)
@@ -148,7 +148,7 @@
center_of_mass = list("x"=16, "y"=9)
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
-/obj/item/reagent_containers/food/drinks/smallmilk/Initialize()
+/obj/item/reagent_containers/food/drinks/smallmilk/Initialize(mapload)
. = ..()
reagents.add_reagent("milk", 30)
@@ -161,7 +161,7 @@
center_of_mass = list("x"=16, "y"=9)
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
-/obj/item/reagent_containers/food/drinks/smallchocmilk/Initialize()
+/obj/item/reagent_containers/food/drinks/smallchocmilk/Initialize(mapload)
. = ..()
reagents.add_reagent("chocolate_milk", 30)
@@ -172,7 +172,7 @@
center_of_mass = list("x"=15, "y"=10)
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
-/obj/item/reagent_containers/food/drinks/coffee/Initialize()
+/obj/item/reagent_containers/food/drinks/coffee/Initialize(mapload)
. = ..()
reagents.add_reagent("coffee", 30)
@@ -185,7 +185,7 @@
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
-/obj/item/reagent_containers/food/drinks/tea/Initialize()
+/obj/item/reagent_containers/food/drinks/tea/Initialize(mapload)
. = ..()
reagents.add_reagent("tea", 30)
@@ -194,7 +194,7 @@
desc = "Careful, cold ice, do not chew."
icon_state = "coffee"
center_of_mass = list("x"=15, "y"=10)
-/obj/item/reagent_containers/food/drinks/ice/Initialize()
+/obj/item/reagent_containers/food/drinks/ice/Initialize(mapload)
. = ..()
reagents.add_reagent("ice", 30)
@@ -205,7 +205,7 @@
item_state = "coffee"
center_of_mass = list("x"=15, "y"=13)
-/obj/item/reagent_containers/food/drinks/h_chocolate/Initialize()
+/obj/item/reagent_containers/food/drinks/h_chocolate/Initialize(mapload)
..()
reagents.add_reagent("hot_coco", 30)
@@ -214,7 +214,7 @@
desc = "Just add 10ml water, self heats! A taste that reminds you of your school years."
icon_state = "ramen"
center_of_mass = list("x"=16, "y"=11)
-/obj/item/reagent_containers/food/drinks/dry_ramen/Initialize()
+/obj/item/reagent_containers/food/drinks/dry_ramen/Initialize(mapload)
..()
reagents.add_reagent("dry_ramen", 30)
@@ -226,7 +226,7 @@
volume = 10
center_of_mass = list("x"=16, "y"=12)
-/obj/item/reagent_containers/food/drinks/sillycup/Initialize()
+/obj/item/reagent_containers/food/drinks/sillycup/Initialize(mapload)
. = ..()
/obj/item/reagent_containers/food/drinks/sillycup/on_reagent_change()
diff --git a/code/modules/food/food/drinks/bottle.dm b/code/modules/food/food/drinks/bottle.dm
index 21f1d556674..9cfa472319a 100644
--- a/code/modules/food/food/drinks/bottle.dm
+++ b/code/modules/food/food/drinks/bottle.dm
@@ -14,7 +14,7 @@
var/rag_underlay = "rag"
on_reagent_change() return // To suppress price updating. Bottles have their own price tags.
-/obj/item/reagent_containers/food/drinks/bottle/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/Initialize(mapload)
. = ..()
if(isGlass) unacidable = 1
@@ -194,7 +194,7 @@
icon_state = "ginbottle"
center_of_mass = list("x"=16, "y"=4)
-/obj/item/reagent_containers/food/drinks/bottle/gin/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/gin/Initialize(mapload)
. = ..()
reagents.add_reagent("gin", 100)
@@ -204,7 +204,7 @@
icon_state = "whiskeybottle"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/whiskey/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/whiskey/Initialize(mapload)
. = ..()
reagents.add_reagent("whiskey", 100)
@@ -214,7 +214,7 @@
icon_state = "whiskeybottle2"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey/Initialize(mapload)
. = ..()
reagents.add_reagent("specialwhiskey", 100)
@@ -224,7 +224,7 @@
icon_state = "vodkabottle"
center_of_mass = list("x"=17, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/vodka/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/vodka/Initialize(mapload)
. = ..()
reagents.add_reagent("vodka", 100)
@@ -234,7 +234,7 @@
icon_state = "tequillabottle"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/tequilla/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/tequilla/Initialize(mapload)
. = ..()
reagents.add_reagent("tequilla", 100)
@@ -244,7 +244,7 @@
icon_state = "bottleofnothing"
center_of_mass = list("x"=17, "y"=5)
-/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing/Initialize(mapload)
. = ..()
reagents.add_reagent("nothing", 100)
@@ -254,7 +254,7 @@
icon_state = "patronbottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/patron/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/patron/Initialize(mapload)
. = ..()
reagents.add_reagent("patron", 100)
@@ -264,7 +264,7 @@
icon_state = "rumbottle"
center_of_mass = list("x"=16, "y"=8)
-/obj/item/reagent_containers/food/drinks/bottle/rum/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/rum/Initialize(mapload)
. = ..()
reagents.add_reagent("rum", 100)
@@ -274,7 +274,7 @@
icon_state = "holyflask"
center_of_mass = list("x"=17, "y"=10)
-/obj/item/reagent_containers/food/drinks/bottle/holywater/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/holywater/Initialize(mapload)
. = ..()
reagents.add_reagent("holywater", 100)
@@ -284,7 +284,7 @@
icon_state = "vermouthbottle"
center_of_mass = list("x"=17, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/vermouth/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/vermouth/Initialize(mapload)
. = ..()
reagents.add_reagent("vermouth", 100)
@@ -294,7 +294,7 @@
icon_state = "kahluabottle"
center_of_mass = list("x"=17, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/kahlua/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/kahlua/Initialize(mapload)
. = ..()
reagents.add_reagent("kahlua", 100)
@@ -304,7 +304,7 @@
icon_state = "goldschlagerbottle"
center_of_mass = list("x"=15, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/goldschlager/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/goldschlager/Initialize(mapload)
. = ..()
reagents.add_reagent("goldschlager", 100)
@@ -314,7 +314,7 @@
icon_state = "cognacbottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/cognac/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/cognac/Initialize(mapload)
. = ..()
reagents.add_reagent("cognac", 100)
@@ -324,7 +324,7 @@
icon_state = "winebottle"
center_of_mass = list("x"=16, "y"=4)
-/obj/item/reagent_containers/food/drinks/bottle/wine/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/wine/Initialize(mapload)
. = ..()
reagents.add_reagent("wine", 100)
@@ -334,7 +334,7 @@
icon_state = "bittersbottle"
center_of_mass = list("x"=16, "y"=4)
-/obj/item/reagent_containers/food/drinks/bottle/bitters/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/bitters/Initialize(mapload)
..()
reagents.add_reagent("bitters", 100)
@@ -345,7 +345,7 @@
icon_state = "absinthebottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/absinthe/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/absinthe/Initialize(mapload)
. = ..()
reagents.add_reagent("absinthe", 100)
@@ -355,7 +355,7 @@
icon_state = "alco-green" //Placeholder.
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/melonliquor/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/melonliquor/Initialize(mapload)
. = ..()
reagents.add_reagent("melonliquor", 100)
@@ -365,7 +365,7 @@
icon_state = "alco-blue" //Placeholder.
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/bluecuracao/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/bluecuracao/Initialize(mapload)
. = ..()
reagents.add_reagent("bluecuracao", 100)
@@ -375,7 +375,7 @@
icon_state = "grenadinebottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/grenadine/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/grenadine/Initialize(mapload)
. = ..()
reagents.add_reagent("grenadine", 100)
@@ -385,7 +385,7 @@
icon_state = "colabottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/cola/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/cola/Initialize(mapload)
. = ..()
reagents.add_reagent("cola", 100)
@@ -395,7 +395,7 @@
icon_state = "space-up_bottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/space_up/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/space_up/Initialize(mapload)
..()
reagents.add_reagent("space_up", 100)
@@ -405,7 +405,7 @@
icon_state = "space_mountain_wind_bottle"
center_of_mass = list("x"=16, "y"=6)
-/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind/Initialize(mapload)
..()
reagents.add_reagent("spacemountainwind", 100)
@@ -415,7 +415,7 @@
icon_state = "pwinebottle"
center_of_mass = list("x"=16, "y"=4)
-/obj/item/reagent_containers/food/drinks/bottle/pwine/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/pwine/Initialize(mapload)
. = ..()
reagents.add_reagent("pwine", 100)
@@ -425,7 +425,7 @@
icon_state = "redeemersbrew"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew/Initialize(mapload)
. = ..()
reagents.add_reagent("unathiliquor", 100)
@@ -439,7 +439,7 @@
center_of_mass = list("x"=16, "y"=7)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/orangejuice/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/orangejuice/Initialize(mapload)
. = ..()
reagents.add_reagent("orangejuice", 100)
@@ -451,7 +451,7 @@
center_of_mass = list("x"=16, "y"=7)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/applejuice/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/applejuice/Initialize(mapload)
. = ..()
reagents.add_reagent("applejuice", 100)
@@ -463,7 +463,7 @@
center_of_mass = list("x"=16, "y"=9)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/milk/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/milk/Initialize(mapload)
. = ..()
reagents.add_reagent("milk", 100)
@@ -475,7 +475,7 @@
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/cream/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/cream/Initialize(mapload)
. = ..()
reagents.add_reagent("cream", 100)
@@ -487,7 +487,7 @@
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/tomatojuice/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/tomatojuice/Initialize(mapload)
. = ..()
reagents.add_reagent("tomatojuice", 100)
@@ -499,7 +499,7 @@
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/limejuice/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/limejuice/Initialize(mapload)
. = ..()
reagents.add_reagent("limejuice", 100)
@@ -511,7 +511,7 @@
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
-/obj/item/reagent_containers/food/drinks/bottle/lemonjuice/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/lemonjuice/Initialize(mapload)
. = ..()
reagents.add_reagent("lemonjuice", 100)
@@ -528,7 +528,7 @@
icon_state = "beer"
center_of_mass = list("x"=16, "y"=12)
-/obj/item/reagent_containers/food/drinks/bottle/small/beer/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/small/beer/Initialize(mapload)
. = ..()
reagents.add_reagent("beer", 30)
@@ -538,7 +538,7 @@
icon_state = "cider"
center_of_mass = list("x"=16, "y"=12)
-/obj/item/reagent_containers/food/drinks/bottle/small/cider/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/small/cider/Initialize(mapload)
. = ..()
reagents.add_reagent("cider", 30)
@@ -550,7 +550,7 @@
item_state = "beer"
center_of_mass = list("x"=16, "y"=10)
-/obj/item/reagent_containers/food/drinks/bottle/small/ale/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/small/ale/Initialize(mapload)
. = ..()
reagents.add_reagent("ale", 30)
@@ -560,7 +560,7 @@
icon_state = "sakebottle"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/sake/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/sake/Initialize(mapload)
. = ..()
reagents.add_reagent("sake", 100)
@@ -570,7 +570,7 @@
icon_state = "champagne"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/champagne/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/champagne/Initialize(mapload)
. = ..()
reagents.add_reagent("champagne", 100)
@@ -580,7 +580,7 @@
icon_state = "schnapps_pep"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps/Initialize(mapload)
. = ..()
reagents.add_reagent("schnapps_pep", 100)
@@ -590,7 +590,7 @@
icon_state = "schnapps_pea"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/peachschnapps/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/peachschnapps/Initialize(mapload)
. = ..()
reagents.add_reagent("schnapps_pea", 100)
@@ -600,7 +600,7 @@
icon_state = "schnapps_lem"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/lemonadeschnapps/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/lemonadeschnapps/Initialize(mapload)
. = ..()
reagents.add_reagent("schnapps_lem", 100)
@@ -610,7 +610,7 @@
icon_state = "champagne_bottle"
center_of_mass = list("x"=16, "y"=3)
-/obj/item/reagent_containers/food/drinks/bottle/champagne/jericho/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/champagne/jericho/Initialize(mapload)
. = ..()
reagents.add_reagent("champagnejericho", 100)
@@ -620,7 +620,7 @@
icon_state = "sassafras_alc"
center_of_mass = list("x"=16, "y"=12)
-/obj/item/reagent_containers/food/drinks/bottle/small/alcsassafras/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/small/alcsassafras/Initialize(mapload)
. = ..()
reagents.add_reagent("alcsassafras", 60)
@@ -630,7 +630,7 @@
icon_state = "sarsaparilla"
center_of_mass = list("x"=16, "y"=12)
-/obj/item/reagent_containers/food/drinks/bottle/small/sarsaparilla/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/small/sarsaparilla/Initialize(mapload)
. = ..()
reagents.add_reagent("sarsaparilla", 60)
@@ -640,6 +640,6 @@
icon_state = "sassafras"
center_of_mass = list("x"=16, "y"=12)
-/obj/item/reagent_containers/food/drinks/bottle/small/sassafras/Initialize()
+/obj/item/reagent_containers/food/drinks/bottle/small/sassafras/Initialize(mapload)
. = ..()
reagents.add_reagent("sassafras", 60)
diff --git a/code/modules/food/food/drinks/drinkingglass.dm b/code/modules/food/food/drinks/drinkingglass.dm
index d005cddd809..693bff8bb87 100644
--- a/code/modules/food/food/drinks/drinkingglass.dm
+++ b/code/modules/food/food/drinks/drinkingglass.dm
@@ -99,12 +99,12 @@
return
// for /obj/machinery/vending/sovietsoda
-/obj/item/reagent_containers/food/drinks/drinkingglass/soda/Initialize()
+/obj/item/reagent_containers/food/drinks/drinkingglass/soda/Initialize(mapload)
. = ..()
reagents.add_reagent("sodawater", 50)
on_reagent_change()
-/obj/item/reagent_containers/food/drinks/drinkingglass/cola/Initialize()
+/obj/item/reagent_containers/food/drinks/drinkingglass/cola/Initialize(mapload)
. = ..()
reagents.add_reagent("cola", 50)
on_reagent_change()
@@ -141,7 +141,7 @@
volume = 100
matter = list("plastic" = 2000)
-/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/Initialize()
+/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/Initialize(mapload)
. = ..()
icon_state = pick("fitness-cup_black", "fitness-cup_red", "fitness-cup_black")
@@ -169,7 +169,7 @@
/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake
name = "protein shake"
-/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake/Initialize()
+/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake/Initialize(mapload)
. = ..()
reagents.add_reagent("nutriment", 30)
reagents.add_reagent("iron", 10)
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index 942d3cbfa3b..e69de29bb2d 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -1,6119 +0,0 @@
-//Food items that are eaten normally and don't leave anything behind.
-/obj/item/reagent_containers/food/snacks
- name = "snack"
- desc = "yummy"
- icon = 'icons/obj/food.dmi'
- icon_state = null
- flags = OPENCONTAINER
- var/bitesize = 1
- var/bitecount = 0
- var/trash = null
- var/slice_path
- var/slices_num
- var/dried_type = null
- var/dry = 0
- var/survivalfood = FALSE
- var/nutriment_amt = 0
- var/list/nutriment_desc = list("food" = 1)
- var/datum/reagent/nutriment/coating/coating = null
- var/icon/flat_icon = null //Used to cache a flat icon generated from dipping in batter. This is used again to make the cooked-batter-overlay
- var/do_coating_prefix = 1 //If 0, we wont do "battered thing" or similar prefixes. Mainly for recipes that include batter but have a special name
- var/cooked_icon = null //Used for foods that are "cooked" without being made into a specific recipe or combination.
- //Generally applied during modification cooking with oven/fryer
- //Used to stop deepfried meat from looking like slightly tanned raw meat, and make it actually look cooked
- center_of_mass = list("x"=16, "y"=16)
- w_class = ITEMSIZE_SMALL
- force = 1
-
-/obj/item/reagent_containers/food/snacks/Initialize()
- . = ..()
- if(nutriment_amt)
- reagents.add_reagent("nutriment",nutriment_amt,nutriment_desc)
-
- //Placeholder for effect that trigger on eating that aren't tied to reagents.
-/obj/item/reagent_containers/food/snacks/proc/On_Consume(var/mob/M)
- if(!usr)
- usr = M
- if(!reagents.total_volume)
- M.visible_message("[M] finishes eating \the [src].","You finish eating \the [src].")
- usr.drop_from_inventory(src) //so icons update :[
-
- if(trash)
- if(ispath(trash,/obj/item))
- var/obj/item/TrashItem = new trash(usr)
- usr.put_in_hands(TrashItem)
- else if(istype(trash,/obj/item))
- usr.put_in_hands(trash)
- qdel(src)
- return
-
-/obj/item/reagent_containers/food/snacks/attack_self(mob/user as mob)
- return
-
-/obj/item/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone)
- if(reagents && !reagents.total_volume)
- to_chat(user, "None of [src] left!")
- user.drop_from_inventory(src)
- qdel(src)
- return 0
-
- if(istype(M, /mob/living/carbon))
- //TODO: replace with standard_feed_mob() call.
-
- var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25)
- if(M == user) //If you're eating it yourself
- if(istype(M,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = M
- if(!H.check_has_mouth())
- to_chat(user, "Where do you intend to put \the [src]? You don't have a mouth!")
- return
- var/obj/item/blocked = null
- if(survivalfood)
- blocked = H.check_mouth_coverage_survival()
- else
- blocked = H.check_mouth_coverage()
- if(blocked)
- to_chat(user, "\The [blocked] is in the way!")
- return
-
- // Vorestation edits in this section.
- user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things
- if (fullness <= 50)
- to_chat(M, "You hungrily chew out a piece of [src] and gobble it!")
- if (fullness > 50 && fullness <= 150)
- to_chat(M, "You hungrily begin to eat [src].")
- if (fullness > 150 && fullness <= 350)
- to_chat(M, "You take a bite of [src].")
- if (fullness > 350 && fullness <= 550)
- to_chat(M, "You unwillingly chew a bit of [src].")
- if (fullness > 550 && fullness <= 650)
- to_chat(M, "You swallow some more of the [src], causing your belly to swell out a little.")
- if (fullness > 650 && fullness <= 1000)
- to_chat(M, "You stuff yourself with the [src]. Your stomach feels very heavy.")
- if (fullness > 1000 && fullness <= 3000)
- to_chat(M, "You gluttonously swallow down the hunk of [src]. You're so gorged, it's hard to stand.")
- if (fullness > 3000 && fullness <= 5500)
- to_chat(M, "You force the piece of [src] down your throat. You can feel your stomach getting firm as it reaches its limits.")
- if (fullness > 5500 && fullness <= 6000)
- to_chat(M, "You barely glug down the bite of [src], causing undigested food to force into your intestines. You can't take much more of this!")
- if (fullness > 6000) // There has to be a limit eventually.
- to_chat(M, "Your stomach blorts and aches, prompting you to stop. You literally cannot force any more of [src] to go down your throat.")
- return 0
- /*if (fullness > (550 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
- to_chat(M, "You cannot force any more of [src] to go down your throat.")
- return 0*/
-
- else
- if(istype(M,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = M
- if(!H.check_has_mouth())
- to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!")
- return
- var/obj/item/blocked = H.check_mouth_coverage()
- if(blocked)
- to_chat(user, "\The [blocked] is in the way!")
- return
-
- if(!istype(M, /mob/living/carbon/slime)) //If you're feeding it to someone else.
-
- /*if (fullness <= (550 * (1 + M.overeatduration / 1000))) // Vorestation edit
- user.visible_message("[user] attempts to feed [M] [src].")
- else
- user.visible_message("[user] cannot force anymore of [src] down [M]'s throat.")
- return 0*/
- user.visible_message("[user] attempts to feed [M] [src].") // Vorestation edit
-
- user.setClickCooldown(user.get_attack_speed(src))
- if(!do_mob(user, M)) return
-
- //Do we really care about this
- add_attack_logs(user,M,"Fed with [src.name] containing [reagentlist(src)]", admin_notify = FALSE)
-
- user.visible_message("[user] feeds [M] [src].")
-
- else
- to_chat(user, "This creature does not seem to have a mouth!")
- return
-
- if(reagents) //Handle ingestion of the reagent.
- playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
- if(reagents.total_volume)
- if(reagents.total_volume > bitesize)
- reagents.trans_to_mob(M, bitesize, CHEM_INGEST)
- else
- reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
- bitecount++
- On_Consume(M)
- return 1
-
- return 0
-
-/obj/item/reagent_containers/food/snacks/examine(mob/user)
- if(!..(user, 1))
- return
- if (coating) // BEGIN CITADEL CHANGE
- to_chat(user, "It's coated in [coating.name]!") // END CITADEL CHANGE
- if (bitecount==0)
- return
- else if (bitecount==1)
- to_chat(user, "\The [src] was bitten by someone!")
- else if (bitecount<=3)
- to_chat(user, "\The [src] was bitten [bitecount] times!")
- else
- to_chat(user, "\The [src] was bitten multiple times!")
-
-/obj/item/reagent_containers/food/snacks/attackby(obj/item/W as obj, mob/user as mob)
- if(istype(W,/obj/item/storage))
- . = ..() // -> item/attackby()
- return
-
- // Eating with forks
- if(istype(W,/obj/item/material/kitchen/utensil))
- var/obj/item/material/kitchen/utensil/U = W
- if(U.scoop_food)
- if(!U.reagents)
- U.create_reagents(5)
-
- if (U.reagents.total_volume > 0)
- to_chat(user, "You already have something on your [U].")
- return
-
- user.visible_message( \
- "[user] scoops up some [src] with \the [U]!", \
- "You scoop up some [src] with \the [U]!" \
- )
-
- src.bitecount++
- U.overlays.Cut()
- U.loaded = "[src]"
- var/image/I = new(U.icon, "loadedfood")
- I.color = src.filling_color
- U.overlays += I
-
- reagents.trans_to_obj(U, min(reagents.total_volume,5))
-
- if (reagents.total_volume <= 0)
- qdel(src)
- return
-
- if (is_sliceable())
- //these are used to allow hiding edge items in food that is not on a table/tray
- var/can_slice_here = isturf(src.loc) && ((locate(/obj/structure/table) in src.loc) || (locate(/obj/machinery/optable) in src.loc) || (locate(/obj/item/tray) in src.loc))
- var/hide_item = !has_edge(W) || !can_slice_here
-
- if (hide_item)
- if (W.w_class >= src.w_class || is_robot_module(W))
- return
-
- to_chat(user, "You slip \the [W] inside \the [src].")
- user.drop_from_inventory(W, src)
- add_fingerprint(user)
- contents += W
- return
-
- if (has_edge(W))
- if (!can_slice_here)
- to_chat(user, "You cannot slice \the [src] here! You need a table or at least a tray to do it.")
- return
-
- var/slices_lost = 0
- if (W.w_class > 3)
- user.visible_message("\The [user] crudely slices \the [src] with [W]!", "You crudely slice \the [src] with your [W]!")
- slices_lost = rand(1,min(1,round(slices_num/2)))
- else
- user.visible_message("\The [user] slices \the [src]!", "You slice \the [src]!")
-
- var/reagents_per_slice = reagents.total_volume/slices_num
- for(var/i=1 to (slices_num-slices_lost))
- var/obj/slice = new slice_path (src.loc)
- reagents.trans_to_obj(slice, reagents_per_slice)
- qdel(src)
- return
-
-/obj/item/reagent_containers/food/snacks/proc/is_sliceable()
- return (slices_num && slice_path && slices_num > 0)
-
-/obj/item/reagent_containers/food/snacks/Destroy()
- if(contents)
- for(var/atom/movable/something in contents)
- something.dropInto(loc)
- . = ..()
-
-////////////////////////////////////////////////////////////////////////////////
-/// FOOD END
-////////////////////////////////////////////////////////////////////////////////
-/obj/item/reagent_containers/food/snacks/attack_generic(var/mob/living/user)
- if(!isanimal(user) && !isalien(user))
- return
- user.visible_message("[user] nibbles away at \the [src].","You nibble away at \the [src].")
- bitecount++
- if(reagents)
- reagents.trans_to_mob(user, bitesize, CHEM_INGEST)
- spawn(5)
- if(!src && !user.client)
- user.custom_emote(1,"[pick("burps", "cries for more", "burps twice", "looks at the area where the food was")]")
- qdel(src)
- On_Consume(user)
-
-//////////////////////////////////////////////////
-////////////////////////////////////////////Snacks
-//////////////////////////////////////////////////
-//Items in the "Snacks" subcategory are food items that people actually eat. The key points are that they are created
-// already filled with reagents and are destroyed when empty. Additionally, they make a "munching" noise when eaten.
-
-//Notes by Darem: Food in the "snacks" subtype can hold a maximum of 50 units Generally speaking, you don't want to go over 40
-// total for the item because you want to leave space for extra condiments. If you want effect besides healing, add a reagent for
-// it. Try to stick to existing reagents when possible (so if you want a stronger healing effect, just use Tricordrazine). On use
-// effect (such as the old officer eating a donut code) requires a unique reagent (unless you can figure out a better way).
-
-//The nutriment reagent and bitesize variable replace the old heal_amt and amount variables. Each unit of nutriment is equal to
-// 2 of the old heal_amt variable. Bitesize is the rate at which the reagents are consumed. So if you have 6 nutriment and a
-// bitesize of 2, then it'll take 3 bites to eat. Unlike the old system, the contained reagents are evenly spread among all
-// the bites. No more contained reagents = no more bites.
-
-//Here is an example of the new formatting for anyone who wants to add more food items.
-///obj/item/reagent_containers/food/snacks/xenoburger //Identification path for the object.
-// name = "Xenoburger" //Name that displays in the UI.
-// desc = "Smells caustic. Tastes like heresy." //Duh
-// icon_state = "xburger" //Refers to an icon in food.dmi
-//
-//obj/item/reagent_containers/food/snacks/xenoburger/Initialize()//Don't mess with this. We don't relative path here.
-// . = ..() //Same here.
-// reagents.add_reagent("xenomicrobes", 10) //This is what is in the food item. you may copy/paste
-// reagents.add_reagent("nutriment", 2) // this line of code for all the contents.
-// bitesize = 3 //This is the amount each bite consumes.
-
-
-
-
-/obj/item/reagent_containers/food/snacks/aesirsalad
- name = "Aesir salad"
- desc = "Probably too incredible for mortal men to fully enjoy."
- icon_state = "aesirsalad"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#468C00"
- nutriment_amt = 8
- nutriment_desc = list("apples" = 3,"salad" = 5)
-
-/obj/item/reagent_containers/food/snacks/aesirsalad/Initialize()
- . = ..()
- reagents.add_reagent("doctorsdelight", 8)
- reagents.add_reagent("tricordrazine", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/candy // Buff 4 >> 8
- name = "candy"
- desc = "Nougat, love it or hate it."
- icon_state = "candy"
- trash = /obj/item/trash/candy
- filling_color = "#7D5F46"
- nutriment_amt = 3
- nutriment_desc = list("candy" = 1)
-
-/obj/item/reagent_containers/food/snacks/candy/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 4)
- reagents.add_reagent("protein", 1)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/candy/proteinbar // Buff 17 >> 21
- name = "protein bar"
- desc = "SwoleMAX brand protein bars, guaranteed to get you feeling perfectly overconfident."
- icon_state = "proteinbar"
- trash = /obj/item/trash/candy/proteinbar
- nutriment_amt = 7
- nutriment_desc = list("candy" = 1, "protein" = 8)
-
-/obj/item/reagent_containers/food/snacks/candy/proteinbar/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- reagents.add_reagent("sugar", 4)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/candy/donor
- name = "Donor Candy"
- desc = "A little treat for blood donors."
- trash = /obj/item/trash/candy
- nutriment_amt = 9
- nutriment_desc = list("candy" = 10)
-
-/obj/item/reagent_containers/food/snacks/candy/donor/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 3)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/candy_corn
- name = "candy corn"
- desc = "It's a handful of candy corn. Cannot be stored in a detective's hat, alas."
- icon_state = "candy_corn"
- filling_color = "#FFFCB0"
- nutriment_amt = 4
- nutriment_desc = list("candy corn" = 4)
-
-/obj/item/reagent_containers/food/snacks/candy_corn/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/chips // Buff 3 >> 5
- name = "chips"
- desc = "Commander Riker's What-The-Crisps"
- icon_state = "chips"
- trash = /obj/item/trash/chips
- filling_color = "#E8C31E"
- nutriment_amt = 5
- nutriment_desc = list("salt" = 1, "chips" = 2)
-
-/obj/item/reagent_containers/food/snacks/chips/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cookie
- name = "cookie"
- desc = "COOKIE!!!"
- icon_state = "COOKIE!!!"
- filling_color = "#DBC94F"
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 3, "cookie" = 2)
-
-/obj/item/reagent_containers/food/snacks/cookie/Initialize()
- . = ..()
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/dtreat
- name = "pet treat"
- desc = "TREAT?!!?!"
- icon_state = "TREAT!!!"
- filling_color = "#DBC94F"
- nutriment_amt = 5
- nutriment_desc = list("sugar" = 3, "protein" = 2)
- slot_flags = SLOT_MASK
- sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/masks_vr.dmi', SPECIES_VOX = 'icons/mob/species/vox/masks.dmi', SPECIES_TAJ = 'icons/mob/species/tajaran/mask_vr.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/mask_vr.dmi', SPECIES_SERGAL = 'icons/mob/species/sergal/mask_vr.dmi', SPECIES_NEVREAN = 'icons/mob/species/nevrean/mask_vr.dmi', SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/mask_vr.dmi', SPECIES_ZORREN_FLAT = 'icons/mob/species/fennec/mask_vr.dmi', SPECIES_AKULA = 'icons/mob/species/akula/mask_vr.dmi', SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/mask.dmi', SPECIES_XENOCHIMERA = 'icons/mob/species/tajaran/mask_vr.dmi')
-
-/obj/item/reagent_containers/food/snacks/dtreat/Initialize()
- . = ..()
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/chocolatebar // Buff 6 >> 8
- name = "Chocolate Bar"
- desc = "Such sweet, fattening food."
- icon_state = "chocolatebar"
- filling_color = "#7D5F46"
- nutriment_amt = 4
- nutriment_desc = list("chocolate" = 5)
-
-/obj/item/reagent_containers/food/snacks/chocolatebar/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 4)
- reagents.add_reagent("coco", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/chocolatepiece
- name = "chocolate piece"
- desc = "A luscious milk chocolate piece filled with gooey caramel."
- icon_state = "chocolatepiece"
- filling_color = "#7D5F46"
- nutriment_amt = 1
- nutriment_desc = list("chocolate" = 3, "caramel" = 2, "lusciousness" = 1)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/chocolatepiece/white
- name = "white chocolate piece"
- desc = "A creamy white chocolate piece drizzled in milk chocolate."
- icon_state = "chocolatepiece_white"
- filling_color = "#E2DAD3"
- nutriment_desc = list("white chocolate" = 3, "creaminess" = 1)
-
-/obj/item/reagent_containers/food/snacks/chocolatepiece/truffle
- name = "chocolate truffle"
- desc = "A bite-sized milk chocolate truffle that could buy anyone's love."
- icon_state = "chocolatepiece_truffle"
- nutriment_desc = list("chocolate" = 3, "undying devotion" = 3)
-
-/obj/item/reagent_containers/food/snacks/chocolateegg
- name = "Chocolate Egg"
- desc = "How eggcellent."
- icon_state = "chocolateegg"
- filling_color = "#7D5F46"
- nutriment_amt = 3
- nutriment_desc = list("chocolate" = 5)
-
-/obj/item/reagent_containers/food/snacks/chocolateegg/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 2)
- reagents.add_reagent("coco", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/donut
- name = "donut"
- desc = "Goes great with Robust Coffee."
- icon_state = "donut1"
- filling_color = "#D9C386"
- var/overlay_state = "box-donut1"
- nutriment_desc = list("sweetness", "donut")
-
-/obj/item/reagent_containers/food/snacks/donut/normal
- name = "donut"
- desc = "Goes great with Robust Coffee."
- icon_state = "donut1"
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/donut/normal/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sprinkles", 1)
- src.bitesize = 3
- if(prob(30))
- src.icon_state = "donut2"
- src.overlay_state = "box-donut2"
- src.name = "frosted donut"
- reagents.add_reagent("sprinkles", 2)
-
-/obj/item/reagent_containers/food/snacks/donut/chaos
- name = "Chaos Donut"
- desc = "Like life, it never quite tastes the same."
- icon_state = "donut1"
- filling_color = "#ED11E6"
- nutriment_amt = 2
-
-/obj/item/reagent_containers/food/snacks/donut/chaos/Initialize()
- . = ..()
- reagents.add_reagent("sprinkles", 1)
- bitesize = 10
- var/chaosselect = pick(1,2,3,4,5,6,7,8,9,10)
- switch(chaosselect)
- if(1)
- reagents.add_reagent("nutriment", 3)
- if(2)
- reagents.add_reagent("capsaicin", 3)
- if(3)
- reagents.add_reagent("frostoil", 3)
- if(4)
- reagents.add_reagent("sprinkles", 3)
- if(5)
- reagents.add_reagent("phoron", 3)
- if(6)
- reagents.add_reagent("coco", 3)
- if(7)
- reagents.add_reagent("slimejelly", 3)
- if(8)
- reagents.add_reagent("banana", 3)
- if(9)
- reagents.add_reagent("berryjuice", 3)
- if(10)
- reagents.add_reagent("tricordrazine", 3)
- if(prob(30))
- src.icon_state = "donut2"
- src.overlay_state = "box-donut2"
- src.name = "Frosted Chaos Donut"
- reagents.add_reagent("sprinkles", 2)
-
-/obj/item/reagent_containers/food/snacks/donut/jelly
- name = "Jelly Donut"
- desc = "You jelly?"
- icon_state = "jdonut1"
- filling_color = "#ED1169"
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/donut/jelly/Initialize()
- . = ..()
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("berryjuice", 5)
- bitesize = 5
- if(prob(30))
- src.icon_state = "jdonut2"
- src.overlay_state = "box-donut2"
- src.name = "Frosted Jelly Donut"
- reagents.add_reagent("sprinkles", 2)
-
-/obj/item/reagent_containers/food/snacks/donut/slimejelly
- name = "Jelly Donut"
- desc = "You jelly?"
- icon_state = "jdonut1"
- filling_color = "#ED1169"
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/donut/slimejelly/Initialize()
- . = ..()
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("slimejelly", 5)
- bitesize = 5
- if(prob(30))
- src.icon_state = "jdonut2"
- src.overlay_state = "box-donut2"
- src.name = "Frosted Jelly Donut"
- reagents.add_reagent("sprinkles", 2)
-
-/obj/item/reagent_containers/food/snacks/donut/cherryjelly
- name = "Jelly Donut"
- desc = "You jelly?"
- icon_state = "jdonut1"
- filling_color = "#ED1169"
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/donut/cherryjelly/Initialize()
- . = ..()
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("cherryjelly", 5)
- bitesize = 5
- if(prob(30))
- src.icon_state = "jdonut2"
- src.overlay_state = "box-donut2"
- src.name = "Frosted Jelly Donut"
- reagents.add_reagent("sprinkles", 2)
-
-/obj/item/reagent_containers/food/snacks/egg
- name = "egg"
- desc = "An egg!"
- icon_state = "egg"
- filling_color = "#FDFFD1"
- volume = 10
-
-/obj/item/reagent_containers/food/snacks/egg/Initialize()
- . = ..()
- reagents.add_reagent("egg", 3)
-
-/obj/item/reagent_containers/food/snacks/egg/afterattack(obj/O as obj, mob/user as mob, proximity)
- if(istype(O,/obj/machinery/microwave))
- return ..()
- if(!(proximity && O.is_open_container()))
- return
- to_chat(user, "You crack \the [src] into \the [O].")
- reagents.trans_to(O, reagents.total_volume)
- user.drop_from_inventory(src)
- qdel(src)
-
-/obj/item/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
- . = ..()
- new/obj/effect/decal/cleanable/egg_smudge(src.loc)
- src.reagents.splash(hit_atom, reagents.total_volume)
- src.visible_message("[src.name] has been squashed.","You hear a smack.")
- qdel(src)
-
-/obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W as obj, mob/user as mob)
- if(istype( W, /obj/item/pen/crayon ))
- var/obj/item/pen/crayon/C = W
- var/clr = C.colourName
-
- if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))
- to_chat(usr, "The egg refuses to take on this color!")
- return
-
- to_chat(usr, "You color \the [src] [clr]")
- icon_state = "egg-[clr]"
- else
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/egg/blue
- icon_state = "egg-blue"
-
-/obj/item/reagent_containers/food/snacks/egg/green
- icon_state = "egg-green"
-
-/obj/item/reagent_containers/food/snacks/egg/mime
- icon_state = "egg-mime"
-
-/obj/item/reagent_containers/food/snacks/egg/orange
- icon_state = "egg-orange"
-
-/obj/item/reagent_containers/food/snacks/egg/purple
- icon_state = "egg-purple"
-
-/obj/item/reagent_containers/food/snacks/egg/rainbow
- icon_state = "egg-rainbow"
-
-/obj/item/reagent_containers/food/snacks/egg/red
- icon_state = "egg-red"
-
-/obj/item/reagent_containers/food/snacks/egg/yellow
- icon_state = "egg-yellow"
-
-/obj/item/reagent_containers/food/snacks/friedegg // Buff 3 >> 6
- name = "Fried egg"
- desc = "A fried egg, with a touch of salt and pepper."
- icon_state = "friedegg"
- filling_color = "#FFDF78"
-
-/obj/item/reagent_containers/food/snacks/friedegg/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("blackpepper", 1)
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/boiledegg // Buff 2 >> 5
- name = "Boiled egg"
- desc = "A hard boiled egg."
- icon_state = "egg"
- filling_color = "#FFFFFF"
-
-/obj/item/reagent_containers/food/snacks/boiledegg/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/organ
- name = "organ"
- desc = "It's good for you."
- icon = 'icons/obj/surgery.dmi'
- icon_state = "appendix"
- filling_color = "#E00D34"
-
-/obj/item/reagent_containers/food/snacks/organ/Initialize()
- . = ..()
- reagents.add_reagent("protein", rand(3,5))
- reagents.add_reagent("toxin", rand(1,3))
- src.bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/tofu // Buff 3 >> 6
- name = "Tofu"
- icon_state = "tofu"
- desc = "We all love tofu."
- filling_color = "#FFFEE0"
- nutriment_amt = 6
- nutriment_desc = list("tofu" = 3, "goeyness" = 3)
-
-/obj/item/reagent_containers/food/snacks/tofu/Initialize()
- . = ..()
- src.bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/tofurkey
- name = "Tofurkey"
- desc = "A fake turkey made from tofu."
- icon_state = "tofurkey"
- filling_color = "#FFFEE0"
- nutriment_amt = 12
- nutriment_desc = list("turkey" = 3, "tofu" = 5, "goeyness" = 4)
-
-/obj/item/reagent_containers/food/snacks/tofurkey/Initialize()
- . = ..()
- reagents.add_reagent("stoxin", 3)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/stuffing // Buff 3 >> 5
- name = "Stuffing"
- desc = "Moist, peppery breadcrumbs for filling the body cavities of dead birds. Dig in!"
- icon_state = "stuffing"
- filling_color = "#C9AC83"
- nutriment_amt = 5
- nutriment_desc = list("dryness" = 2, "bread" = 2)
-
-/obj/item/reagent_containers/food/snacks/stuffing/Initialize()
- . = ..()
- bitesize = 2 // Was 1
-
-/obj/item/reagent_containers/food/snacks/carpmeat
- name = "fillet"
- desc = "A fillet of carp meat"
- icon_state = "fishfillet"
- filling_color = "#FFDEFE"
- center_of_mass = list("x"=17, "y"=13)
-
- var/toxin_type = "carpotoxin"
- var/toxin_amount = 3
-
-/obj/item/reagent_containers/food/snacks/carpmeat/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent(toxin_type, toxin_amount)
- src.bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/carpmeat/sif
- desc = "A fillet of sivian fish meat."
- filling_color = "#2c2cff"
- color = "#2c2cff"
- toxin_type = "neurotoxic_protein"
- toxin_amount = 2
-
-/obj/item/reagent_containers/food/snacks/carpmeat/sif/murkfish
- toxin_type = "murk_protein"
-
-/obj/item/reagent_containers/food/snacks/carpmeat/fish // Removed toxin and added a bit more oomph
- desc = "A fillet of fish meat."
- nutriment_amt = 2
-
-/obj/item/reagent_containers/food/snacks/carpmeat/fish/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/fishfingers
- name = "Fish Fingers"
- desc = "A finger of fish."
- icon_state = "fishfingers"
- filling_color = "#FFDEFE"
-
-/obj/item/reagent_containers/food/snacks/fishfingers/Initialize()
- . = ..()
- reagents.add_reagent("protein", 9)
- reagents.add_reagent("carpotoxin", 3)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/hugemushroomslice // Buff 3 >> 5
- name = "huge mushroom slice"
- desc = "A slice from a huge mushroom."
- icon_state = "hugemushroomslice"
- filling_color = "#E0D7C5"
- nutriment_amt = 5
- nutriment_desc = list("raw" = 2, "mushroom" = 2)
-
-/obj/item/reagent_containers/food/snacks/hugemushroomslice/Initialize()
- . = ..()
- reagents.add_reagent("psilocybin", 3)
- src.bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/tomatomeat
- name = "tomato slice"
- desc = "A slice from a huge tomato"
- icon_state = "tomatomeat"
- filling_color = "#DB0000"
- nutriment_amt = 3
- nutriment_desc = list("raw" = 2, "tomato" = 3)
-
-/obj/item/reagent_containers/food/snacks/tomatomeat/Initialize()
- . = ..()
- src.bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/bearmeat // Buff 12 >> 17
- name = "bear meat"
- desc = "A very manly slab of meat."
- icon_state = "bearmeat"
- filling_color = "#DB0000"
-
-/obj/item/reagent_containers/food/snacks/bearmeat/Initialize()
- . = ..()
- reagents.add_reagent("protein", 17)
- reagents.add_reagent("hyperzine", 5)
- src.bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/xenomeat // Buff 6 >> 10
- name = "xenomeat"
- desc = "A slab of green meat. Smells like acid."
- icon_state = "xenomeat"
- filling_color = "#43DE18"
-
-/obj/item/reagent_containers/food/snacks/xenomeat/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- reagents.add_reagent("pacid",6)
- src.bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat // Substitute for recipes requiring xeno meat.
- name = "spider meat"
- desc = "A slab of green meat."
- icon_state = "xenomeat"
- filling_color = "#43DE18"
-
-/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize()
- . = ..()
- reagents.add_reagent("spidertoxin",6)
- reagents.remove_reagent("pacid",6)
- src.bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/meatball // Buff 3 >> 4
- name = "meatball"
- desc = "A great meal all round."
- icon_state = "meatball"
- filling_color = "#DB0000"
-
-/obj/item/reagent_containers/food/snacks/meatball/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/sausage // Buff 6 >> 9
- name = "Sausage"
- desc = "A piece of mixed, long meat."
- icon_state = "sausage"
- filling_color = "#DB0000"
-
-/obj/item/reagent_containers/food/snacks/sausage/Initialize()
- . = ..()
- reagents.add_reagent("protein", 9)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/donkpocket
- name = "Donk-pocket"
- desc = "The food of choice for the seasoned traitor."
- icon_state = "donkpocket"
- filling_color = "#DEDEAB"
- var/warm
- var/list/heated_reagents
-
-/obj/item/reagent_containers/food/snacks/donkpocket/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("protein", 2)
-
- warm = 0
- heated_reagents = list("tricordrazine" = 5)
-
-/obj/item/reagent_containers/food/snacks/donkpocket/proc/heat()
- warm = 1
- for(var/reagent in heated_reagents)
- reagents.add_reagent(reagent, heated_reagents[reagent])
- bitesize = 6
- name = "Warm " + name
- cooltime()
-
-/obj/item/reagent_containers/food/snacks/donkpocket/proc/cooltime()
- if (src.warm)
- spawn(4200)
- src.warm = 0
- for(var/reagent in heated_reagents)
- src.reagents.del_reagent(reagent)
- src.name = initial(name)
- return
-
-/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket
- name = "\improper Sin-pocket"
- desc = "The food of choice for the veteran. Do NOT overconsume."
- filling_color = "#6D6D00"
- heated_reagents = list("doctorsdelight" = 5, "hyperzine" = 0.75, "synaptizine" = 0.25)
- var/has_been_heated = 0
-
-/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user)
- if(has_been_heated)
- to_chat(user, "The heating chemicals have already been spent.")
- return
- has_been_heated = 1
- user.visible_message("[user] crushes \the [src] package.", "You crush \the [src] package and feel a comfortable heat build up.")
- spawn(200)
- to_chat(user, "You think \the [src] is ready to eat about now.")
- heat()
-
-/obj/item/reagent_containers/food/snacks/brainburger
- name = "brainburger"
- desc = "A strange looking burger. It looks almost sentient."
- icon_state = "brainburger"
- filling_color = "#F2B6EA"
-
-/obj/item/reagent_containers/food/snacks/brainburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("alkysine", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/ghostburger
- name = "Ghost Burger"
- desc = "Spooky! It doesn't look very filling."
- icon_state = "ghostburger"
- filling_color = "#FFF2FF"
- nutriment_desc = list("buns" = 3, "spookiness" = 3)
- nutriment_amt = 2
-
-/obj/item/reagent_containers/food/snacks/ghostburger/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/human
- var/hname = ""
- var/job = null
- filling_color = "#D63C3C"
-
-/obj/item/reagent_containers/food/snacks/human/burger
- name = "-burger"
- desc = "A bloody burger."
- icon_state = "hburger"
-
-/obj/item/reagent_containers/food/snacks/human/burger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cheeseburger // Buff 4 >> 19
- name = "cheeseburger"
- desc = "The cheese adds a good flavor."
- icon_state = "cheeseburger"
- nutriment_amt = 10
- nutriment_desc = list("cheese" = 2, "bun" = 2)
-
-/obj/item/reagent_containers/food/snacks/cheeseburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/monkeyburger // Buff 6 >> 15
- name = "burger"
- desc = "The cornerstone of every nutritious breakfast."
- icon_state = "hburger"
- filling_color = "#D63C3C"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2)
-
-/obj/item/reagent_containers/food/snacks/monkeyburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/fishburger // Buff 6 >> 15
- name = "Fillet -o- Carp Sandwich"
- desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp."
- icon_state = "fishburger"
- filling_color = "#FFDEFE"
-
-/obj/item/reagent_containers/food/snacks/fishburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 15)
- reagents.add_reagent("carpotoxin", 3)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/tofuburger // Buff 6 >> 10
- name = "Tofu Burger"
- desc = "What.. is that meat?"
- icon_state = "tofuburger"
- filling_color = "#FFFEE0"
- nutriment_amt = 10
- nutriment_desc = list("bun" = 2, "pseudo-soy meat" = 3)
-
-/obj/item/reagent_containers/food/snacks/tofuburger/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/roburger
- name = "roburger"
- desc = "The lettuce is the only organic component. Beep."
- icon_state = "roburger"
- filling_color = "#CCCCCC"
- nutriment_amt = 2
- nutriment_desc = list("bun" = 2, "metal" = 3)
-
-/obj/item/reagent_containers/food/snacks/roburger/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/roburgerbig
- name = "roburger"
- desc = "This massive patty looks like poison. Beep."
- icon_state = "roburger"
- filling_color = "#CCCCCC"
- volume = 100
-
-/obj/item/reagent_containers/food/snacks/roburgerbig/Initialize()
- . = ..()
- bitesize = 0.1
-
-/obj/item/reagent_containers/food/snacks/xenoburger
- name = "xenoburger"
- desc = "Smells caustic. Tastes like heresy."
- icon_state = "xburger"
- filling_color = "#43DE18"
-
-/obj/item/reagent_containers/food/snacks/xenoburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/clownburger
- name = "Clown Burger"
- desc = "This tastes funny..."
- icon_state = "clownburger"
- filling_color = "#FF00FF"
- nutriment_amt = 6
- nutriment_desc = list("bun" = 2, "clown shoe" = 3)
-
-/obj/item/reagent_containers/food/snacks/clownburger/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/mimeburger
- name = "Mime Burger"
- desc = "Its taste defies language."
- icon_state = "mimeburger"
- filling_color = "#FFFFFF"
- nutriment_amt = 6
- nutriment_desc = list("bun" = 2, "face paint" = 3)
-
-/obj/item/reagent_containers/food/snacks/mimeburger/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/omelette // Buff 8 >> 14
- name = "Omelette Du Fromage"
- desc = "That's all you can say!"
- icon_state = "omelette"
- nutriment_amt = 4
- trash = /obj/item/trash/plate
- filling_color = "#FFF9A8"
-
-/obj/item/reagent_containers/food/snacks/omelette/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/muffin
- name = "Muffin"
- desc = "A delicious and spongy little cake"
- icon_state = "muffin"
- filling_color = "#E0CF9B"
- nutriment_amt = 6
- nutriment_desc = list("sweetness" = 3, "muffin" = 3)
-
-/obj/item/reagent_containers/food/snacks/muffin/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/pie // Buff 9 >> 12
- name = "Banana Cream Pie"
- desc = "Just like back home, on clown planet! HONK!"
- icon_state = "pie"
- trash = /obj/item/trash/plate
- filling_color = "#FBFFB8"
- nutriment_amt = 7
- nutriment_desc = list("pie" = 3, "cream" = 2)
-
-/obj/item/reagent_containers/food/snacks/pie/Initialize()
- . = ..()
- reagents.add_reagent("banana",5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom)
- . = ..()
- new/obj/effect/decal/cleanable/pie_smudge(src.loc)
- src.visible_message("\The [src.name] splats.","You hear a splat.")
- qdel(src)
-
-/obj/item/reagent_containers/food/snacks/berryclafoutis
- name = "Berry Clafoutis"
- desc = "No black birds, this is a good sign."
- icon_state = "berryclafoutis"
- trash = /obj/item/trash/plate
- nutriment_amt = 4
- nutriment_desc = list("sweetness" = 2, "pie" = 3)
-
-/obj/item/reagent_containers/food/snacks/berryclafoutis/Initialize()
- . = ..()
- reagents.add_reagent("berryjuice", 5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/waffles // Buff 8 >> 10
- name = "waffles"
- desc = "Mmm, waffles"
- icon_state = "waffles"
- trash = /obj/item/trash/waffles
- filling_color = "#E6DEB5"
- nutriment_amt = 10
- nutriment_desc = list("waffle" = 10)
-
-/obj/item/reagent_containers/food/snacks/waffles/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/eggplantparm // Buff 6 >> 9
- name = "Eggplant Parmigiana"
- desc = "The only good recipe for eggplant."
- icon_state = "eggplantparm"
- trash = /obj/item/trash/plate
- filling_color = "#4D2F5E"
- nutriment_amt = 9
- nutriment_desc = list("cheese" = 3, "eggplant" = 3)
-
-/obj/item/reagent_containers/food/snacks/eggplantparm/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/soylentgreen
- name = "Soylent Green"
- desc = "Not made of people. Honest." //Totally people.
- icon_state = "soylent_green"
- trash = /obj/item/trash/waffles
- filling_color = "#B8E6B5"
-
-/obj/item/reagent_containers/food/snacks/soylentgreen/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/soylenviridians
- name = "Soylen Virdians"
- desc = "Not made of people. Honest." //Actually honest for once.
- icon_state = "soylent_yellow"
- trash = /obj/item/trash/waffles
- filling_color = "#E6FA61"
- nutriment_amt = 10
- nutriment_desc = list("some sort of protein" = 10) //seasoned VERY well.
-
-/obj/item/reagent_containers/food/snacks/soylenviridians/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meatpie // Buff 10 >> 15
- name = "Meat-pie"
- icon_state = "meatpie"
- desc = "An old barber recipe, very delicious!"
- nutriment_amt = 3
- trash = /obj/item/trash/plate
- filling_color = "#948051"
-
-/obj/item/reagent_containers/food/snacks/meatpie/Initialize()
- . = ..()
- reagents.add_reagent("protein", 12)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/tofupie // Buff 10 >> 13
- name = "Tofu-pie"
- icon_state = "meatpie"
- desc = "A delicious tofu pie."
- trash = /obj/item/trash/plate
- filling_color = "#FFFEE0"
- nutriment_amt = 13
- nutriment_desc = list("tofu" = 4, "pie" = 9)
-
-/obj/item/reagent_containers/food/snacks/tofupie/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/amanita_pie
- name = "amanita pie"
- desc = "Sweet and tasty poison pie."
- icon_state = "amanita_pie"
- filling_color = "#FFCCCC"
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 3, "mushroom" = 3, "pie" = 2)
-
-/obj/item/reagent_containers/food/snacks/amanita_pie/Initialize()
- . = ..()
- reagents.add_reagent("amatoxin", 3)
- reagents.add_reagent("psilocybin", 1)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/plump_pie // Buff 8 >> 12
- name = "plump pie"
- desc = "I bet you love stuff made out of plump helmets!"
- icon_state = "plump_pie"
- filling_color = "#B8279B"
- nutriment_amt = 12
- nutriment_desc = list("heartiness" = 3, "mushroom" = 5, "pie" = 4)
-
-/obj/item/reagent_containers/food/snacks/plump_pie/Initialize()
- . = ..()
- if(prob(10))
- name = "exceptional plump pie"
- desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!"
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("tricordrazine", 5)
- bitesize = 2
- else
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/xemeatpie
- name = "Xeno-pie"
- icon_state = "xenomeatpie"
- desc = "A delicious meatpie. Probably heretical."
- trash = /obj/item/trash/plate
- filling_color = "#43DE18"
-
-/obj/item/reagent_containers/food/snacks/xemeatpie/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/wingfangchu
- name = "Wing Fang Chu"
- desc = "A savory dish of alien wing wang in soy."
- icon_state = "wingfangchu"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#43DE18"
-
-/obj/item/reagent_containers/food/snacks/wingfangchu/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/human/kabob
- name = "-kabob"
- icon_state = "kabob"
- desc = "A human meat, on a stick."
- trash = /obj/item/stack/rods
- filling_color = "#A85340"
-
-/obj/item/reagent_containers/food/snacks/human/kabob/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/monkeykabob
- name = "Meat-kabob"
- icon_state = "kabob"
- desc = "Delicious meat, on a stick."
- trash = /obj/item/stack/rods
- filling_color = "#A85340"
-
-/obj/item/reagent_containers/food/snacks/monkeykabob/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/tofukabob
- name = "Tofu-kabob"
- icon_state = "kabob"
- desc = "Vegan meat, on a stick."
- trash = /obj/item/stack/rods
- filling_color = "#FFFEE0"
- nutriment_amt = 8
- nutriment_desc = list("tofu" = 3, "metal" = 1)
-
-/obj/item/reagent_containers/food/snacks/tofukabob/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cubancarp // Buff 6 >> 12
- name = "Cuban Carp"
- desc = "A sandwich that burns your tongue and then leaves it numb!"
- icon_state = "cubancarp"
- trash = /obj/item/trash/plate
- filling_color = "#E9ADFF"
- nutriment_amt = 3
- nutriment_desc = list("toasted bread" = 3)
-
-/obj/item/reagent_containers/food/snacks/cubancarp/Initialize()
- . = ..()
- reagents.add_reagent("protein", 9)
- reagents.add_reagent("carpotoxin", 3)
- reagents.add_reagent("capsaicin", 3)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/popcorn
- name = "Popcorn"
- desc = "Now let's find some cinema."
- icon_state = "popcorn"
- trash = /obj/item/trash/popcorn
- var/unpopped = 0
- filling_color = "#FFFAD4"
- nutriment_amt = 2
- nutriment_desc = list("popcorn" = 3)
-
-
-/obj/item/reagent_containers/food/snacks/popcorn/Initialize()
- . = ..()
- unpopped = rand(1,10)
- bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0
-
-/obj/item/reagent_containers/food/snacks/popcorn/On_Consume()
- if(prob(unpopped)) //lol ...what's the point?
- to_chat(usr, "You bite down on an un-popped kernel!")
- unpopped = max(0, unpopped-1)
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/sosjerky // Buff 4 >> 8
- name = "Scaredy's Private Reserve Beef Jerky"
- icon_state = "sosjerky"
- desc = "Beef jerky made from the finest space cows."
- trash = /obj/item/trash/sosjerky
- filling_color = "#631212"
-
-/obj/item/reagent_containers/food/snacks/sosjerky/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/no_raisin // Buff 6 >> 12
- name = "4no Raisins"
- icon_state = "4no_raisins"
- desc = "Best raisins in the universe. Not sure why."
- trash = /obj/item/trash/raisins
- filling_color = "#343834"
- nutriment_amt = 12
- nutriment_desc = list("dried raisins" = 6)
-
-/obj/item/reagent_containers/food/snacks/no_raisin/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/spacetwinkie // Buff 4 >> 6
- name = "Space Twinkie"
- icon_state = "space_twinkie"
- desc = "Guaranteed to survive longer then you will."
- filling_color = "#FFE591"
-
-/obj/item/reagent_containers/food/snacks/spacetwinkie/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cheesiehonkers // Buff 4 >> 6
- name = "Cheesie Honkers"
- icon_state = "cheesie_honkers"
- desc = "Bite sized cheesie snacks that will honk all over your mouth"
- trash = /obj/item/trash/cheesie
- filling_color = "#FFA305"
- nutriment_amt = 6
- nutriment_desc = list("cheese" = 5, "chips" = 2)
-
-/obj/item/reagent_containers/food/snacks/cheesiehonkers/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/syndicake // Buff 4 >> 5 (Contains Dr.'s Delight already
- name = "Syndi-Cakes"
- icon_state = "syndi_cakes"
- desc = "An extremely moist snack cake that tastes just as good after being nuked."
- filling_color = "#FF5D05"
- trash = /obj/item/trash/syndi_cakes
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 3, "cake" = 1)
-
-/obj/item/reagent_containers/food/snacks/syndicake/Initialize()
- . = ..()
- reagents.add_reagent("doctorsdelight", 5)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/loadedbakedpotato // Buff 6 >> 10
- name = "Loaded Baked Potato"
- desc = "Totally baked."
- icon_state = "loadedbakedpotato"
- filling_color = "#9C7A68"
- nutriment_amt = 4
- nutriment_desc = list("baked potato" = 4)
-
-/obj/item/reagent_containers/food/snacks/loadedbakedpotato/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/fries // Buff 4 >> 6
- name = "Space Fries"
- desc = "AKA: French Fries, Freedom Fries, etc."
- icon_state = "fries"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 6
- nutriment_desc = list("fresh fries" = 4)
-
-/obj/item/reagent_containers/food/snacks/fries/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/mashedpotato // Buff 4 >> 7
- name = "Mashed Potato"
- desc = "Pillowy mounds of mashed potato."
- icon_state = "mashedpotato"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 7
- nutriment_desc = list("fluffy mashed potatoes" = 4)
-
-/obj/item/reagent_containers/food/snacks/mashedpotato/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/bangersandmash // Buff 7 >> 12
- name = "Bangers and Mash"
- desc = "An English treat."
- icon_state = "bangersandmash"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- center_of_mass = list("x"=16, "y"=11)
- nutriment_amt = 5
- nutriment_desc = list("fluffy potato" = 3, "sausage" = 2)
-
-/obj/item/reagent_containers/food/snacks/bangersandmash/Initialize()
- . = ..()
- reagents.add_reagent("protein", 7)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/cheesymash // Buff 7 >> 12
- name = "Cheesy Mashed Potato"
- desc = "The only thing that could make mash better."
- icon_state = "cheesymash"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- center_of_mass = list("x"=16, "y"=11)
- nutriment_amt = 7
- nutriment_desc = list("cheesy potato" = 4)
-
-/obj/item/reagent_containers/food/snacks/cheesymash/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/blackpudding
- name = "Black Pudding"
- desc = "This doesn't seem like a pudding at all."
- icon_state = "blackpudding"
- filling_color = "#FF0000"
- center_of_mass = list("x"=16, "y"=7)
-
-/obj/item/reagent_containers/food/snacks/blackpudding/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- reagents.add_reagent("blood", 5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/soydope
- name = "Soy Dope"
- desc = "Dope from a soy."
- icon_state = "soydope"
- trash = /obj/item/trash/plate
- filling_color = "#C4BF76"
- nutriment_amt = 2
- nutriment_desc = list("slime" = 2, "soy" = 2)
-
-/obj/item/reagent_containers/food/snacks/soydope/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/spagetti // Buff 1 >> 2
- name = "Spaghetti"
- desc = "A bundle of raw spaghetti."
- icon_state = "spagetti"
- filling_color = "#EDDD00"
- nutriment_amt = 2
- nutriment_desc = list("noodles" = 2)
-
-/obj/item/reagent_containers/food/snacks/spagetti/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cheesyfries // Buff 6 >> 8
- name = "Cheesy Fries"
- desc = "Fries. Covered in cheese. Duh."
- icon_state = "cheesyfries"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 4
- nutriment_desc = list("fresh fries" = 3, "cheese" = 3)
-
-/obj/item/reagent_containers/food/snacks/cheesyfries/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/fortunecookie
- name = "Fortune cookie"
- desc = "A true prophecy in each cookie!"
- icon_state = "fortune_cookie"
- filling_color = "#E8E79E"
- nutriment_amt = 3
- nutriment_desc = list("fortune cookie" = 2)
-
-/obj/item/reagent_containers/food/snacks/fortunecookie/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/badrecipe
- name = "Burned mess"
- desc = "Someone should be demoted from chef for this."
- icon_state = "badrecipe"
- filling_color = "#211F02"
-
-/obj/item/reagent_containers/food/snacks/badrecipe/Initialize()
- . = ..()
- reagents.add_reagent("toxin", 1)
- reagents.add_reagent("carbon", 3)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meatsteak // Buff 4 >> 9
- name = "Meat steak"
- desc = "A piece of hot spicy meat."
- icon_state = "meatstake"
- trash = /obj/item/trash/plate
- filling_color = "#7A3D11"
-
-/obj/item/reagent_containers/food/snacks/meatsteak/Initialize()
- . = ..()
- reagents.add_reagent("protein", 9)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("blackpepper", 1)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/spacylibertyduff // Buff 6 >> 8
- name = "Spacy Liberty Duff"
- desc = "Jello gelatin, from Alfred Hubbard's cookbook"
- icon_state = "spacylibertyduff"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#42B873"
- nutriment_amt = 8
- nutriment_desc = list("mushroom" = 6)
-
-/obj/item/reagent_containers/food/snacks/spacylibertyduff/Initialize()
- . = ..()
- reagents.add_reagent("psilocybin", 6)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/amanitajelly
- name = "Amanita Jelly"
- desc = "Looks curiously toxic."
- icon_state = "amanitajelly"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#ED0758"
- nutriment_amt = 6
- nutriment_desc = list("jelly" = 3, "mushroom" = 3)
-
-/obj/item/reagent_containers/food/snacks/amanitajelly/Initialize()
- . = ..()
- reagents.add_reagent("amatoxin", 6)
- reagents.add_reagent("psilocybin", 3)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/poppypretzel // Buff 5 >> 7
- name = "Poppy pretzel"
- desc = "It's all twisted up!"
- icon_state = "poppypretzel"
- filling_color = "#916E36"
- nutriment_amt = 7
- nutriment_desc = list("poppy seeds" = 2, "pretzel" = 3)
-
-/obj/item/reagent_containers/food/snacks/poppypretzel/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meatballsoup // Buff 8 >> 10
- name = "Meatball soup"
- desc = "You've got balls kid, BALLS!"
- icon_state = "meatballsoup"
- nutriment_amt = 2
- trash = /obj/item/trash/snack_bowl
- filling_color = "#785210"
-
-/obj/item/reagent_containers/food/snacks/meatballsoup/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- reagents.add_reagent("water", 5)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/slimesoup
- name = "slime soup"
- desc = "If no water is available, you may substitute tears."
- icon_state = "slimesoup"
- filling_color = "#C4DBA0"
-
-/obj/item/reagent_containers/food/snacks/slimesoup/Initialize()
- . = ..()
- reagents.add_reagent("slimejelly", 5)
- reagents.add_reagent("water", 10)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/bloodsoup
- name = "Tomato soup"
- desc = "Smells like copper."
- icon_state = "tomatosoup"
- filling_color = "#FF0000"
-
-/obj/item/reagent_containers/food/snacks/bloodsoup/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- reagents.add_reagent("blood", 10)
- reagents.add_reagent("water", 5)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/clownstears
- name = "Clown's Tears"
- desc = "Not very funny."
- icon_state = "clownstears"
- filling_color = "#C4FBFF"
- nutriment_amt = 4
- nutriment_desc = list("salt" = 1, "the worst joke" = 3)
-
-/obj/item/reagent_containers/food/snacks/clownstears/Initialize()
- . = ..()
- reagents.add_reagent("banana", 5)
- reagents.add_reagent("water", 10)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/vegetablesoup // Buff 8 >> 10
- name = "Vegetable soup"
- desc = "A true vegan meal." //TODO
- icon_state = "vegetablesoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#AFC4B5"
- nutriment_amt = 10
- nutriment_desc = list("carot" = 2, "corn" = 2, "eggplant" = 2, "potato" = 2)
-
-/obj/item/reagent_containers/food/snacks/vegetablesoup/Initialize()
- . = ..()
- reagents.add_reagent("water", 5)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/nettlesoup
- name = "Nettle soup"
- desc = "To think, the botanist would've beat you to death with one of these."
- icon_state = "nettlesoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#AFC4B5"
- nutriment_amt = 8
- nutriment_desc = list("salad" = 4, "egg" = 2, "potato" = 2)
-
-/obj/item/reagent_containers/food/snacks/nettlesoup/Initialize()
- . = ..()
- reagents.add_reagent("water", 5)
- reagents.add_reagent("tricordrazine", 5)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/mysterysoup
- name = "Mystery soup"
- desc = "The mystery is, why aren't you eating it?"
- icon_state = "mysterysoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#F082FF"
- nutriment_amt = 1
- nutriment_desc = list("backwash" = 1)
-
-/obj/item/reagent_containers/food/snacks/mysterysoup/Initialize()
- . = ..()
- var/mysteryselect = pick(1,2,3,4,5,6,7,8,9,10)
- switch(mysteryselect)
- if(1)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("capsaicin", 3)
- reagents.add_reagent("tomatojuice", 2)
- if(2)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("frostoil", 3)
- reagents.add_reagent("tomatojuice", 2)
- if(3)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("tricordrazine", 5)
- if(4)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("water", 10)
- if(5)
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("banana", 10)
- if(6)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("blood", 10)
- if(7)
- reagents.add_reagent("slimejelly", 10)
- reagents.add_reagent("water", 10)
- if(8)
- reagents.add_reagent("carbon", 10)
- reagents.add_reagent("toxin", 10)
- if(9)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("tomatojuice", 10)
- if(10)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("tomatojuice", 5)
- reagents.add_reagent("imidazoline", 5)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/wishsoup
- name = "Wish Soup"
- desc = "I wish this was soup."
- icon_state = "wishsoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#D1F4FF"
-
-/obj/item/reagent_containers/food/snacks/wishsoup/Initialize()
- . = ..()
- reagents.add_reagent("water", 10)
- bitesize = 5
- if(prob(25))
- src.desc = "A wish come true!"
- reagents.add_reagent("nutriment", 8, list("something good" = 8))
-
-/obj/item/reagent_containers/food/snacks/hotchili // Buff 6 >> 10
- name = "Hot Chili"
- desc = "A five alarm Texan Chili!"
- icon_state = "hotchili"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FF3C00"
- nutriment_amt = 5
- nutriment_desc = list("chilli peppers" = 5)
-
-/obj/item/reagent_containers/food/snacks/hotchili/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- reagents.add_reagent("capsaicin", 3)
- reagents.add_reagent("tomatojuice", 2)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/coldchili
- name = "Cold Chili"
- desc = "This slush is barely a liquid!"
- icon_state = "coldchili"
- filling_color = "#2B00FF"
- trash = /obj/item/trash/snack_bowl
- nutriment_amt = 3
- nutriment_desc = list("ice peppers" = 3)
-
-/obj/item/reagent_containers/food/snacks/coldchili/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent("frostoil", 3)
- reagents.add_reagent("tomatojuice", 2)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/monkeycube
- name = "monkey cube"
- desc = "Just add water!"
- flags = OPENCONTAINER
- icon_state = "monkeycube"
- bitesize = 12
- filling_color = "#ADAC7F"
-
- var/wrapped = 0
- var/monkey_type = "Monkey"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
-
-/obj/item/reagent_containers/food/snacks/monkeycube/attack_self(mob/user as mob)
- if(wrapped)
- Unwrap(user)
-
-/obj/item/reagent_containers/food/snacks/monkeycube/proc/Expand()
- src.visible_message("\The [src] expands!")
- var/mob/living/carbon/human/H = new(get_turf(src))
- H.set_species(monkey_type)
- H.real_name = H.species.get_random_name()
- H.name = H.real_name
- if(ismob(loc))
- var/mob/M = loc
- M.unEquip(src)
- qdel(src)
- return 1
-
-/obj/item/reagent_containers/food/snacks/monkeycube/proc/Unwrap(mob/user as mob)
- icon_state = "monkeycube"
- desc = "Just add water!"
- to_chat(user, "You unwrap the cube.")
- wrapped = 0
- flags |= OPENCONTAINER
- return
-
-/obj/item/reagent_containers/food/snacks/monkeycube/On_Consume(var/mob/M)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- H.visible_message("A screeching creature bursts out of [M]'s chest!")
- var/obj/item/organ/external/organ = H.get_organ(BP_TORSO)
- organ.take_damage(50, 0, 0, "Animal escaping the ribcage")
- Expand()
-
-/obj/item/reagent_containers/food/snacks/monkeycube/on_reagent_change()
- if(reagents.has_reagent("water"))
- Expand()
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped
- desc = "Still wrapped in some paper."
- icon_state = "monkeycubewrap"
- flags = 0
- wrapped = 1
-
-/obj/item/reagent_containers/food/snacks/monkeycube/farwacube
- name = "farwa cube"
- monkey_type = "Farwa"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/farwacube
- name = "farwa cube"
- monkey_type = "Farwa"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/stokcube
- name = "stok cube"
- monkey_type = "Stok"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/stokcube
- name = "stok cube"
- monkey_type = "Stok"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/neaeracube
- name = "neaera cube"
- monkey_type = "Neaera"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube
- name = "neaera cube"
- monkey_type = "Neaera"
-
-/obj/item/reagent_containers/food/snacks/spellburger
- name = "Spell Burger"
- desc = "This is absolutely Ei Nath."
- icon_state = "spellburger"
- filling_color = "#D505FF"
- nutriment_amt = 6
- nutriment_desc = list("magic" = 3, "buns" = 3)
-
-/obj/item/reagent_containers/food/snacks/spellburger/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/bigbiteburger // Buff 14 >> 25
- name = "Big Bite Burger"
- desc = "Forget the Big Mac. THIS is the future!"
- icon_state = "bigbiteburger"
- filling_color = "#E3D681"
- nutriment_amt = 6
- nutriment_desc = list("buns" = 4)
-
-/obj/item/reagent_containers/food/snacks/bigbiteburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 19)
- bitesize = 8
-
-/obj/item/reagent_containers/food/snacks/enchiladas // Buff 8 >> 12
- name = "Enchiladas"
- desc = "Viva La Mexico!"
- icon_state = "enchiladas"
- trash = /obj/item/trash/tray
- filling_color = "#A36A1F"
- nutriment_amt = 4
- nutriment_desc = list("tortilla" = 3, "corn" = 3)
-
-/obj/item/reagent_containers/food/snacks/enchiladas/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- reagents.add_reagent("capsaicin", 6)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/monkeysdelight
- name = "monkey's Delight"
- desc = "Eeee Eee!"
- icon_state = "monkeysdelight"
- trash = /obj/item/trash/tray
- filling_color = "#5C3C11"
-
-/obj/item/reagent_containers/food/snacks/monkeysdelight/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- reagents.add_reagent("banana", 5)
- reagents.add_reagent("blackpepper", 1)
- reagents.add_reagent("sodiumchloride", 1)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/baguette
- name = "Baguette"
- desc = "Bon appetit!"
- icon_state = "baguette"
- filling_color = "#E3D796"
- nutriment_amt = 6
- nutriment_desc = list("french bread" = 6)
-
-/obj/item/reagent_containers/food/snacks/baguette/Initialize()
- . = ..()
- reagents.add_reagent("blackpepper", 1)
- reagents.add_reagent("sodiumchloride", 1)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/fishandchips // Buff 6 >> 10
- name = "Fish and Chips"
- desc = "I do say so myself chap."
- icon_state = "fishandchips"
- filling_color = "#E3D796"
- nutriment_amt = 5
- nutriment_desc = list("salt" = 1, "chips" = 3)
-
-/obj/item/reagent_containers/food/snacks/fishandchips/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- reagents.add_reagent("carpotoxin", 3)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/sandwich // Buff 6 >> 11
- name = "Sandwich"
- desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud."
- icon_state = "sandwich"
- trash = /obj/item/trash/plate
- filling_color = "#D9BE29"
- nutriment_amt = 6
- nutriment_desc = list("bread" = 3, "cheese" = 3)
-
-/obj/item/reagent_containers/food/snacks/sandwich/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/toastedsandwich // Buff 6 >> 11
- name = "Toasted Sandwich"
- desc = "Now if you only had a pepper bar."
- icon_state = "toastedsandwich"
- trash = /obj/item/trash/plate
- filling_color = "#D9BE29"
- nutriment_amt = 6
- nutriment_desc = list("toasted bread" = 3, "cheese" = 3)
-
-/obj/item/reagent_containers/food/snacks/toastedsandwich/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- reagents.add_reagent("carbon", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/grilledcheese // Buff 7 >> 10
- name = "Grilled Cheese Sandwich"
- desc = "Goes great with Tomato soup!"
- icon_state = "toastedsandwich"
- trash = /obj/item/trash/plate
- filling_color = "#D9BE29"
- nutriment_amt = 5
- nutriment_desc = list("toasted bread" = 3, "cheese" = 3)
-
-/obj/item/reagent_containers/food/snacks/grilledcheese/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/tomatosoup // Buff 5 >> 9
- name = "Tomato Soup"
- desc = "Drinking this feels like being a vampire! A tomato vampire..."
- icon_state = "tomatosoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#D92929"
- nutriment_amt = 9
- nutriment_desc = list("soup" = 5)
-
-/obj/item/reagent_containers/food/snacks/tomatosoup/Initialize()
- . = ..()
- reagents.add_reagent("tomatojuice", 10)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/onionsoup // Buff 5 >> 9
- name = "Onion Soup"
- desc = "A soup with layers."
- icon_state = "onionsoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#E0C367"
- nutriment_amt = 9
- nutriment_desc = list("onion" = 2, "soup" = 2)
-
-/obj/item/reagent_containers/food/snacks/onionsoup/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/onionrings
- name = "Onion Rings"
- desc = "Crispy rings."
- icon_state = "onionrings"
- trash = /obj/item/trash/plate
- filling_color = "#E0C367"
- nutriment_amt = 5
- nutriment_desc = list("onion" = 2)
-
-/obj/item/reagent_containers/food/snacks/onionrings/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/rofflewaffles
- name = "Roffle Waffles"
- desc = "Waffles from Roffle. Co."
- icon_state = "rofflewaffles"
- trash = /obj/item/trash/waffles
- filling_color = "#FF00F7"
- nutriment_amt = 8
- nutriment_desc = list("waffle" = 7, "sweetness" = 1)
-
-/obj/item/reagent_containers/food/snacks/rofflewaffles/Initialize()
- . = ..()
- reagents.add_reagent("psilocybin", 8)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/stew // Buff 10 >> 14
- name = "Stew"
- desc = "A nice and warm stew. Healthy and strong."
- icon_state = "stew"
- filling_color = "#9E673A"
- nutriment_amt = 6
- nutriment_desc = list("tomato" = 2, "potato" = 2, "carrot" = 2, "eggplant" = 2, "mushroom" = 2)
- drop_sound = 'sound/items/drop/shovel.ogg'
- pickup_sound = 'sound/items/pickup/shovel.ogg'
-
-/obj/item/reagent_containers/food/snacks/stew/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- reagents.add_reagent("tomatojuice", 5)
- reagents.add_reagent("imidazoline", 5)
- reagents.add_reagent("water", 5)
- bitesize = 10
-
-/obj/item/reagent_containers/food/snacks/jelliedtoast
- name = "Jellied Toast"
- desc = "A slice of bread covered with delicious jam."
- icon_state = "jellytoast"
- trash = /obj/item/trash/plate
- filling_color = "#B572AB"
- nutriment_amt = 1
- nutriment_desc = list("toasted bread" = 2)
-
-/obj/item/reagent_containers/food/snacks/jelliedtoast/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/jelliedtoast/cherry/Initialize()
- . = ..()
- reagents.add_reagent("cherryjelly", 5)
-
-/obj/item/reagent_containers/food/snacks/jelliedtoast/slime/Initialize()
- . = ..()
- reagents.add_reagent("slimejelly", 5)
-
-/obj/item/reagent_containers/food/snacks/jellyburger
- name = "Jelly Burger"
- desc = "Culinary delight..?"
- icon_state = "jellyburger"
- filling_color = "#B572AB"
- nutriment_amt = 5
- nutriment_desc = list("buns" = 5)
-
-/obj/item/reagent_containers/food/snacks/jellyburger/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/jellyburger/slime/Initialize()
- . = ..()
- reagents.add_reagent("slimejelly", 5)
-
-/obj/item/reagent_containers/food/snacks/jellyburger/cherry/Initialize()
- . = ..()
- reagents.add_reagent("cherryjelly", 5)
-
-/obj/item/reagent_containers/food/snacks/milosoup // Buff 8 >> 10
- name = "Milosoup"
- desc = "The universes best soup! Yum!!!"
- icon_state = "milosoup"
- trash = /obj/item/trash/snack_bowl
- nutriment_amt = 10
- nutriment_desc = list("soy" = 8)
-
-/obj/item/reagent_containers/food/snacks/milosoup/Initialize()
- . = ..()
- reagents.add_reagent("water", 5)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/stewedsoymeat // Buff 8 >> 11
- name = "Stewed Soy Meat"
- desc = "Even non-vegetarians will LOVE this!"
- icon_state = "stewedsoymeat"
- trash = /obj/item/trash/plate
- nutriment_amt = 11
- nutriment_desc = list("soy" = 4, "tomato" = 4)
-
-/obj/item/reagent_containers/food/snacks/stewedsoymeat/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/boiledspagetti // Buff 2 >> 6
- name = "Boiled Spaghetti"
- desc = "A plain dish of noodles, this sucks."
- icon_state = "spagettiboiled"
- trash = /obj/item/trash/plate
- filling_color = "#FCEE81"
- nutriment_amt = 6
- nutriment_desc = list("noodles" = 2)
-
-/obj/item/reagent_containers/food/snacks/boiledspagetti/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/boiledrice // Buff 2 >> 4
- name = "Boiled Rice"
- desc = "A boring dish of boring rice."
- icon_state = "boiledrice"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FFFBDB"
- nutriment_amt = 4
- nutriment_desc = list("rice" = 2)
-
-/obj/item/reagent_containers/food/snacks/boiledrice/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/ricepudding // Buff 4 >> 5
- name = "Rice Pudding"
- desc = "Where's the jam?"
- icon_state = "rpudding"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FFFBDB"
- nutriment_amt = 5
- nutriment_desc = list("rice" = 2)
-
-/obj/item/reagent_containers/food/snacks/ricepudding/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/pastatomato // Buff 6 >> 10
- name = "Spaghetti"
- desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!"
- icon_state = "pastatomato"
- trash = /obj/item/trash/plate
- filling_color = "#DE4545"
- nutriment_amt = 10
- nutriment_desc = list("tomato" = 3, "noodles" = 3)
-
-/obj/item/reagent_containers/food/snacks/pastatomato/Initialize()
- . = ..()
- reagents.add_reagent("tomatojuice", 10)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/meatballspagetti // Buff 8 >> 14
- name = "Spaghetti & Meatballs"
- desc = "Now thats a nic'e meatball!"
- icon_state = "meatballspagetti"
- trash = /obj/item/trash/plate
- filling_color = "#DE4545"
- nutriment_amt = 6
- nutriment_desc = list("noodles" = 4)
-
-/obj/item/reagent_containers/food/snacks/meatballspagetti/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/spesslaw // Buff 8 >> 12
- name = "Spesslaw"
- desc = "A lawyers favourite"
- icon_state = "spesslaw"
- filling_color = "#DE4545"
- nutriment_amt = 6
- nutriment_desc = list("noodles" = 4)
-
-/obj/item/reagent_containers/food/snacks/spesslaw/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/carrotfries // Buff 3 >> 5
- name = "Carrot Fries"
- desc = "Tasty fries from fresh Carrots."
- icon_state = "carrotfries"
- trash = /obj/item/trash/plate
- filling_color = "#FAA005"
- nutriment_amt = 5
- nutriment_desc = list("carrot" = 3, "salt" = 1)
-
-/obj/item/reagent_containers/food/snacks/carrotfries/Initialize()
- . = ..()
- reagents.add_reagent("imidazoline", 3)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/superbiteburger // Balance (25 >> 15 Nutri / 25 >> 35 Protein)
- name = "Super Bite Burger"
- desc = "This is a mountain of a burger. FOOD!"
- icon_state = "superbiteburger"
- filling_color = "#CCA26A"
- nutriment_amt = 15
- nutriment_desc = list("buns" = 25)
-
-/obj/item/reagent_containers/food/snacks/superbiteburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 35)
- bitesize = 10
-
-/obj/item/reagent_containers/food/snacks/candiedapple
- name = "Candied Apple"
- desc = "An apple coated in sugary sweetness."
- icon_state = "candiedapple"
- filling_color = "#F21873"
- nutriment_amt = 3
- nutriment_desc = list("apple" = 3, "caramel" = 3, "sweetness" = 2)
-
-/obj/item/reagent_containers/food/snacks/candiedapple/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/applepie // Buff 4 >> 9
- name = "Apple Pie"
- desc = "A pie containing sweet sweet love... or apple."
- icon_state = "applepie"
- filling_color = "#E0EDC5"
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 2, "apple" = 2, "pie" = 2)
-
-/obj/item/reagent_containers/food/snacks/applepie/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 4)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/cherrypie // Buff 4 >> 9
- name = "Cherry Pie"
- desc = "Taste so good, make a grown man cry."
- icon_state = "cherrypie"
- filling_color = "#FF525A"
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 2, "cherry" = 2, "pie" = 2)
-
-/obj/item/reagent_containers/food/snacks/cherrypie/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 4)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/twobread
- name = "Two Bread"
- desc = "It is very bitter and winy."
- icon_state = "twobread"
- filling_color = "#DBCC9A"
- nutriment_amt = 2
- nutriment_desc = list("sourness" = 2, "bread" = 2)
-
-/obj/item/reagent_containers/food/snacks/twobread/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/jellysandwich // Buff 2 >> 6
- name = "Jelly Sandwich"
- desc = "You wish you had some peanut butter to go with this..."
- icon_state = "jellysandwich"
- trash = /obj/item/trash/plate
- filling_color = "#9E3A78"
- nutriment_amt = 3
- nutriment_desc = list("bread" = 2)
-
-/obj/item/reagent_containers/food/snacks/jellysandwich/Initialize()
- . = ..()
- reagents.add_reagent("sugar", 3)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/jellysandwich/slime/Initialize()
- . = ..()
- reagents.add_reagent("slimejelly", 5)
-
-/obj/item/reagent_containers/food/snacks/jellysandwich/cherry/Initialize()
- . = ..()
- reagents.add_reagent("cherryjelly", 5)
-
-/obj/item/reagent_containers/food/snacks/boiledslimecore
- name = "Boiled Slime Core"
- desc = "A boiled red thing."
- icon_state = "boiledslimecore"
-
-/obj/item/reagent_containers/food/snacks/boiledslimecore/Initialize()
- . = ..()
- reagents.add_reagent("slimejelly", 5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/mint
- name = "mint"
- desc = "it is only wafer thin."
- icon_state = "mint"
- filling_color = "#F2F2F2"
-
-/obj/item/reagent_containers/food/snacks/mint/Initialize()
- . = ..()
- reagents.add_reagent("mint", 1)
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/mushroomsoup
- name = "chantrelle soup"
- desc = "A delicious and hearty mushroom soup."
- icon_state = "mushroomsoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#E386BF"
- nutriment_amt = 8
- nutriment_desc = list("mushroom" = 8, "milk" = 2)
-
-/obj/item/reagent_containers/food/snacks/mushroomsoup/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/plumphelmetbiscuit
- name = "plump helmet biscuit"
- desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced dwarven wheat flour."
- icon_state = "phelmbiscuit"
- filling_color = "#CFB4C4"
- nutriment_amt = 5
- nutriment_desc = list("mushroom" = 4)
-
-/obj/item/reagent_containers/food/snacks/plumphelmetbiscuit/Initialize()
- . = ..()
- if(prob(10))
- name = "exceptional plump helmet biscuit"
- desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!"
- reagents.add_reagent("nutriment", 8)
- bitesize = 2
- else
- reagents.add_reagent("nutriment", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/chawanmushi
- name = "chawanmushi"
- desc = "A legendary egg custard that makes friends out of enemies. Probably too hot for a cat to eat."
- icon_state = "chawanmushi"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#F0F2E4"
-
-/obj/item/reagent_containers/food/snacks/chawanmushi/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/beetsoup // Buff 8 >> 10
- name = "beet soup"
- desc = "Wait, how do you spell it again..?"
- icon_state = "beetsoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FAC9FF"
- nutriment_amt = 8
- nutriment_desc = list("tomato" = 4, "beet" = 4)
-
-/obj/item/reagent_containers/food/snacks/beetsoup/Initialize()
- . = ..()
- name = pick(list("borsch","bortsch","borstch","borsh","borshch","borscht"))
- reagents.add_reagent("sugar", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/tossedsalad // Buff 8 >> 10
- name = "tossed salad"
- desc = "A proper salad, basic and simple, with little bits of carrot, tomato and apple intermingled. Vegan!"
- icon_state = "herbsalad"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#76B87F"
- nutriment_amt = 10
- nutriment_desc = list("salad" = 2, "tomato" = 2, "carrot" = 2, "apple" = 2)
-
-/obj/item/reagent_containers/food/snacks/tossedsalad/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/validsalad // Buff 8 >> 12
- name = "valid salad"
- desc = "It's just a salad of questionable 'herbs' with meatballs and fried potato slices. Nothing suspicious about it."
- icon_state = "validsalad"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#76B87F"
- nutriment_amt = 8
- nutriment_desc = list("100% real salad")
-
-/obj/item/reagent_containers/food/snacks/validsalad/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/appletart
- name = "golden apple streusel tart"
- desc = "A tasty dessert that won't make it through a metal detector."
- icon_state = "gappletart"
- trash = /obj/item/trash/plate
- filling_color = "#FFFF00"
- nutriment_amt = 8
- nutriment_desc = list("apple" = 8)
-
-/obj/item/reagent_containers/food/snacks/appletart/Initialize()
- . = ..()
- reagents.add_reagent("gold", 5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/worm
- name = "worm"
- desc = "It wiggles at the touch, bleh."
- icon_state = "worm"
-
-/obj/item/reagent_containers/food/snacks/worm/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 4)
- bitesize = 4
-
-/////////////////////////////////////////////////Sliceable////////////////////////////////////////
-// All the food items that can be sliced into smaller bits like Meatbread and Cheesewheels
-
-// sliceable is just an organization type path, it doesn't have any additional code or variables tied to it.
-
-/obj/item/reagent_containers/food/snacks/sliceable
- w_class = ITEMSIZE_NORMAL //Whole pizzas and cakes shouldn't fit in a pocket, you can slice them if you want to do that.
-
-/**
- * A food item slice
- *
- * This path contains some extra code for spawning slices pre-filled with
- * reagents.
- */
-/obj/item/reagent_containers/food/snacks/slice
- name = "slice of... something"
- var/whole_path // path for the item from which this slice comes
- var/filled = FALSE // should the slice spawn with any reagents
-
-/**
- * Spawn a new slice of food
- *
- * If the slice's filled is TRUE, this will also fill the slice with the
- * appropriate amount of reagents. Note that this is done by spawning a new
- * whole item, transferring the reagents and deleting the whole item, which may
- * have performance implications.
- */
-/obj/item/reagent_containers/food/snacks/slice/Initialize()
- . = ..()
- if(filled)
- var/obj/item/reagent_containers/food/snacks/whole = new whole_path()
- if(whole && whole.slices_num)
- var/reagent_amount = whole.reagents.total_volume/whole.slices_num
- whole.reagents.trans_to_obj(src, reagent_amount)
-
- qdel(whole)
-
-/obj/item/reagent_containers/food/snacks/sliceable/meatbread
- name = "meatbread loaf"
- desc = "The culinary base of every self-respecting eloquent gentleman."
- icon_state = "meatbread"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/meatbread
- slices_num = 5
- filling_color = "#FF7575"
- nutriment_desc = list("bread" = 10)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/meatbread/Initialize()
- . = ..()
- reagents.add_reagent("protein", 20)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/meatbread
- name = "meatbread slice"
- desc = "A slice of delicious meatbread."
- icon_state = "meatbreadslice"
- trash = /obj/item/trash/plate
- filling_color = "#FF7575"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/meatbread
-
-/obj/item/reagent_containers/food/snacks/slice/meatbread/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/xenomeatbread
- name = "xenomeatbread loaf"
- desc = "The culinary base of every self-respecting eloquent gentleman. Extra Heretical."
- icon_state = "xenomeatbread"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/xenomeatbread
- slices_num = 5
- filling_color = "#8AFF75"
- nutriment_desc = list("bread" = 10)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/xenomeatbread/Initialize()
- . = ..()
- reagents.add_reagent("protein", 20)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/xenomeatbread
- name = "xenomeatbread slice"
- desc = "A slice of delicious meatbread. Extra Heretical."
- icon_state = "xenobreadslice"
- trash = /obj/item/trash/plate
- filling_color = "#8AFF75"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/xenomeatbread
-
-
-/obj/item/reagent_containers/food/snacks/slice/xenomeatbread/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/bananabread
- name = "Banana-nut bread"
- desc = "A heavenly and filling treat."
- icon_state = "bananabread"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/bananabread
- slices_num = 5
- filling_color = "#EDE5AD"
- nutriment_desc = list("bread" = 10)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/bananabread/Initialize()
- . = ..()
- reagents.add_reagent("banana", 20)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/bananabread
- name = "Banana-nut bread slice"
- desc = "A slice of delicious banana bread."
- icon_state = "bananabreadslice"
- trash = /obj/item/trash/plate
- filling_color = "#EDE5AD"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/bananabread
-
-/obj/item/reagent_containers/food/snacks/slice/bananabread/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/tofubread
- name = "Tofubread"
- icon_state = "Like meatbread but for vegetarians. Not guaranteed to give superpowers."
- icon_state = "tofubread"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/tofubread
- slices_num = 5
- filling_color = "#F7FFE0"
- nutriment_desc = list("tofu" = 10)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/tofubread/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/tofubread
- name = "Tofubread slice"
- desc = "A slice of delicious tofubread."
- icon_state = "tofubreadslice"
- trash = /obj/item/trash/plate
- filling_color = "#F7FFE0"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/tofubread
-
-/obj/item/reagent_containers/food/snacks/slice/tofubread/filled
- filled = TRUE
-
-
-/obj/item/reagent_containers/food/snacks/sliceable/carrotcake
- name = "Carrot Cake"
- desc = "A favorite dessert of a certain wascally wabbit. Not a lie."
- icon_state = "carrotcake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/carrotcake
- slices_num = 5
- filling_color = "#FFD675"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "carrot" = 15)
- nutriment_amt = 25
-
-/obj/item/reagent_containers/food/snacks/sliceable/carrotcake/Initialize()
- . = ..()
- reagents.add_reagent("imidazoline", 10)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/carrotcake
- name = "Carrot Cake slice"
- desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie."
- icon_state = "carrotcake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#FFD675"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/carrotcake
-
-/obj/item/reagent_containers/food/snacks/slice/carrotcake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/braincake
- name = "Brain Cake"
- desc = "A squishy cake-thing."
- icon_state = "braincake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/braincake
- slices_num = 5
- filling_color = "#E6AEDB"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "slime" = 15)
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/sliceable/braincake/Initialize()
- . = ..()
- reagents.add_reagent("protein", 25)
- reagents.add_reagent("alkysine", 10)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/braincake
- name = "Brain Cake slice"
- desc = "Lemme tell you something about prions. THEY'RE DELICIOUS."
- icon_state = "braincakeslice"
- trash = /obj/item/trash/plate
- filling_color = "#E6AEDB"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/braincake
-
-/obj/item/reagent_containers/food/snacks/slice/braincake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/cheesecake
- name = "Cheese Cake"
- desc = "DANGEROUSLY cheesy."
- icon_state = "cheesecake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/cheesecake
- slices_num = 5
- filling_color = "#FAF7AF"
- nutriment_desc = list("cake" = 10, "cream" = 10, "cheese" = 15)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/cheesecake/Initialize()
- . = ..()
- reagents.add_reagent("protein", 15)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/cheesecake
- name = "Cheese Cake slice"
- desc = "Slice of pure cheestisfaction."
- icon_state = "cheesecake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#FAF7AF"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/cheesecake
-
-/obj/item/reagent_containers/food/snacks/slice/cheesecake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/plaincake
- name = "Vanilla Cake"
- desc = "A plain cake, not a lie."
- icon_state = "plaincake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/plaincake
- slices_num = 5
- filling_color = "#F7EDD5"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "vanilla" = 15)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/slice/plaincake
- name = "Vanilla Cake slice"
- desc = "Just a slice of cake, it is enough for everyone."
- icon_state = "plaincake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#F7EDD5"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/plaincake
-
-/obj/item/reagent_containers/food/snacks/slice/plaincake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/orangecake
- name = "Orange Cake"
- desc = "A cake with added orange."
- icon_state = "orangecake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/orangecake
- slices_num = 5
- filling_color = "#FADA8E"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "orange" = 15)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/slice/orangecake
- name = "Orange Cake slice"
- desc = "Just a slice of cake, it is enough for everyone."
- icon_state = "orangecake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#FADA8E"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/orangecake
-
-/obj/item/reagent_containers/food/snacks/slice/orangecake/filled
- filled = TRUE
-
-
-/obj/item/reagent_containers/food/snacks/sliceable/limecake
- name = "Lime Cake"
- desc = "A cake with added lime."
- icon_state = "limecake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/limecake
- slices_num = 5
- filling_color = "#CBFA8E"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "lime" = 15)
- nutriment_amt = 20
-
-
-/obj/item/reagent_containers/food/snacks/slice/limecake
- name = "Lime Cake slice"
- desc = "Just a slice of cake, it is enough for everyone."
- icon_state = "limecake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#CBFA8E"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/limecake
-
-/obj/item/reagent_containers/food/snacks/slice/limecake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/lemoncake
- name = "Lemon Cake"
- desc = "A cake with added lemon."
- icon_state = "lemoncake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/lemoncake
- slices_num = 5
- filling_color = "#FAFA8E"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "lemon" = 15)
- nutriment_amt = 20
-
-
-/obj/item/reagent_containers/food/snacks/slice/lemoncake
- name = "Lemon Cake slice"
- desc = "Just a slice of cake, it is enough for everyone."
- icon_state = "lemoncake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#FAFA8E"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/lemoncake
-
-/obj/item/reagent_containers/food/snacks/slice/lemoncake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/chocolatecake
- name = "Chocolate Cake"
- desc = "A cake with added chocolate."
- icon_state = "chocolatecake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/chocolatecake
- slices_num = 5
- filling_color = "#805930"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "chocolate" = 15)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/slice/chocolatecake
- name = "Chocolate Cake slice"
- desc = "Just a slice of cake, it is enough for everyone."
- icon_state = "chocolatecake_slice"
- trash = /obj/item/trash/plate
- filling_color = "#805930"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/chocolatecake
-
-/obj/item/reagent_containers/food/snacks/slice/chocolatecake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/cheesewheel
- name = "Cheese wheel"
- desc = "A big wheel of delcious Cheddar."
- icon_state = "cheesewheel"
- slice_path = /obj/item/reagent_containers/food/snacks/cheesewedge
- slices_num = 5
- filling_color = "#FFF700"
- nutriment_desc = list("cheese" = 10)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/cheesewheel/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cheesewedge
- name = "Cheese wedge"
- desc = "A wedge of delicious Cheddar. The cheese wheel it was cut from can't have gone far."
- icon_state = "cheesewedge"
- filling_color = "#FFF700"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/sliceable/birthdaycake
- name = "Birthday Cake"
- desc = "Happy Birthday..."
- icon_state = "birthdaycake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/birthdaycake
- slices_num = 5
- filling_color = "#FFD6D6"
- nutriment_desc = list("cake" = 10, "sweetness" = 10)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/sliceable/birthdaycake/Initialize()
- . = ..()
- reagents.add_reagent("sprinkles", 10)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/slice/birthdaycake
- name = "Birthday Cake slice"
- desc = "A slice of your birthday."
- icon_state = "birthdaycakeslice"
- trash = /obj/item/trash/plate
- filling_color = "#FFD6D6"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/birthdaycake
-
-/obj/item/reagent_containers/food/snacks/slice/birthdaycake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/bread
- name = "Bread"
- icon_state = "Some plain old Earthen bread."
- icon_state = "bread"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/bread
- slices_num = 5
- filling_color = "#FFE396"
- nutriment_desc = list("bread" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/sliceable/bread/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/bread
- name = "Bread slice"
- desc = "A slice of home."
- icon_state = "breadslice"
- trash = /obj/item/trash/plate
- filling_color = "#D27332"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/bread
-
-/obj/item/reagent_containers/food/snacks/slice/bread/filled
- filled = TRUE
-
-
-/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread
- name = "Cream Cheese Bread"
- desc = "Yum yum yum!"
- icon_state = "creamcheesebread"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/creamcheesebread
- slices_num = 5
- filling_color = "#FFF896"
- nutriment_desc = list("bread" = 6, "cream" = 3, "cheese" = 3)
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread/Initialize()
- . = ..()
- reagents.add_reagent("protein", 15)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/creamcheesebread
- name = "Cream Cheese Bread slice"
- desc = "A slice of yum!"
- icon_state = "creamcheesebreadslice"
- trash = /obj/item/trash/plate
- filling_color = "#FFF896"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread
-
-
-/obj/item/reagent_containers/food/snacks/slice/creamcheesebread/filled
- filled = TRUE
-
-
-/obj/item/reagent_containers/food/snacks/watermelonslice
- name = "Watermelon Slice"
- desc = "A slice of watery goodness."
- icon_state = "watermelonslice"
- filling_color = "#FF3867"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/sliceable/applecake
- name = "Apple Cake"
- desc = "A cake centred with apples."
- icon_state = "applecake"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/applecake
- slices_num = 5
- filling_color = "#EBF5B8"
- nutriment_desc = list("cake" = 10, "sweetness" = 10, "apple" = 15)
- nutriment_amt = 15
-
-/obj/item/reagent_containers/food/snacks/slice/applecake
- name = "Apple Cake slice"
- desc = "A slice of heavenly cake."
- icon_state = "applecakeslice"
- trash = /obj/item/trash/plate
- filling_color = "#EBF5B8"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/applecake
-
-/obj/item/reagent_containers/food/snacks/slice/applecake/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/pumpkinpie
- name = "Pumpkin Pie"
- desc = "A delicious treat for the autumn months."
- icon_state = "pumpkinpie"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/pumpkinpie
- slices_num = 5
- filling_color = "#F5B951"
- nutriment_desc = list("pie" = 5, "cream" = 5, "pumpkin" = 5)
- nutriment_amt = 15
-
-/obj/item/reagent_containers/food/snacks/slice/pumpkinpie
- name = "Pumpkin Pie slice"
- desc = "A slice of pumpkin pie, with whipped cream on top. Perfection."
- icon_state = "pumpkinpieslice"
- trash = /obj/item/trash/plate
- filling_color = "#F5B951"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pumpkinpie
-
-/obj/item/reagent_containers/food/snacks/slice/pumpkinpie/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/cracker
- name = "Cracker"
- desc = "It's a salted cracker."
- icon_state = "cracker"
- filling_color = "#F5DEB8"
- nutriment_desc = list("salt" = 1, "cracker" = 2)
- nutriment_amt = 1
-
-
-
-/////////////////////////////////////////////////PIZZA////////////////////////////////////////
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza
- slices_num = 6
- filling_color = "#BAA14C"
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita
- name = "Margherita"
- desc = "The golden standard of pizzas."
- icon_state = "pizzamargherita"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/margherita
- slices_num = 6
- nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 15)
- nutriment_amt = 35
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- reagents.add_reagent("tomatojuice", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/margherita
- name = "Margherita slice"
- desc = "A slice of the classic pizza."
- icon_state = "pizzamargheritaslice"
- filling_color = "#BAA14C"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita
-
-/obj/item/reagent_containers/food/snacks/slice/margherita/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza
- name = "Meatpizza"
- desc = "A pizza with meat topping."
- icon_state = "meatpizza"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/meatpizza
- slices_num = 6
- nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 15)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza/Initialize()
- . = ..()
- reagents.add_reagent("protein", 34)
- reagents.add_reagent("tomatojuice", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/meatpizza
- name = "Meatpizza slice"
- desc = "A slice of a meaty pizza."
- icon_state = "meatpizzaslice"
- filling_color = "#BAA14C"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza
-
-/obj/item/reagent_containers/food/snacks/slice/meatpizza/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
- name = "Mushroompizza"
- desc = "Very special pizza."
- icon_state = "mushroompizza"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/mushroompizza
- slices_num = 6
- nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 5, "mushroom" = 10)
- nutriment_amt = 35
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/mushroompizza
- name = "Mushroompizza slice"
- desc = "Maybe it is the last slice of pizza in your life."
- icon_state = "mushroompizzaslice"
- filling_color = "#BAA14C"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
-
-/obj/item/reagent_containers/food/snacks/slice/mushroompizza/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
- name = "Vegetable pizza"
- desc = "No one of Tomato Sapiens were harmed during making this pizza."
- icon_state = "vegetablepizza"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/vegetablepizza
- slices_num = 6
- nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 5, "eggplant" = 5, "carrot" = 5, "corn" = 5)
- nutriment_amt = 25
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
- reagents.add_reagent("tomatojuice", 6)
- reagents.add_reagent("imidazoline", 12)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/slice/vegetablepizza
- name = "Vegetable pizza slice"
- desc = "A slice of the most green pizza of all pizzas not containing green ingredients."
- icon_state = "vegetablepizzaslice"
- filling_color = "#BAA14C"
- bitesize = 2
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
-
-/obj/item/reagent_containers/food/snacks/slice/vegetablepizza/filled
- filled = TRUE
-
-/obj/item/pizzabox
- name = "pizza box"
- desc = "A box suited for pizzas."
- icon = 'icons/obj/food.dmi'
- icon_state = "pizzabox1"
-
- var/open = 0 // Is the box open?
- var/ismessy = 0 // Fancy mess on the lid
- var/obj/item/reagent_containers/food/snacks/sliceable/pizza/pizza // Content pizza
- var/list/boxes = list() // If the boxes are stacked, they come here
- var/boxtag = ""
-
-/obj/item/pizzabox/update_icon()
-
- overlays = list()
-
- // Set appropriate description
- if( open && pizza )
- desc = "A box suited for pizzas. It appears to have a [pizza.name] inside."
- else if( boxes.len > 0 )
- desc = "A pile of boxes suited for pizzas. There appears to be [boxes.len + 1] boxes in the pile."
-
- var/obj/item/pizzabox/topbox = boxes[boxes.len]
- var/toptag = topbox.boxtag
- if( toptag != "" )
- desc = "[desc] The box on top has a tag, it reads: '[toptag]'."
- else
- desc = "A box suited for pizzas."
-
- if( boxtag != "" )
- desc = "[desc] The box has a tag, it reads: '[boxtag]'."
-
- // Icon states and overlays
- if( open )
- if( ismessy )
- icon_state = "pizzabox_messy"
- else
- icon_state = "pizzabox_open"
-
- if( pizza )
- var/image/pizzaimg = image(icon = pizza.icon, icon_state = pizza.icon_state)
- pizzaimg.pixel_y = -3
- overlays += pizzaimg
-
- return
- else
- // Stupid code because byondcode sucks
- var/doimgtag = 0
- if( boxes.len > 0 )
- var/obj/item/pizzabox/topbox = boxes[boxes.len]
- if( topbox.boxtag != "" )
- doimgtag = 1
- else
- if( boxtag != "" )
- doimgtag = 1
-
- if( doimgtag )
- var/image/tagimg = image("food.dmi", icon_state = "pizzabox_tag")
- tagimg.pixel_y = boxes.len * 3
- overlays += tagimg
-
- icon_state = "pizzabox[boxes.len+1]"
-
-/obj/item/pizzabox/attack_hand( mob/user as mob )
-
- if( open && pizza )
- user.put_in_hands( pizza )
-
- to_chat(user, "You take \the [src.pizza] out of \the [src].")
- src.pizza = null
- update_icon()
- return
-
- if( boxes.len > 0 )
- if( user.get_inactive_hand() != src )
- . = ..()
- return
-
- var/obj/item/pizzabox/box = boxes[boxes.len]
- boxes -= box
-
- user.put_in_hands( box )
- to_chat(user, "You remove the topmost [src] from your hand.")
- box.update_icon()
- update_icon()
- return
- . = ..()
-
-/obj/item/pizzabox/attack_self( mob/user as mob )
-
- if( boxes.len > 0 )
- return
-
- open = !open
-
- if( open && pizza )
- ismessy = 1
-
- update_icon()
-
-/obj/item/pizzabox/attackby( obj/item/I as obj, mob/user as mob )
- if( istype(I, /obj/item/pizzabox/) )
- var/obj/item/pizzabox/box = I
-
- if( !box.open && !src.open )
- // Make a list of all boxes to be added
- var/list/boxestoadd = list()
- boxestoadd += box
- for(var/obj/item/pizzabox/i in box.boxes)
- boxestoadd += i
-
- if( (boxes.len+1) + boxestoadd.len <= 5 )
- user.drop_item()
-
- box.loc = src
- box.boxes = list() // Clear the box boxes so we don't have boxes inside boxes. - Xzibit
- src.boxes.Add( boxestoadd )
-
- box.update_icon()
- update_icon()
-
- to_chat(user, "You put \the [box] ontop of \the [src]!")
- else
- to_chat(user, "The stack is too high!")
- else
- to_chat(user, "Close \the [box] first!")
-
- return
-
- if( istype(I, /obj/item/reagent_containers/food/snacks/sliceable/pizza/) ) // Long ass fucking object name
-
- if( src.open )
- user.drop_item()
- I.loc = src
- src.pizza = I
-
- update_icon()
-
- to_chat(user, "You put \the [I] in \the [src]!")
- else
- to_chat(user, "You try to push \the [I] through the lid but it doesn't work!")
- return
-
- if( istype(I, /obj/item/pen/) )
-
- if( src.open )
- return
-
- var/t = sanitize(input("Enter what you want to add to the tag:", "Write", null, null) as text, 30)
-
- var/obj/item/pizzabox/boxtotagto = src
- if( boxes.len > 0 )
- boxtotagto = boxes[boxes.len]
-
- boxtotagto.boxtag = copytext("[boxtotagto.boxtag][t]", 1, 30)
-
- update_icon()
- return
- . = ..()
-
-/obj/item/pizzabox/margherita/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita(src)
- boxtag = "Margherita Deluxe"
-
-/obj/item/pizzabox/vegetable/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza(src)
- boxtag = "Gourmet Vegatable"
-
-/obj/item/pizzabox/mushroom/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza(src)
- boxtag = "Mushroom Special"
-
-/obj/item/pizzabox/meat/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza(src)
- boxtag = "Meatlover's Supreme"
-
-/obj/item/pizzabox/pineapple/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple(src)
- boxtag = "Hawaiian Sunrise"
-
-/obj/item/reagent_containers/food/snacks/dionaroast
- name = "roast diona"
- desc = "It's like an enormous, leathery carrot. With an eye."
- icon_state = "dionaroast"
- trash = /obj/item/trash/plate
- filling_color = "#75754B"
- nutriment_amt = 6
- nutriment_desc = list("a chorus of flavor" = 6)
-
-/obj/item/reagent_containers/food/snacks/dionaroast/Initialize()
- . = ..()
- reagents.add_reagent("radium", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/teshariroast
- name = "roast teshari"
- desc = "It's almost disturbing how closely this resembles a chicken. Plucking the feathers must have taken forever."
- icon_state = "teshari_roast"
- trash = /obj/item/trash/plate
- filling_color = "#75754B"
- nutriment_amt = 6
- nutriment_desc = list("lemon pepper wet" = 6)
-
-/obj/item/reagent_containers/food/snacks/tehsariroast/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 2
-
-///////////////////////////////////////////
-// new old food stuff from bs12
-///////////////////////////////////////////
-/obj/item/reagent_containers/food/snacks/dough
- name = "dough"
- desc = "A piece of dough."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "dough"
- bitesize = 2
- nutriment_amt = 3
- nutriment_desc = list("uncooked dough" = 3)
-
-/obj/item/reagent_containers/food/snacks/dough/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
-
-// Dough + rolling pin = flat dough
-/obj/item/reagent_containers/food/snacks/dough/attackby(obj/item/W as obj, mob/user as mob)
- if(istype(W,/obj/item/material/kitchen/rollingpin))
- new /obj/item/reagent_containers/food/snacks/sliceable/flatdough(src)
- to_chat(user, "You flatten the dough.")
- qdel(src)
- else
- . = ..()
-
-// slicable into 3xdoughslices
-/obj/item/reagent_containers/food/snacks/sliceable/flatdough
- name = "flat dough"
- desc = "A flattened dough."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "flat dough"
- slice_path = /obj/item/reagent_containers/food/snacks/doughslice
- slices_num = 3
-
-/obj/item/reagent_containers/food/snacks/sliceable/flatdough/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
- reagents.add_reagent("nutriment", 3)
-
-/obj/item/reagent_containers/food/snacks/doughslice
- name = "dough slice"
- desc = "A building block of an impressive dish."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "doughslice"
- slice_path = /obj/item/reagent_containers/food/snacks/spagetti
- slices_num = 1
- bitesize = 2
- nutriment_amt = 1
- nutriment_desc = list("uncooked dough" = 1)
-
-/obj/item/reagent_containers/food/snacks/doughslice/Initialize()
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/bun
- name = "bun"
- desc = "A base for any self-respecting burger."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "bun"
- bitesize = 2
- nutriment_amt = 4
- nutriment_desc = list("bun" = 4)
-
-/obj/item/reagent_containers/food/snacks/bun/Initialize()
- . = ..()
-
-/* BEGIN CITADEL CHANGE - Moved to /modular_citadel/code/modules/food/food/snacks.dm for Aurora kitchen port
-/obj/item/reagent_containers/food/snacks/bun/attackby(obj/item/W as obj, mob/user as mob)
- // Bun + meatball = burger
- if(istype(W,/obj/item/reagent_containers/food/snacks/meatball))
- new /obj/item/reagent_containers/food/snacks/monkeyburger(src)
- to_chat(user, "You make a burger.")
- qdel(W)
- qdel(src)
-
- // Bun + cutlet = hamburger
- else if(istype(W,/obj/item/reagent_containers/food/snacks/cutlet))
- new /obj/item/reagent_containers/food/snacks/monkeyburger(src)
- to_chat(user, "You make a burger.")
- qdel(W)
- qdel(src)
-
- // Bun + sausage = hotdog
- else if(istype(W,/obj/item/reagent_containers/food/snacks/sausage))
- new /obj/item/reagent_containers/food/snacks/hotdog(src)
- to_chat(user, "You make a hotdog.")
- qdel(W)
- qdel(src)
-END CITADEL CHANGE */
-
-// Burger + cheese wedge = cheeseburger
-/obj/item/reagent_containers/food/snacks/monkeyburger/attackby(obj/item/reagent_containers/food/snacks/cheesewedge/W as obj, mob/user as mob)
- if(istype(W))// && !istype(src,/obj/item/reagent_containers/food/snacks/cheesewedge))
- new /obj/item/reagent_containers/food/snacks/cheeseburger(src)
- to_chat(user, "You make a cheeseburger.")
- qdel(W)
- qdel(src)
- return
- else
- . = ..()
-
-// Human Burger + cheese wedge = cheeseburger
-/obj/item/reagent_containers/food/snacks/human/burger/attackby(obj/item/reagent_containers/food/snacks/cheesewedge/W as obj, mob/user as mob)
- if(istype(W))
- new /obj/item/reagent_containers/food/snacks/cheeseburger(src)
- to_chat(user, "You make a cheeseburger.")
- qdel(W)
- qdel(src)
- return
- else
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/bunbun // Name fix
- name = "Improper Bun Bun"
- desc = "A small bread monkey fashioned from two burger buns."
- icon_state = "bunbun"
- bitesize = 2
- nutriment_amt = 8
- nutriment_desc = list("bun" = 8)
-
-/obj/item/reagent_containers/food/snacks/bunbun/Initialize()
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/taco
- name = "taco"
- desc = "Take a bite!"
- icon_state = "taco"
- bitesize = 3
- nutriment_amt = 4
- nutriment_desc = list("cheese" = 2,"taco shell" = 2)
-/obj/item/reagent_containers/food/snacks/taco/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
-
-/obj/item/reagent_containers/food/snacks/rawcutlet
- name = "raw cutlet"
- desc = "A thin piece of raw meat."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "rawcutlet"
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/rawcutlet/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
-
-/obj/item/reagent_containers/food/snacks/cutlet
- name = "cutlet"
- desc = "A tasty meat slice."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "cutlet"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cutlet/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
-
-/obj/item/reagent_containers/food/snacks/rawmeatball
- name = "raw meatball"
- desc = "A raw meatball."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "rawmeatball"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/rawmeatball/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
-
-/obj/item/reagent_containers/food/snacks/hotdog
- name = "hotdog"
- desc = "Unrelated to dogs, maybe."
- icon_state = "hotdog"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/hotdog/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
-
-/obj/item/reagent_containers/food/snacks/flatbread
- name = "flatbread"
- desc = "Bland but filling."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "flatbread"
- bitesize = 2
- nutriment_amt = 3
- nutriment_desc = list("bread" = 3)
-
-/obj/item/reagent_containers/food/snacks/flatbread/Initialize()
- . = ..()
-
-// potato + knife = raw sticks
-/obj/item/reagent_containers/food/snacks/grown/attackby(obj/item/W, mob/user)
- if(seed && seed.kitchen_tag && seed.kitchen_tag == "potato" && istype(W,/obj/item/material/knife))
- new /obj/item/reagent_containers/food/snacks/rawsticks(get_turf(src))
- to_chat(user, "You cut the potato.")
- qdel(src)
- else
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/rawsticks
- name = "raw potato sticks"
- desc = "Raw fries, not very tasty."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "rawsticks"
- bitesize = 2
- nutriment_amt = 3
- nutriment_desc = list("raw potato" = 3)
-
-/obj/item/reagent_containers/food/snacks/rawsticks/Initialize()
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/liquidfood // Buff back to 30 from 20
- name = "\improper LiquidFood Ration"
- desc = "A prepackaged grey slurry of all the essential nutrients for a spacefarer on the go. Should this be crunchy?"
- icon_state = "liquidfood"
- trash = /obj/item/trash/liquidfood
- filling_color = "#A8A8A8"
- survivalfood = TRUE
- center_of_mass = list("x"=16, "y"=15)
- nutriment_amt = 30
- bitesize = 4
- nutriment_desc = list("chalk" = 6)
-
-/obj/item/reagent_containers/food/snacks/liquidfood/Initialize()
- ..()
- reagents.add_reagent("iron", 3)
-
-/obj/item/reagent_containers/food/snacks/liquidvitamin
- name = "\improper VitaPaste Ration"
- desc = "A variant of the liquidfood ration, designed for any carbon-based life. Somehow worse than regular liquidfood. Should this be crunchy?"
- icon_state = "liquidvitamin"
- trash = /obj/item/trash/liquidvitamin
- filling_color = "#A8A8A8"
- bitesize = 6
- survivalfood = TRUE
- center_of_mass = list("x"=16, "y"=15)
-
-/obj/item/reagent_containers/food/snacks/liquidvitamin/Initialize()
- ..()
- reagents.add_reagent("nutriflour", 20)
- reagents.add_reagent("tricordrazine", 5)
- reagents.add_reagent("paracetamol", 5)
- reagents.add_reagent("enzyme", 1)
- reagents.add_reagent("iron", 3)
-
-/obj/item/reagent_containers/food/snacks/meatcube
- name = "cubed meat"
- desc = "Fried, salted lean meat compressed into a cube. Not very appetizing."
- icon_state = "meatcube"
- filling_color = "#7a3d11"
- center_of_mass = list("x"=16, "y"=16)
-
-/obj/item/reagent_containers/food/snacks/meatcube/Initialize()
- . = ..()
- reagents.add_reagent("protein", 15)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/liquidprotein // Added Protein only version of LiquidFood + added custom sprite for it
- name = "\improper LiquidProtein Ration"
- desc = "A variant of the liquidfood ration, designed for obligate carnivore species. Only barely more appealing than regular liquidfood. Should this be crunchy?"
- icon_state = "liquidprotein"
- trash = /obj/item/trash/liquidprotein
- filling_color = "#A8A8A8"
- bitesize = 4
- center_of_mass = list("x"=16, "y"=15)
-
-/obj/item/reagent_containers/food/snacks/liquidprotein/Initialize()
- ..()
- reagents.add_reagent("protein", 30)
- reagents.add_reagent("iron", 3)
-
-/obj/item/reagent_containers/food/snacks/tastybread
- name = "bread tube"
- desc = "Bread in a tube. Chewy...and surprisingly tasty."
- icon_state = "tastybread"
- trash = /obj/item/trash/tastybread
- filling_color = "#A66829"
- center_of_mass = list("x"=17, "y"=16)
- nutriment_amt = 6
- nutriment_desc = list("bread" = 2, "sweetness" = 3)
-
-/obj/item/reagent_containers/food/snacks/tastybread/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/skrellsnacks // Buff 10 >> 12
- name = "\improper SkrellSnax"
- desc = "Cured fungus shipped all the way from Qerr'balak, almost like jerky! Almost."
- icon_state = "skrellsnacks"
- filling_color = "#A66829"
- nutriment_amt = 12
- nutriment_desc = list("mushroom" = 5, "salt" = 5)
-
-/obj/item/reagent_containers/food/snacks/skrellsnacks/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/unajerky // Buff 8 >> 10
- name = "Moghes Imported Sissalik Jerky"
- icon_state = "unathitinred"
- desc = "An incredibly well made jerky, shipped in all the way from Moghes."
- trash = /obj/item/trash/unajerky
- filling_color = "#631212"
-
-/obj/item/reagent_containers/food/snacks/unajerky/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- reagents.add_reagent("capsaicin", 2)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/croissant
- name = "croissant"
- desc = "True French cuisine."
- filling_color = "#E3D796"
- icon_state = "croissant"
- nutriment_amt = 6
- nutriment_desc = list("french bread" = 6)
-
-/obj/item/reagent_containers/food/snacks/croissant/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meatbun // Buff 8 >> 10
- name = "meat bun"
- desc = "Chinese street food, in neither China nor a street."
- filling_color = "#DEDEAB"
- icon_state = "meatbun"
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/meatbun/Initialize()
- . = ..()
- bitesize = 3
- reagents.add_reagent("protein", 5)
-
-/obj/item/reagent_containers/food/snacks/sashimi // Buff 8 >> 10
- name = "carp sashimi"
- desc = "Expertly prepared. Still toxic."
- filling_color = "#FFDEFE"
- icon_state = "sashimi"
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/sashimi/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- reagents.add_reagent("carpotoxin", 2)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/benedict // Buff 6 >> 8
- name = "eggs benedict"
- desc = "Hey, there's only one egg in this!"
- filling_color = "#FFDF78"
- icon_state = "benedict"
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/benedict/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/beans
- name = "baked beans"
- desc = "Musical fruit in a slightly less musical container."
- filling_color = "#FC6F28"
- icon_state = "beans"
- nutriment_amt = 4
- nutriment_desc = list("beans" = 4)
-
-/obj/item/reagent_containers/food/snacks/beans/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/sugarcookie
- name = "sugar cookie"
- desc = "Just like your little sister used to make."
- filling_color = "#DBC94F"
- icon_state = "sugarcookie"
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 4, "cookie" = 1)
-
-/obj/item/reagent_containers/food/snacks/sugarcookie/Initialize()
- . = ..()
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/berrymuffin
- name = "berry muffin"
- desc = "A delicious and spongy little cake, with berries."
- icon_state = "berrymuffin"
- filling_color = "#E0CF9B"
- nutriment_amt = 6
- nutriment_desc = list("sweetness" = 2, "muffin" = 2, "berries" = 2)
-
-/obj/item/reagent_containers/food/snacks/berrymuffin/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/ghostmuffin
- name = "booberry muffin"
- desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
- icon_state = "berrymuffin"
- filling_color = "#799ACE"
- nutriment_amt = 6
- nutriment_desc = list("spookiness" = 4, "muffin" = 1, "berries" = 1)
-
-/obj/item/reagent_containers/food/snacks/ghostmuffin/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/eggroll // Buff 8 >> 12
- name = "egg roll"
- desc = "Free with orders over 10 thalers."
- icon_state = "eggroll"
- filling_color = "#799ACE"
- nutriment_desc = list("egg" = 4)
-
-/obj/item/reagent_containers/food/snacks/eggroll/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("protein", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/fruitsalad // Buff 10 >> 15
- name = "fruit salad"
- desc = "Your standard fruit salad."
- icon_state = "fruitsalad"
- filling_color = "#FF3867"
- nutriment_desc = list("fruit" = 10)
-
-/obj/item/reagent_containers/food/snacks/fruitsalad/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 15)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/eggbowl // Buff 10 >> 15
- name = "egg bowl"
- desc = "A bowl of fried rice with egg mixed in."
- icon_state = "eggbowl"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FFFBDB"
- nutriment_desc = list("rice" = 2, "egg" = 4)
-
-/obj/item/reagent_containers/food/snacks/eggbowl/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("protein", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/porkbowl // Buff 10 >> 16
- name = "pork bowl"
- desc = "A bowl of fried rice with cuts of meat."
- icon_state = "porkbowl"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FFFBDB"
- nutriment_desc = list("rice" = 2, "meat" = 4)
-
-/obj/item/reagent_containers/food/snacks/porkbowl/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 11)
- reagents.add_reagent("protein", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/tortilla
- name = "tortilla"
- desc = "The base for all your burritos."
- icon_state = "tortilla"
- nutriment_amt = 1
- nutriment_desc = list("bread" = 1)
-
-/obj/item/reagent_containers/food/snacks/tortilla/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meatburrito
- name = "carne asada burrito"
- desc = "The best burrito for meat lovers."
- icon_state = "carneburrito"
- nutriment_amt = 6
- nutriment_desc = list("tortilla" = 3, "meat" = 3)
-
-/obj/item/reagent_containers/food/snacks/meatburrito/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cheeseburrito // Balance
- name = "Cheese burrito"
- desc = "It's a burrito filled with cheese."
- icon_state = "cheeseburrito"
- nutriment_desc = list("tortilla" = 3, "cheese" = 3)
-
-/obj/item/reagent_containers/food/snacks/cheeseburrito/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/fuegoburrito
- name = "fuego phoron burrito"
- desc = "A super spicy burrito."
- icon_state = "fuegoburrito"
- nutriment_amt = 6
- nutriment_desc = list("chili peppers" = 5, "tortilla" = 1)
-
-/obj/item/reagent_containers/food/snacks/fuegoburrito/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("capsaicin", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/nachos // Buff 1 >> 4
- name = "nachos"
- desc = "Chips from Old Mexico."
- icon_state = "nachos"
- nutriment_desc = list("salt" = 1)
-
-/obj/item/reagent_containers/food/snacks/nachos/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 4)
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/cheesenachos
- name = "cheesy nachos"
- desc = "The delicious combination of nachos and melting cheese."
- icon_state = "cheesenachos"
- nutriment_desc = list("salt" = 2, "cheese" = 3)
-
-/obj/item/reagent_containers/food/snacks/cheesenachos/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/cubannachos
- name = "cuban nachos"
- desc = "That's some dangerously spicy nachos."
- icon_state = "cubannachos"
- nutriment_amt = 6
- nutriment_desc = list("salt" = 1, "cheese" = 2, "chili peppers" = 3)
-
-/obj/item/reagent_containers/food/snacks/cubannachos/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("capsaicin", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/piginblanket
- name = "pig in a blanket"
- desc = "A sausage embedded in soft, fluffy pastry. Free this pig from its blanket prison by eating it."
- icon_state = "piginblanket"
- nutriment_amt = 6
- nutriment_desc = list("meat" = 3, "pastry" = 3)
-
-/obj/item/reagent_containers/food/snacks/piginblanket/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("protein", 4)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/macncheese
- name = "macaroni and cheese"
- desc = "The perfect combination of noodles and dairy."
- icon = 'modular_citadel/icons/obj/food_cit.dmi'
- icon_state = "macncheese"
- trash = /obj/item/trash/snack_bowl
- nutriment_amt = 9
- nutriment_desc = list("Cheese" = 5, "pasta" = 4, "happiness" = 1)
-
-/obj/item/reagent_containers/food/snacks/macncheese/Initialize()
- . = ..()
- bitesize = 3
-
-//Code for dipping food in batter
-/obj/item/reagent_containers/food/snacks/afterattack(obj/O as obj, mob/user as mob, proximity)
- if(O.is_open_container() && O.reagents && !(istype(O, /obj/item/reagent_containers/food)))
- for (var/r in O.reagents.reagent_list)
-
- var/datum/reagent/R = r
- if (istype(R, /datum/reagent/nutriment/coating))
- if (apply_coating(R, user))
- return 1
-
- return ..()
-
-//This proc handles drawing coatings out of a container when this food is dipped into it
-/obj/item/reagent_containers/food/snacks/proc/apply_coating(var/datum/reagent/nutriment/coating/C, var/mob/user)
- if (coating)
- to_chat(user, "The [src] is already coated in [coating.name]!")
- return 0
-
- //Calculate the reagents of the coating needed
- var/req = 0
- for (var/r in reagents.reagent_list)
- var/datum/reagent/R = r
- if (istype(R, /datum/reagent/nutriment))
- req += R.volume * 0.2
- else
- req += R.volume * 0.1
-
- req += w_class*0.5
-
- if (!req)
- //the food has no reagents left, its probably getting deleted soon
- return 0
-
- if (C.volume < req)
- user << span("warning", "There's not enough [C.name] to coat the [src]!")
- return 0
-
- var/id = C.id
-
- //First make sure there's space for our batter
- if (reagents.get_free_space() < req+5)
- var/extra = req+5 - reagents.get_free_space()
- reagents.maximum_volume += extra
-
- //Suck the coating out of the holder
- C.holder.trans_to_holder(reagents, req)
-
- //We're done with C now, repurpose the var to hold a reference to our local instance of it
- C = reagents.get_reagent(id)
- if (!C)
- return
-
- coating = C
- //Now we have to do the witchcraft with masking images
- //var/icon/I = new /icon(icon, icon_state)
-
- if (!flat_icon)
- flat_icon = getFlatIcon(src)
- var/icon/I = flat_icon
- color = "#FFFFFF" //Some fruits use the color var. Reset this so it doesnt tint the batter
- I.Blend(new /icon('icons/obj/food_custom.dmi', rgb(255,255,255)),ICON_ADD)
- I.Blend(new /icon('icons/obj/food_custom.dmi', coating.icon_raw),ICON_MULTIPLY)
- var/image/J = image(I)
- J.alpha = 200
- J.blend_mode = BLEND_OVERLAY
- J.tag = "coating"
- overlays += J
-
- if (user)
- user.visible_message(span("notice", "[user] dips \the [src] into \the [coating.name]"), span("notice", "You dip \the [src] into \the [coating.name]"))
-
- return 1
-
-
-//Called by cooking machines. This is mainly intended to set properties on the food that differ between raw/cooked
-/obj/item/reagent_containers/food/snacks/proc/cook()
- if (coating)
- var/list/temp = overlays.Copy()
- for (var/i in temp)
- if (istype(i, /image))
- var/image/I = i
- if (I.tag == "coating")
- temp.Remove(I)
- break
-
- overlays = temp
- //Carefully removing the old raw-batter overlay
-
- if (!flat_icon)
- flat_icon = getFlatIcon(src)
- var/icon/I = flat_icon
- color = "#FFFFFF" //Some fruits use the color var
- I.Blend(new /icon('icons/obj/food_custom.dmi', rgb(255,255,255)),ICON_ADD)
- I.Blend(new /icon('icons/obj/food_custom.dmi', coating.icon_cooked),ICON_MULTIPLY)
- var/image/J = image(I)
- J.alpha = 200
- J.tag = "coating"
- overlays += J
-
-
- if (do_coating_prefix == 1)
- name = "[coating.coated_adj] [name]"
-
- for (var/r in reagents.reagent_list)
- var/datum/reagent/R = r
- if (istype(R, /datum/reagent/nutriment/coating))
- var/datum/reagent/nutriment/coating/C = R
- C.data["cooked"] = 1
- C.name = C.cooked_name
-
-/obj/item/reagent_containers/food/snacks/proc/on_consume(var/mob/eater, var/mob/feeder = null)
- if(!reagents.total_volume)
- eater.visible_message("[eater] finishes eating \the [src].","You finish eating \the [src].")
-
- if (!feeder)
- feeder = eater
-
- feeder.drop_from_inventory(src) //so icons update :[ //what the fuck is this????
-
- if(trash)
- if(ispath(trash,/obj/item))
- var/obj/item/TrashItem = new trash(feeder)
- feeder.put_in_hands(TrashItem)
- else if(istype(trash,/obj/item))
- feeder.put_in_hands(trash)
- qdel(src)
- return
-////////////////////////////////////////////////////////////////////////////////
-/// FOOD END
-////////////////////////////////////////////////////////////////////////////////
-
-/mob/living
- var/composition_reagent
- var/composition_reagent_quantity
-
-/mob/living/simple_animal/adultslime
- composition_reagent = "slimejelly"
-
-/mob/living/carbon/slime
- composition_reagent = "slimejelly"
-
-/mob/living/carbon/alien/diona
- composition_reagent = "nutriment"//Dionae are plants, so eating them doesn't give animal protein
-
-/mob/living/simple_mob/slime
- composition_reagent = "slimejelly"
-
-/mob/living/simple_animal
- var/kitchen_tag = "animal" //Used for cooking with animals
-
-/mob/living/simple_animal/mouse
- kitchen_tag = "rodent"
-
-/mob/living/simple_animal/lizard
- kitchen_tag = "lizard"
-
-/obj/item/reagent_containers/food/snacks/sliceable/cheesewheel
- slices_num = 8
-
-/obj/item/reagent_containers/food/snacks/sausage/battered
- name = "battered sausage"
- desc = "A piece of mixed, long meat, battered and then deepfried."
- icon_state = "batteredsausage"
- filling_color = "#DB0000"
- do_coating_prefix = 0
-
-/obj/item/reagent_containers/food/snacks/sausage/battered/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("batter", 1.7)
- reagents.add_reagent("oil", 1.5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/jalapeno_poppers
- name = "jalapeno popper"
- desc = "A battered, deep-fried chilli pepper."
- icon_state = "popper"
- filling_color = "#00AA00"
- do_coating_prefix = 0
- nutriment_amt = 2
- nutriment_desc = list("chilli pepper" = 2)
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/jalapeno_poppers/Initialize()
- . = ..()
- reagents.add_reagent("batter", 2)
- reagents.add_reagent("oil", 2)
-
-/obj/item/reagent_containers/food/snacks/mouseburger
- name = "mouse burger"
- desc = "Squeaky and a little furry."
- icon_state = "ratburger"
-
-/obj/item/reagent_containers/food/snacks/mouseburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/lizardburger
- name = "lizard burger"
- desc = "Tastes like chicken."
- icon_state = "baconburger"
-
-/obj/item/reagent_containers/food/snacks/lizardburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/chickenkatsu
- name = "chicken katsu"
- desc = "A Terran delicacy consisting of chicken fried in a light beer batter."
- icon_state = "katsu"
- trash = /obj/item/trash/plate
- filling_color = "#E9ADFF"
- do_coating_prefix = 0
-
-/obj/item/reagent_containers/food/snacks/chickenkatsu/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("beerbatter", 2)
- reagents.add_reagent("oil", 1)
- bitesize = 1.5
-
-/obj/item/reagent_containers/food/snacks/fries
- nutriment_amt = 4
- nutriment_desc = list("fries" = 4)
-
-/obj/item/reagent_containers/food/snacks/fries/Initialize()
- . = ..()
- reagents.add_reagent("oil", 1.2)//This is mainly for the benefit of adminspawning
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/microchips
- name = "micro chips"
- desc = "Soft and rubbery, should have fried them. Good for smaller crewmembers, maybe?"
- icon_state = "microchips"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 4
- nutriment_desc = list("soggy fries" = 4)
-
-/obj/item/reagent_containers/food/snacks/microchips/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/ovenchips
- name = "oven chips"
- desc = "Dark and crispy, but a bit dry."
- icon_state = "ovenchips"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 4
- nutriment_desc = list("crisp, dry fries" = 4)
-
-/obj/item/reagent_containers/food/snacks/ovenchips/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meatsteak/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("triglyceride", 2)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("blackpepper", 1)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/crunch
- name = "pizza crunch"
- desc = "This was once a normal pizza, but it has been coated in batter and deep-fried. Whatever toppings it once had are a mystery, but they're still under there, somewhere..."
- icon_state = "pizzacrunch"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzacrunchslice
- slices_num = 6
- nutriment_amt = 25
- nutriment_desc = list("fried pizza" = 25)
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/crunch/Initialize()
- . = ..()
- reagents.add_reagent("batter", 6.5)
- coating = reagents.get_reagent("batter")
- reagents.add_reagent("oil", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/pizzacrunchslice
- name = "pizza crunch"
- desc = "A little piece of a heart attack. Its toppings are a mystery, hidden under batter."
- icon_state = "pizzacrunchslice"
- filling_color = "#BAA14C"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/funnelcake
- name = "funnel cake"
- desc = "Funnel cakes rule!"
- icon_state = "funnelcake"
- filling_color = "#Ef1479"
- do_coating_prefix = 0
-
-/obj/item/reagent_containers/food/snacks/funnelcake/Initialize()
- . = ..()
- reagents.add_reagent("batter", 10)
- reagents.add_reagent("sugar", 5)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/spreads
- name = "nutri-spread"
- desc = "A stick of plant-based nutriments in a semi-solid form. I can't believe it's not margarine!"
- icon_state = "marge"
- bitesize = 2
- nutriment_desc = list("margarine" = 1)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/spreads/butter
- name = "butter"
- desc = "A stick of pure butterfat made from milk products."
- icon_state = "butter"
- bitesize = 2
- nutriment_desc = list("butter" = 1)
- nutriment_amt = 0
-
-/obj/item/reagent_containers/food/snacks/spreads/Initialize()
- . = ..()
- reagents.add_reagent("triglyceride", 20)
- reagents.add_reagent("sodiumchloride",1)
-
-/obj/item/reagent_containers/food/snacks/rawcutlet/attackby(obj/item/W as obj, mob/user as mob)
- if(istype(W,/obj/item/material/knife))
- new /obj/item/reagent_containers/food/snacks/rawbacon(src)
- new /obj/item/reagent_containers/food/snacks/rawbacon(src)
- to_chat(user, "You slice the cutlet into thin strips of bacon.")
- qdel(src)
- else
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/rawbacon
- name = "raw bacon"
- desc = "A very thin piece of raw meat, cut from beef."
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "rawbacon"
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/rawbacon/Initialize()
- . = ..()
- reagents.add_reagent("protein", 0.33)
-
-/obj/item/reagent_containers/food/snacks/bacon
- name = "bacon"
- desc = "A tasty meat slice. You don't see any pigs on this station, do you?"
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "bacon"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/bacon/microwave
- name = "microwaved bacon"
- desc = "A tasty meat slice. You don't see any pigs on this station, do you?"
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "bacon"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/bacon/oven
- name = "oven-cooked bacon"
- desc = "A tasty meat slice. You don't see any pigs on this station, do you?"
- icon = 'icons/obj/food_ingredients.dmi'
- icon_state = "bacon"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/bacon/Initialize()
- . = ..()
- reagents.add_reagent("protein", 0.33)
- reagents.add_reagent("triglyceride", 1)
-
-/obj/item/reagent_containers/food/snacks/bacon_stick
- name = "eggpop"
- desc = "A bacon wrapped boiled egg, conviently skewered on a wooden stick."
- icon_state = "bacon_stick"
-
-/obj/item/reagent_containers/food/snacks/bacon_stick/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent("egg", 1)
-
-/obj/item/reagent_containers/food/snacks/chilied_eggs
- name = "chilied eggs"
- desc = "Three deviled eggs floating in a bowl of meat chili. A popular lunchtime meal for Unathi in Ouerea."
- icon_state = "chilied_eggs"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/reagent_containers/food/snacks/chilied_eggs/Initialize()
- . = ..()
- reagents.add_reagent("egg", 6)
- reagents.add_reagent("protein", 2)
-
-
-/obj/item/reagent_containers/food/snacks/cheese_cracker
- name = "supreme cheese toast"
- desc = "A piece of toast lathered with butter, cheese, spices, and herbs."
- icon_state = "cheese_cracker"
- nutriment_desc = list("cheese toast" = 8)
- nutriment_amt = 8
-
-/obj/item/reagent_containers/food/snacks/bacon_and_eggs
- name = "bacon and eggs"
- desc = "A piece of bacon and two fried eggs."
- icon_state = "bacon_and_eggs"
- trash = /obj/item/trash/plate
-
-/obj/item/reagent_containers/food/snacks/bacon_and_eggs/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent("egg", 1)
-
-/obj/item/reagent_containers/food/snacks/sweet_and_sour
- name = "sweet and sour pork"
- desc = "A traditional ancient sol recipe with a few liberties taken with meat selection."
- icon_state = "sweet_and_sour"
- nutriment_desc = list("sweet and sour" = 6)
- nutriment_amt = 6
- trash = /obj/item/trash/plate
-
-/obj/item/reagent_containers/food/snacks/sweet_and_sour/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
-
-/obj/item/reagent_containers/food/snacks/corn_dog
- name = "corn dog"
- desc = "A cornbread covered sausage deepfried in oil."
- icon_state = "corndog"
- nutriment_desc = list("corn batter" = 4)
- nutriment_amt = 4
-
-/obj/item/reagent_containers/food/snacks/corn_dog/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
-
-/obj/item/reagent_containers/food/snacks/truffle
- name = "chocolate truffle"
- desc = "Rich bite-sized chocolate."
- icon_state = "truffle"
- nutriment_amt = 0
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/truffle/Initialize()
- . = ..()
- reagents.add_reagent("coco", 6)
-
-/obj/item/reagent_containers/food/snacks/truffle/random
- name = "mystery chocolate truffle"
- desc = "Rich bite-sized chocolate with a mystery filling!"
-
-/obj/item/reagent_containers/food/snacks/truffle/random/Initialize()
- . = ..()
- var/reagent_string = pick(list("cream","cherryjelly","mint","frostoil","capsaicin","cream","coffee","milkshake"))
- reagents.add_reagent(reagent_string, 4)
-
-/obj/item/reagent_containers/food/snacks/bacon_flatbread
- name = "bacon cheese flatbread"
- desc = "Not a pizza."
- icon_state = "bacon_pizza"
- nutriment_desc = list("flatbread" = 5)
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/bacon_flatbread/Initialize()
- . = ..()
- reagents.add_reagent("protein", 5)
-
-/obj/item/reagent_containers/food/snacks/meat_pocket
- name = "meat pocket"
- desc = "Meat and cheese stuffed in a flatbread pocket, grilled to perfection."
- icon_state = "meat_pocket"
- nutriment_desc = list("flatbread" = 3)
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/meat_pocket/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
-
-/obj/item/reagent_containers/food/snacks/fish_taco
- name = "carp taco"
- desc = "A questionably cooked fish taco decorated with herbs, spices, and special sauce."
- icon_state = "fish_taco"
- nutriment_desc = list("flatbread" = 3)
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/fish_taco/Initialize()
- . = ..()
- reagents.add_reagent("seafood",3)
-
-/obj/item/reagent_containers/food/snacks/nt_muffin
- name = "\improper NtMuffin"
- desc = "A NanoTrasen sponsered biscuit with egg, cheese, and sausage."
- icon_state = "nt_muffin"
- nutriment_desc = list("biscuit" = 3)
- nutriment_amt = 3
-
-/obj/item/reagent_containers/food/snacks/nt_muffin/Initialize()
- . = ..()
- reagents.add_reagent("protein",5)
-
-/obj/item/reagent_containers/food/snacks/pineapple_ring
- name = "pineapple ring"
- desc = "What the hell is this?"
- icon_state = "pineapple_ring"
- nutriment_desc = list("sweetness" = 2)
- nutriment_amt = 2
-
-/obj/item/reagent_containers/food/snacks/pineapple_ring/Initialize()
- . = ..()
- reagents.add_reagent("pineapplejuice",3)
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple
- name = "ham & pineapple pizza"
- desc = "One of the most debated pizzas in existence."
- icon_state = "pineapple_pizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pineappleslice
- slices_num = 6
- nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "ham" = 10)
- nutriment_amt = 30
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- reagents.add_reagent("cheese", 5)
- reagents.add_reagent("tomatojuice", 6)
-
-/obj/item/reagent_containers/food/snacks/pineappleslice
- name = "ham & pineapple pizza slice"
- desc = "A slice of contraband."
- icon_state = "pineapple_pizza_slice"
- filling_color = "#BAA14C"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/pineappleslice/filled
- nutriment_desc = list("pizza crust" = 5, "tomato" = 5)
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/burger/bacon // Buff 7 >> 15
- name = "bacon burger"
- desc = "The cornerstone of every nutritious breakfast, now with bacon!"
- icon_state = "baconburger"
- filling_color = "#D63C3C"
- nutriment_desc = list("bun" = 2)
- nutriment_amt = 8
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/burger/bacon/Initialize()
- . = ..()
- reagents.add_reagent("protein", 7)
-
-/obj/item/reagent_containers/food/snacks/blt // Buff 8 >> 16
- name = "BLT"
- desc = "Bacon, lettuce, tomatoes. The perfect lunch."
- icon_state = "blt"
- filling_color = "#D63C3C"
- nutriment_desc = list("bread" = 4)
- nutriment_amt = 8
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/blt/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
-
-/obj/item/reagent_containers/food/snacks/onionrings
- name = "onion rings"
- desc = "Like circular fries but better."
- icon_state = "onionrings"
- trash = /obj/item/trash/plate
- filling_color = "#eddd00"
- nutriment_desc = list("fried onions" = 5)
- nutriment_amt = 5
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/berrymuffin
- name = "berry muffin"
- desc = "A delicious and spongy little cake, with berries."
- icon_state = "berrymuffin"
- filling_color = "#E0CF9B"
- nutriment_amt = 5
- nutriment_desc = list("sweetness" = 1, "muffin" = 2, "berries" = 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/soup/onion
- name = "onion soup"
- desc = "A soup with layers."
- icon_state = "onionsoup"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#E0C367"
- nutriment_amt = 5
- nutriment_desc = list("onion" = 2, "soup" = 2)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/porkbowl
- name = "pork bowl"
- desc = "A bowl of fried rice with cuts of meat."
- icon_state = "porkbowl"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FFFBDB"
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/porkbowl/Initialize()
- . = ..()
- reagents.add_reagent("rice", 6)
- reagents.add_reagent("protein", 4)
-
-/obj/item/reagent_containers/food/snacks/mashedpotato
- name = "mashed potato"
- desc = "Pillowy mounds of mashed potato."
- icon_state = "mashedpotato"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 4
- nutriment_desc = list("mashed potatoes" = 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/croissant
- name = "croissant"
- desc = "True french cuisine."
- filling_color = "#E3D796"
- icon_state = "croissant"
- nutriment_amt = 4
- nutriment_desc = list("french bread" = 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/crabmeat
- name = "crab legs"
- desc = "... Coffee? Is that you?"
- icon_state = "crabmeat"
- bitesize = 1
-
-/obj/item/reagent_containers/food/snacks/crabmeat/Initialize()
- . = ..()
- reagents.add_reagent("seafood", 2)
-
-/obj/item/reagent_containers/food/snacks/crab_legs
- name = "steamed crab legs"
- desc = "Crab legs steamed and buttered to perfection. One day when the boss gets hungry..."
- icon_state = "crablegs"
- nutriment_amt = 2
- nutriment_desc = list("savory butter" = 2)
- bitesize = 2
- trash = /obj/item/trash/plate
-
-/obj/item/reagent_containers/food/snacks/crab_legs/Initialize()
- . = ..()
- reagents.add_reagent("seafood", 6)
- reagents.add_reagent("sodiumchloride", 1)
-
-/obj/item/reagent_containers/food/snacks/pancakes
- name = "pancakes"
- desc = "Pancakes with berries, delicious."
- icon_state = "pancakes"
- trash = /obj/item/trash/plate
- nutriment_desc = list("pancake" = 8)
- nutriment_amt = 8
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/nugget
- name = "chicken nugget"
- icon_state = "nugget_lump"
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/nugget/Initialize()
- . = ..()
- var/shape = pick("lump", "star", "lizard", "corgi")
- desc = "A chicken nugget vaguely shaped like a [shape]."
- icon_state = "nugget_[shape]"
- reagents.add_reagent("protein", 4)
-
-/obj/item/reagent_containers/food/snacks/icecreamsandwich
- name = "ice cream sandwich"
- desc = "Portable ice cream in its own packaging."
- icon_state = "icecreamsandwich"
- filling_color = "#343834"
- nutriment_desc = list("ice cream" = 4)
- nutriment_amt = 4
-
-/obj/item/reagent_containers/food/snacks/honeybun
- name = "honey bun"
- desc = "A sticky pastry bun glazed with honey."
- icon_state = "honeybun"
- nutriment_desc = list("pastry" = 1)
- nutriment_amt = 3
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/honeybun/Initialize()
- . = ..()
- reagents.add_reagent("honey", 3)
-
-// Moved /bun/attackby() from /code/modules/food/food/snacks.dm
-/obj/item/reagent_containers/food/snacks/bun/attackby(obj/item/W as obj, mob/user as mob)
- //i honestly should probably refactor this whole thing but idgaf
- if(istype(W,/obj/item/storage))
- . = ..() //if you want to bag a ton of buns idk i don't play chef
- return
-
- var/obj/item/reagent_containers/food/snacks/result = null
- // Bun + meatball = burger
- if(istype(W,/obj/item/reagent_containers/food/snacks/meatball))
- result = new /obj/item/reagent_containers/food/snacks/monkeyburger(src)
- to_chat(user, "You make a burger.")
- qdel(W)
- qdel(src)
-
- // Bun + cutlet = hamburger
- else if(istype(W,/obj/item/reagent_containers/food/snacks/cutlet))
- result = new /obj/item/reagent_containers/food/snacks/monkeyburger(src)
- to_chat(user, "You make a burger.")
- qdel(W)
- qdel(src)
-
- // Bun + sausage = hotdog
- else if(istype(W,/obj/item/reagent_containers/food/snacks/sausage))
- result = new /obj/item/reagent_containers/food/snacks/hotdog(src)
- to_chat(user, "You make a hotdog.")
- qdel(W)
- qdel(src)
-
- // Bun + mouse = mouseburger
- else if(istype(W,/obj/item/reagent_containers/food/snacks/variable/mob))
- var/obj/item/reagent_containers/food/snacks/variable/mob/MF = W
-
- switch (MF.kitchen_tag)
- if ("rodent")
- result = new /obj/item/reagent_containers/food/snacks/mouseburger(src)
- to_chat(user, "You make a mouse burger!")
-
- switch (MF.kitchen_tag)
- if ("lizard")
- result = new /obj/item/reagent_containers/food/snacks/mouseburger(src)
- to_chat(user, "You make a lizard burger!")
- if (result)
- if (W.reagents)
- //Reagents of reuslt objects will be the sum total of both. Except in special cases where nonfood items are used
- //Eg robot head
- result.reagents.clear_reagents()
- W.reagents.trans_to(result, W.reagents.total_volume)
- reagents.trans_to(result, reagents.total_volume)
-
- //If the bun was in your hands, the result will be too
- if (loc == user)
- user.drop_from_inventory(src)
- user.put_in_hands(result)
-
-// Chip update.
-/obj/item/reagent_containers/food/snacks/tortilla
- name = "tortilla"
- desc = "A thin, flour-based tortilla that can be used in a variety of dishes, or can be served as is."
- icon_state = "tortilla"
- bitesize = 3
- nutriment_desc = list("tortilla" = 1)
- nutriment_amt = 6
-
-//chips
-/obj/item/reagent_containers/food/snacks/chip
- name = "chip"
- desc = "A portion sized chip good for dipping."
- icon_state = "chip"
- var/bitten_state = "chip_half"
- bitesize = 1
- nutriment_desc = list("fried tortilla chips" = 2)
- nutriment_amt = 2
-
-/obj/item/reagent_containers/food/snacks/chip/on_consume(mob/M as mob)
- . = ..()
- if(reagents && reagents.total_volume)
- icon_state = bitten_state
-
-/obj/item/reagent_containers/food/snacks/chip/salsa
- name = "salsa chip"
- desc = "A portion sized chip good for dipping. This one has salsa on it."
- icon_state = "chip_salsa"
- bitten_state = "chip_half"
- nutriment_desc = list("fried tortilla chips" = 1, "salsa" = 1)
-
-/obj/item/reagent_containers/food/snacks/chip/guac
- name = "guac chip"
- desc = "A portion sized chip good for dipping. This one has guac on it."
- icon_state = "chip_guac"
- bitten_state = "chip_half"
- nutriment_desc = list("fried tortilla chips" = 1, "guacamole" = 1)
-
-/obj/item/reagent_containers/food/snacks/chip/cheese
- name = "cheese chip"
- desc = "A portion sized chip good for dipping. This one has cheese sauce on it."
- icon_state = "chip_cheese"
- bitten_state = "chip_half"
- nutriment_desc = list("fried tortilla chips" = 1, "cheese" = 1)
-
-/obj/item/reagent_containers/food/snacks/chip/nacho
- name = "nacho chip"
- desc = "A nacho ship stray from a plate of cheesy nachos."
- icon_state = "chip_nacho"
- bitten_state = "chip_half"
- nutriment_desc = list("nacho chips" = 2)
-
-/obj/item/reagent_containers/food/snacks/chip/nacho/salsa
- name = "nacho chip"
- desc = "A nacho ship stray from a plate of cheesy nachos. This one has salsa on it."
- icon_state = "chip_nacho_salsa"
- bitten_state = "chip_half"
-
-/obj/item/reagent_containers/food/snacks/chip/nacho/guac
- name = "nacho chip"
- desc = "A nacho ship stray from a plate of cheesy nachos. This one has guac on it."
- icon_state = "chip_nacho_guac"
- bitten_state = "chip_half"
-
-/obj/item/reagent_containers/food/snacks/chip/nacho/cheese
- name = "nacho chip"
- desc = "A nacho ship stray from a plate of cheesy nachos. This one has extra cheese on it."
- icon_state = "chip_nacho_cheese"
- bitten_state = "chip_half"
-
-// chip plates
-/obj/item/reagent_containers/food/snacks/chipplate
- name = "basket of chips"
- desc = "A plate of chips intended for dipping."
- icon_state = "chip_basket"
- trash = /obj/item/trash/chipbasket
- var/vendingobject = /obj/item/reagent_containers/food/snacks/chip
- nutriment_desc = list("tortilla chips" = 10)
- bitesize = 1
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/chipplate/attack_hand(mob/user)
- . = ..()
- var/obj/item/reagent_containers/food/snacks/returningitem = new vendingobject(loc)
- returningitem.reagents.clear_reagents()
- reagents.trans_to_holder(returningitem.reagents, bitesize)
- returningitem.bitesize = bitesize/2
- user.put_in_hands(returningitem)
- if (reagents && reagents.total_volume)
- to_chat(user, "You take a chip from the plate.")
- else
- to_chat(user, "You take the last chip from the plate.")
- var/obj/waste = new trash(loc)
- if (loc == user)
- user.put_in_hands(waste)
- qdel(src)
-
-/obj/item/reagent_containers/food/snacks/chipplate/MouseDrop(mob/user) //Dropping the chip onto the user
- if(istype(user) && user == usr)
- user.put_in_active_hand(src)
- src.pickup(user)
- return
- . = ..()
-
-/obj/item/reagent_containers/food/snacks/chipplate/nachos
- name = "plate of nachos"
- desc = "A very cheesy nacho plate."
- icon_state = "nachos"
- trash = /obj/item/trash/plate
- vendingobject = /obj/item/reagent_containers/food/snacks/chip/nacho
- nutriment_desc = list("tortilla chips" = 10)
- bitesize = 1
- nutriment_amt = 10
-
-//dips
-/obj/item/reagent_containers/food/snacks/dip
- name = "queso dip"
- desc = "A simple, cheesy dip consisting of tomatos, cheese, and spices."
- var/nachotrans = /obj/item/reagent_containers/food/snacks/chip/nacho/cheese
- var/chiptrans = /obj/item/reagent_containers/food/snacks/chip/cheese
- icon_state = "dip_cheese"
- trash = /obj/item/trash/dipbowl
- bitesize = 1
- nutriment_desc = list("queso" = 20)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/dip/attackby(obj/item/reagent_containers/food/snacks/item as obj, mob/user as mob)
- . = ..()
- var/obj/item/reagent_containers/food/snacks/returningitem
- if(istype(item,/obj/item/reagent_containers/food/snacks/chip/nacho) && item.icon_state == "chip_nacho")
- returningitem = new nachotrans(src)
- else if (istype(item,/obj/item/reagent_containers/food/snacks/chip) && (item.icon_state == "chip" || item.icon_state == "chip_half"))
- returningitem = new chiptrans(src)
- if(returningitem)
- returningitem.reagents.clear_reagents() //Clear the new chip
- var/memed = 0
- item.reagents.trans_to_holder(returningitem.reagents, item.reagents.total_volume) //Old chip to new chip
- if(item.icon_state == "chip_half")
- returningitem.icon_state = "[returningitem.icon_state]_half"
- returningitem.bitesize = clamp(returningitem.reagents.total_volume,1,10)
- else if(prob(1))
- memed = 1
- to_chat(user, "You scoop up some dip with the chip, but mid-scoop, the chip breaks off into the dreadful abyss of dip, never to be seen again...")
- returningitem.icon_state = "[returningitem.icon_state]_half"
- returningitem.bitesize = clamp(returningitem.reagents.total_volume,1,10)
- else
- returningitem.bitesize = clamp(returningitem.reagents.total_volume*0.5,1,10)
- qdel(item)
- reagents.trans_to_holder(returningitem.reagents, bitesize) //Dip to new chip
- user.put_in_hands(returningitem)
-
- if (reagents && reagents.total_volume)
- if(!memed)
- to_chat(user, "You scoop up some dip with the chip.")
- else
- if(!memed)
- to_chat(user, "You scoop up the remaining dip with the chip.")
- var/obj/waste = new trash(loc)
- if (loc == user)
- user.put_in_hands(waste)
- qdel(src)
-
-/obj/item/reagent_containers/food/snacks/dip/salsa
- name = "salsa dip"
- desc = "Traditional Sol chunky salsa dip containing tomatos, peppers, and spices."
- nachotrans = /obj/item/reagent_containers/food/snacks/chip/nacho/salsa
- chiptrans = /obj/item/reagent_containers/food/snacks/chip/salsa
- icon_state = "dip_salsa"
- nutriment_desc = list("salsa" = 20)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/dip/guac
- name = "guac dip"
- desc = "A recreation of the ancient Sol 'Guacamole' dip using tofu, limes, and spices. This recreation obviously leaves out mole meat."
- nachotrans = /obj/item/reagent_containers/food/snacks/chip/nacho/guac
- chiptrans = /obj/item/reagent_containers/food/snacks/chip/guac
- icon_state = "dip_guac"
- nutriment_desc = list("guacamole" = 20)
- nutriment_amt = 20
-
-//burritos
-/obj/item/reagent_containers/food/snacks/burrito
- name = "meat burrito"
- desc = "Meat wrapped in a flour tortilla. It's a burrito by definition."
- icon_state = "burrito"
- bitesize = 4
- nutriment_desc = list("tortilla" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/burrito/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
-
-
-/obj/item/reagent_containers/food/snacks/burrito_vegan
- name = "vegan burrito"
- desc = "Tofu wrapped in a flour tortilla. Those seen with this food object are Valid."
- icon_state = "burrito_vegan"
- bitesize = 4
- nutriment_desc = list("tortilla" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/burrito_vegan/Initialize()
- . = ..()
- reagents.add_reagent("tofu", 6)
-
-/obj/item/reagent_containers/food/snacks/burrito_spicy
- name = "spicy meat burrito"
- desc = "Meat and chilis wrapped in a flour tortilla."
- icon_state = "burrito_spicy"
- bitesize = 4
- nutriment_desc = list("tortilla" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/burrito_spicy/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
-
-/obj/item/reagent_containers/food/snacks/burrito_cheese
- name = "meat cheese burrito"
- desc = "Meat and melted cheese wrapped in a flour tortilla."
- icon_state = "burrito_cheese"
- bitesize = 4
- nutriment_desc = list("tortilla" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/burrito_cheese/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
-
-/obj/item/reagent_containers/food/snacks/burrito_cheese_spicy
- name = "spicy cheese meat burrito"
- desc = "Meat, melted cheese, and chilis wrapped in a flour tortilla."
- icon_state = "burrito_cheese_spicy"
- bitesize = 4
- nutriment_desc = list("tortilla" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/burrito_cheese_spicy/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
-
-/obj/item/reagent_containers/food/snacks/burrito_hell
- name = "el diablo"
- desc = "Meat and an insane amount of chilis packed in a flour tortilla. The Chaplain will see you now."
- icon_state = "burrito_hell"
- bitesize = 4
- nutriment_desc = list("hellfire" = 6)
- nutriment_amt = 24// 10 Chilis is a lot.
-
-/obj/item/reagent_containers/food/snacks/breakfast_wrap
- name = "breakfast wrap"
- desc = "Bacon, eggs, cheese, and tortilla grilled to perfection."
- icon_state = "breakfast_wrap"
- bitesize = 4
- nutriment_desc = list("tortilla" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/burrito_hell/Initialize()
- . = ..()
- reagents.add_reagent("protein", 9)
- reagents.add_reagent("condensedcapsaicin", 20) //what could possibly go wrong
-
-/obj/item/reagent_containers/food/snacks/burrito_mystery
- name = "mystery meat burrito"
- desc = "The mystery is, why aren't you BSAing it?"
- icon_state = "burrito_mystery"
- bitesize = 5
- nutriment_desc = list("regret" = 6)
- nutriment_amt = 6
-
-/obj/item/reagent_containers/food/snacks/hatchling_suprise
- name = "hatchling suprise"
- desc = "A poached egg on top of three slices of bacon. A typical breakfast for hungry Unathi children."
- icon_state = "hatchling_suprise"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/reagent_containers/food/snacks/hatchling_suprise/Initialize()
- . = ..()
- reagents.add_reagent("egg", 2)
- reagents.add_reagent("protein", 4)
-
-/obj/item/reagent_containers/food/snacks/red_sun_special
- name = "red sun special"
- desc = "One lousy piece of sausage sitting on melted cheese curds. A cheap meal for the Unathi peasants of Moghes."
- icon_state = "red_sun_special"
- trash = /obj/item/trash/plate
-
-/obj/item/reagent_containers/food/snacks/red_sun_special/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
-
-/obj/item/reagent_containers/food/snacks/riztizkzi_sea
- name = "moghesian sea delight"
- desc = "Three raw eggs floating in a sea of blood. An authentic replication of an ancient Unathi delicacy."
- icon_state = "riztizkzi_sea"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/reagent_containers/food/snacks/riztizkzi_sea/Initialize()
- . = ..()
- reagents.add_reagent("egg", 4)
-
-/obj/item/reagent_containers/food/snacks/father_breakfast
- name = "breakfast of champions"
- desc = "A sausage and an omelette on top of a grilled steak."
- icon_state = "father_breakfast"
- trash = /obj/item/trash/plate
-
-/obj/item/reagent_containers/food/snacks/father_breakfast/Initialize()
- . = ..()
- reagents.add_reagent("egg", 4)
- reagents.add_reagent("protein", 6)
-
-/obj/item/reagent_containers/food/snacks/stuffed_meatball
- name = "stuffed meatball" //YES
- desc = "A meatball loaded with cheese."
- icon_state = "stuffed_meatball"
-
-/obj/item/reagent_containers/food/snacks/stuffed_meatball/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
-
-/obj/item/reagent_containers/food/snacks/egg_pancake
- name = "meat pancake"
- desc = "An omelette baked on top of a giant meat patty. This monstrousity is typically shared between four people during a dinnertime meal."
- icon_state = "egg_pancake"
- trash = /obj/item/trash/plate
-
-/obj/item/reagent_containers/food/snacks/egg_pancake/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("egg", 2)
-
-/obj/item/reagent_containers/food/snacks/sliceable/grilled_carp
- name = "korlaaskak"
- desc = "A well-dressed carp, seared to perfection and adorned with herbs and spices. Can be sliced into proper serving sizes."
- icon_state = "grilled_carp"
- slice_path = /obj/item/reagent_containers/food/snacks/grilled_carp_slice
- slices_num = 6
- trash = /obj/item/trash/snacktray
-
-/obj/item/reagent_containers/food/snacks/sliceable/grilled_carp/Initialize()
- . = ..()
- reagents.add_reagent("seafood", 12)
-
-/obj/item/reagent_containers/food/snacks/grilled_carp_slice
- name = "korlaaskak slice"
- desc = "A well-dressed fillet of carp, seared to perfection and adorned with herbs and spices."
- icon_state = "grilled_carp_slice"
- trash = /obj/item/trash/plate
-
-
-// SYNNONO MEME FOODS EXPANSION - Credit to Synnono from Aurorastation. Come play here sometime :(
-
-/obj/item/reagent_containers/food/snacks/redcurry
- name = "red curry"
- gender = PLURAL
- desc = "A bowl of creamy red curry with meat and rice. This one looks savory."
- icon_state = "redcurry"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#f73333"
- nutriment_amt = 8
- nutriment_desc = list("savory meat and rice" = 8)
-
-/obj/item/reagent_containers/food/snacks/redcurry/Initialize()
- . = ..()
- reagents.add_reagent("protein", 7)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/greencurry
- name = "green curry"
- gender = PLURAL
- desc = "A bowl of creamy green curry with tofu, hot peppers and rice. This one looks spicy!"
- icon_state = "greencurry"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#58b76c"
- nutriment_amt = 12
- nutriment_desc = list("tofu and rice" = 12)
-
-/obj/item/reagent_containers/food/snacks/greencurry/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
- reagents.add_reagent("capsaicin", 2)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/yellowcurry
- name = "yellow curry"
- gender = PLURAL
- desc = "A bowl of creamy yellow curry with potatoes, peanuts and rice. This one looks mild."
- icon_state = "yellowcurry"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#bc9509"
- nutriment_amt = 13
- nutriment_desc = list("rice and potatoes" = 13)
-
-/obj/item/reagent_containers/food/snacks/yellowcurry/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/bearburger
- name = "bearburger"
- desc = "The solution to your unbearable hunger."
- icon_state = "bearburger"
- filling_color = "#5d5260"
-
-/obj/item/reagent_containers/food/snacks/bearburger/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4) //So spawned burgers will not be empty I guess?
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/bearchili
- name = "bear chili"
- gender = PLURAL
- desc = "A dark, hearty chili. Can you bear the heat?"
- icon_state = "bearchili"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#702708"
- nutriment_amt = 3
- nutriment_desc = list("dark, hearty chili" = 3)
-
-/obj/item/reagent_containers/food/snacks/bearchili/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent("capsaicin", 3)
- reagents.add_reagent("tomatojuice", 2)
- reagents.add_reagent("hyperzine", 5)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/bearstew
- name = "bear stew"
- gender = PLURAL
- desc = "A thick, dark stew of bear meat and vegetables."
- icon_state = "bearstew"
- filling_color = "#9E673A"
- nutriment_amt = 6
- nutriment_desc = list("hearty stew" = 6)
-
-/obj/item/reagent_containers/food/snacks/bearstew/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
- reagents.add_reagent("hyperzine", 5)
- reagents.add_reagent("tomatojuice", 5)
- reagents.add_reagent("imidazoline", 5)
- reagents.add_reagent("water", 5)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/bibimbap
- name = "bibimbap bowl"
- desc = "A traditional Korean meal of meat and mixed vegetables. It's served on a bed of rice, and topped with a fried egg."
- icon_state = "bibimbap"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#4f2100"
- nutriment_amt = 10
- nutriment_desc = list("egg" = 5, "vegetables" = 5)
-
-/obj/item/reagent_containers/food/snacks/bibimbap/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/lomein
- name = "lo mein"
- gender = PLURAL
- desc = "A popular Chinese noodle dish. Chopsticks optional."
- icon_state = "lomein"
- trash = /obj/item/trash/plate
- filling_color = "#FCEE81"
- nutriment_amt = 8
- nutriment_desc = list("noodles" = 6, "sesame sauce" = 2)
-
-/obj/item/reagent_containers/food/snacks/lomein/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/friedrice
- name = "fried rice"
- gender = PLURAL
- desc = "A less-boring dish of less-boring rice!"
- icon_state = "friedrice"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#FFFBDB"
- nutriment_amt = 7
- nutriment_desc = list("rice" = 7)
-
-/obj/item/reagent_containers/food/snacks/friedrice/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/chickenfillet
- name = "chicken fillet sandwich"
- desc = "Fried chicken, in sandwich format. Beauty is simplicity."
- icon_state = "chickenfillet"
- filling_color = "#E9ADFF"
- nutriment_amt = 4
- nutriment_desc = list("breading" = 4)
-
-/obj/item/reagent_containers/food/snacks/chickenfillet/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/chilicheesefries
- name = "chili cheese fries"
- gender = PLURAL
- desc = "A mighty plate of fries, drowned in hot chili and cheese sauce. Because your arteries are overrated."
- icon_state = "chilicheesefries"
- trash = /obj/item/trash/plate
- filling_color = "#EDDD00"
- nutriment_amt = 8
- nutriment_desc = list("hearty, cheesy fries" = 8)
-
-/obj/item/reagent_containers/food/snacks/chilicheesefries/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- reagents.add_reagent("capsaicin", 2)
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/friedmushroom
- name = "fried mushroom"
- desc = "A tender, beer-battered plump helmet, fried to crispy perfection."
- icon_state = "friedmushroom"
- filling_color = "#EDDD00"
- nutriment_amt = 4
- nutriment_desc = list("alcoholic mushrooms" = 4)
-
-/obj/item/reagent_containers/food/snacks/friedmushroom/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/pisanggoreng
- name = "pisang goreng"
- gender = PLURAL
- desc = "Crispy, starchy, sweet banana fritters. Popular street food in parts of Sol."
- icon_state = "pisanggoreng"
- trash = /obj/item/trash/plate
- filling_color = "#301301"
- nutriment_amt = 8
- nutriment_desc = list("sweet bananas" = 8)
-
-/obj/item/reagent_containers/food/snacks/pisanggoreng/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/meatbun
- name = "meat bun"
- desc = "A soft, fluffy flour bun also known as baozi. This one is filled with a spiced meat filling."
- icon_state = "meatbun"
- filling_color = "#edd7d7"
- nutriment_amt = 5
- nutriment_desc = list("spice" = 5)
-
-/obj/item/reagent_containers/food/snacks/meatbun/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/custardbun
- name = "custard bun"
- desc = "A soft, fluffy flour bun also known as baozi. This one is filled with an egg custard."
- icon_state = "meatbun"
- nutriment_amt = 6
- nutriment_desc = list("egg custard" = 6)
- filling_color = "#ebedc2"
-
-/obj/item/reagent_containers/food/snacks/custardbun/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/chickenmomo
- name = "chicken momo"
- gender = PLURAL
- desc = "A plate of spiced and steamed chicken dumplings. The style originates from south Asia."
- icon_state = "tajaran_soup"
- trash = /obj/item/trash/snacktray
- filling_color = "#edd7d7"
- nutriment_amt = 9
- nutriment_desc = list("spiced chicken" = 9)
-
-/obj/item/reagent_containers/food/snacks/chickenmomo/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/veggiemomo
- name = "veggie momo"
- gender = PLURAL
- desc = "A plate of spiced and steamed vegetable dumplings. The style originates from south Asia."
- icon_state = "tajaran_soup"
- trash = /obj/item/trash/snacktray
- filling_color = "#edd7d7"
- nutriment_amt = 13
- nutriment_desc = list("spiced vegetables" = 13)
-
-/obj/item/reagent_containers/food/snacks/veggiemomo/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/risotto
- name = "risotto"
- gender = PLURAL
- desc = "A creamy, savory rice dish from southern Europe, typically cooked slowly with wine and broth. This one has bits of mushroom."
- icon_state = "risotto"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#edd7d7"
- nutriment_amt = 9
- nutriment_desc = list("savory rice" = 6, "cream" = 3)
-
-/obj/item/reagent_containers/food/snacks/risotto/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/risottoballs
- name = "risotto balls"
- gender = PLURAL
- desc = "Mushroom risotto that has been battered and deep fried. The best use of leftovers!"
- icon_state = "risottoballs"
- trash = /obj/item/trash/snack_bowl
- filling_color = "#edd7d7"
- nutriment_amt = 1
- nutriment_desc = list("batter" = 1)
-
-/obj/item/reagent_containers/food/snacks/risottoballs/Initialize()
- . = ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/honeytoast
- name = "piece of honeyed toast"
- desc = "For those who like their breakfast sweet."
- icon_state = "honeytoast"
- trash = /obj/item/trash/plate
- filling_color = "#EDE5AD"
- nutriment_amt = 1
- nutriment_desc = list("sweet, crunchy bread" = 1)
-
-/obj/item/reagent_containers/food/snacks/honeytoast/Initialize()
- . = ..()
- bitesize = 4
-
-/obj/item/reagent_containers/food/snacks/poachedegg
- name = "poached egg"
- desc = "A delicately poached egg with a runny yolk. Healthier than its fried counterpart."
- icon_state = "poachedegg"
- trash = /obj/item/trash/plate
- filling_color = "#FFDF78"
- nutriment_amt = 1
- nutriment_desc = list("egg" = 1)
-
-/obj/item/reagent_containers/food/snacks/poachedegg/Initialize()
- . = ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent("blackpepper", 1)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/ribplate
- name = "plate of ribs"
- desc = "A half-rack of ribs, brushed with some sort of honey-glaze. Why are there no napkins on board?"
- icon_state = "ribplate"
- trash = /obj/item/trash/plate
- filling_color = "#7A3D11"
- nutriment_amt = 6
- nutriment_desc = list("barbecue" = 6)
-
-/obj/item/reagent_containers/food/snacks/ribplate/Initialize()
- . = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("triglyceride", 2)
- reagents.add_reagent("blackpepper", 1)
- reagents.add_reagent("honey", 5)
- bitesize = 4
-
-// SLICEABLE FOODS - SYNNONO MEME FOOD EXPANSION - Credit to Synnono from Aurorastation (again)
-
-/obj/item/reagent_containers/food/snacks/sliceable/keylimepie
- name = "key lime pie"
- desc = "A tart, sweet dessert. What's a key lime, anyway?"
- icon_state = "keylimepie"
- slice_path = /obj/item/reagent_containers/food/snacks/keylimepieslice
- slices_num = 5
- filling_color = "#F5B951"
- nutriment_amt = 16
- nutriment_desc = list("lime" = 12, "graham crackers" = 4)
-
-/obj/item/reagent_containers/food/snacks/sliceable/keylimepie/Initialize()
- . = ..()
- reagents.add_reagent("protein", 4)
-
-/obj/item/reagent_containers/food/snacks/keylimepieslice
- name = "slice of key lime pie"
- desc = "A slice of tart pie, with whipped cream on top."
- icon_state = "keylimepieslice"
- trash = /obj/item/trash/plate
- filling_color = "#F5B951"
- bitesize = 3
- nutriment_desc = list("lime" = 1)
-
-/obj/item/reagent_containers/food/snacks/keylimepieslice/filled
- nutriment_amt = 1
-
-/obj/item/reagent_containers/food/snacks/sliceable/quiche
- name = "quiche"
- desc = "Real men eat this, contrary to popular belief."
- icon_state = "quiche"
- slice_path = /obj/item/reagent_containers/food/snacks/quicheslice
- slices_num = 5
- filling_color = "#F5B951"
- nutriment_amt = 10
- nutriment_desc = list("cheese" = 5, "egg" = 5)
-
-/obj/item/reagent_containers/food/snacks/sliceable/quiche/Initialize()
- . = ..()
- reagents.add_reagent("protein", 10)
-
-/obj/item/reagent_containers/food/snacks/quicheslice
- name = "slice of quiche"
- desc = "A slice of delicious quiche. Eggy, cheesy goodness."
- icon_state = "quicheslice"
- trash = /obj/item/trash/plate
- filling_color = "#F5B951"
- bitesize = 3
- nutriment_desc = list("cheesy eggs" = 1)
-
-/obj/item/reagent_containers/food/snacks/quicheslice/filled
- nutriment_amt = 1
-
-/obj/item/reagent_containers/food/snacks/quicheslice/filled/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
-
-/obj/item/reagent_containers/food/snacks/sliceable/brownies
- name = "brownies"
- gender = PLURAL
- desc = "Halfway to fudge, or halfway to cake? Who cares!"
- icon_state = "brownies"
- slice_path = /obj/item/reagent_containers/food/snacks/browniesslice
- slices_num = 4
- trash = /obj/item/trash/brownies
- filling_color = "#301301"
- nutriment_amt = 8
- nutriment_desc = list("fudge" = 8)
-
-/obj/item/reagent_containers/food/snacks/sliceable/brownies/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/browniesslice
- name = "brownie"
- desc = "A dense, decadent chocolate brownie."
- icon_state = "browniesslice"
- trash = /obj/item/trash/plate
- filling_color = "#F5B951"
- bitesize = 2
- nutriment_desc = list("fudge" = 1)
-
-/obj/item/reagent_containers/food/snacks/browniesslice/filled
- nutriment_amt = 1
-
-/obj/item/reagent_containers/food/snacks/browniesslice/filled/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
-
-/obj/item/reagent_containers/food/snacks/sliceable/cosmicbrownies
- name = "cosmic brownies"
- gender = PLURAL
- desc = "Like, ultra-trippy. Brownies HAVE no gender, man." //Except I had to add one!
- icon_state = "cosmicbrownies"
- slice_path = /obj/item/reagent_containers/food/snacks/cosmicbrowniesslice
- slices_num = 4
- trash = /obj/item/trash/brownies
- filling_color = "#301301"
- nutriment_amt = 8
- nutriment_desc = list("fudge" = 8)
-
-/obj/item/reagent_containers/food/snacks/sliceable/cosmicbrownies/Initialize()
- . = ..()
- reagents.add_reagent("protein", 2)
- reagents.add_reagent("space_drugs", 2)
- reagents.add_reagent("bicaridine", 1)
- reagents.add_reagent("kelotane", 1)
- reagents.add_reagent("toxin", 1)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/cosmicbrowniesslice
- name = "cosmic brownie"
- desc = "A dense, decadent and fun-looking chocolate brownie."
- icon_state = "cosmicbrowniesslice"
- trash = /obj/item/trash/plate
- filling_color = "#F5B951"
- bitesize = 3
- nutriment_desc = list("fudge" = 1)
-
-/obj/item/reagent_containers/food/snacks/cosmicbrowniesslice/filled
- nutriment_amt = 1
-
-/obj/item/reagent_containers/food/snacks/cosmicbrowniesslice/filled/Initialize()
- . = ..()
- reagents.add_reagent("protein", 1)
-
-
-/obj/item/reagent_containers/food/snacks/wormsickly
- name = "sickly worm"
- desc = "A worm, it doesn't look particularily healthy, but it will still serve as good fishing bait."
- icon_state = "worm_sickly"
- nutriment_amt = 1
- nutriment_desc = list("bugflesh" = 1)
- w_class = ITEMSIZE_TINY
-
-/obj/item/reagent_containers/food/snacks/wormsickly/Initialize()
- . = ..()
- reagents.add_reagent("fishbait", 10)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/worm
- name = "strange worm"
- desc = "A peculiar worm, freshly plucked from the earth."
- icon_state = "worm"
- nutriment_amt = 1
- nutriment_desc = list("bugflesh" = 1)
- w_class = ITEMSIZE_TINY
-
-/obj/item/reagent_containers/food/snacks/worm/Initialize()
- . = ..()
- reagents.add_reagent("fishbait", 20)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/wormdeluxe
- name = "deluxe worm"
- desc = "A fancy worm, genetically engineered to appeal to fish."
- icon_state = "worm_deluxe"
- nutriment_amt = 5
- nutriment_desc = list("bugflesh" = 1)
- w_class = ITEMSIZE_TINY
-
-/obj/item/reagent_containers/food/snacks/wormdeluxe/Initialize()
- . = ..()
- reagents.add_reagent("fishbait", 40)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/siffruit
- name = "pulsing fruit"
- desc = "A blue-ish sac encased in a tough black shell."
- icon = 'icons/obj/flora/foraging.dmi'
- icon_state = "siffruit"
- nutriment_amt = 2
- nutriment_desc = list("tart" = 1)
- w_class = ITEMSIZE_TINY
-
-/obj/item/reagent_containers/food/snacks/siffruit/Initialize()
- . = ..()
- reagents.add_reagent("sifsap", 2)
-
-/obj/item/reagent_containers/food/snacks/siffruit/afterattack(obj/O as obj, mob/user as mob, proximity)
- if(istype(O,/obj/machinery/microwave))
- return ..()
- if(!(proximity && O.is_open_container()))
- return
- to_chat(user, "You tear \the [src]'s sac open, pouring it into \the [O].")
- reagents.trans_to(O, reagents.total_volume)
- user.drop_from_inventory(src)
- qdel(src)
-
-/obj/item/reagent_containers/food/snacks/baschbeans
- name = "Basch's Baked Beans"
- icon_state = "baschbeans"
- desc = "In partnership with the Cyan Consumables Corporation, Basch is proud to produce its classic beans in a brand new package. A frontier favorite!"
- trash = /obj/item/trash/baschbeans
- filling_color = "#FC6F28"
- nutriment_amt = 4
- nutriment_desc = list("beans" = 4)
-
-/obj/item/reagent_containers/food/snacks/baschbeans/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/creamcorn
- name = "Garm n' Bozia's Cream Corn"
- icon_state = "creamcorn"
- desc = "This is a formica label. Green is its color. The Cyan Consumables Corporation refuses to reveal where these cans come from."
- trash = /obj/item/trash/creamcorn
- filling_color = "#FFFAD4"
- nutriment_amt = 5
- nutriment_desc = list("corn" = 5)
-
-/obj/item/reagent_containers/food/snacks/creamcorn/Initialize()
- . = ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/crayonburger_red // Buff 6 >> 15
- name = "red crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty!"
- icon_state = "crayonburg_red"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_red/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/crayonburger_org // Buff 6 >> 15
- name = "orange crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty!"
- icon_state = "crayonburg_org"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_org/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/crayonburger_yel // Buff 6 >> 15
- name = "yellow crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty!"
- icon_state = "crayonburg_yel"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_yel/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/crayonburger_grn // Buff 6 >> 15
- name = "green crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty!"
- icon_state = "crayonburg_grn"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_grn/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/crayonburger_blu // Buff 6 >> 15
- name = "blue crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty!"
- icon_state = "crayonburg_blu"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_blu/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/crayonburger_prp // Buff 6 >> 15
- name = "purple crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty!"
- icon_state = "crayonburg_prp"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_prp/Initialize()
- . = ..()
- reagents.add_reagent("protein", 8)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/crayonburger_rbw // Buff 6 >> 15
- name = "rainbow crayonburger"
- desc = "Someone has melted a whole crayon over the top of this patty! This one seems especially rare!"
- icon_state = "crayonburg_rbw"
- nutriment_amt = 7
- nutriment_desc = list("bun" = 2, "wax" = 2, "meat" = 1, "color" = 1)
-
-/obj/item/reagent_containers/food/snacks/crayonburger_rbw/Initialize()
- . = ..()
- reagents.add_reagent("protein", 12)
- bitesize = 3
-
-//I guess we're not always eating PEOPLE.
-/*
-/obj/item/reagent_containers/food/snacks/my_new_food
- name = "cheesemeaties"
- desc = "The cheese adds a good flavor. Not great. Just good"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "cheesemeaties"
- trash = /obj/item/trash/plate //What I leave behind when eaten (waffles instead of plate = bigsquareplate)
- center_of_mass = list("x"=16, "y"=16) //If your thing is too huge and you don't want it in the center.
- nutriment_amt = 5
- nutriment_desc = list("gargonzola" = 2, "burning" = 2)
-
-/obj/item/reagent_containers/food/snacks/my_new_food/Initialize()
- ..()
- reagents.add_reagent("protein", 2) //For meaty things.
- bitesize = 3 //How many reagents to transfer per bite?
-*/
-
-/obj/item/reagent_containers/food/snacks/sliceable/sushi // Buff 25 >> 35
- name = "sushi roll"
- desc = "A whole sushi roll! Slice it up and enjoy with some soy sauce and wasabi."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "sushi"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/sushi/filled
- slices_num = 5
- nutriment_desc = list("rice" = 5, "fish" = 5)
- nutriment_amt = 20
-
-/obj/item/reagent_containers/food/snacks/sliceable/sushi/Initialize()
- ..()
- reagents.add_reagent("protein", 15)
- bitesize = 5
-
-/obj/item/reagent_containers/food/snacks/slice/sushi/filled
- name = "piece of sushi"
- desc = "A slice of a larger sushi roll, ready to devour."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "sushi_s"
- bitesize = 5
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/sushi
-
-/obj/item/reagent_containers/food/snacks/slice/sushi/filled/filled
- filled = TRUE
-
-
-/obj/item/reagent_containers/food/snacks/lasagna
- name = "lasagna"
- desc = "Meaty, tomato-y, and ready to eat-y. Favorite of cats."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "lasagna"
- nutriment_amt = 5
- nutriment_desc = list("tomato" = 4, "meat" = 2)
-
-/obj/item/reagent_containers/food/snacks/lasagna/Initialize()
- ..()
- reagents.add_reagent("protein", 2) //For meaty things.
-
-
-/obj/item/reagent_containers/food/snacks/goulash
- name = "goulash"
- desc = "Paprika put to good use, finally, in a soup of meat and vegetables."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "goulash"
- trash = /obj/item/trash/snack_bowl
- nutriment_amt = 6
- nutriment_desc = list("meat" = 2, "vegetables" = 2, "seasoning" = 5)
-
-/obj/item/reagent_containers/food/snacks/goulash/Initialize()
- ..()
- reagents.add_reagent("protein", 3) //For meaty things.
- reagents.add_reagent("water", 5)
-
-
-/obj/item/reagent_containers/food/snacks/donerkebab
- name = "doner kebab"
- desc = "A delicious sandwich-like food from ancient Earth. The meat is typically cooked on a vertical rotisserie."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "doner_kebab"
- nutriment_amt = 5
- nutriment_desc = list("vegetables" = 2, "seasoned meat" = 5)
-
-/obj/item/reagent_containers/food/snacks/donerkebab/Initialize()
- ..()
- reagents.add_reagent("protein", 2) //For meaty things.
-
-
-/obj/item/reagent_containers/food/snacks/roastbeef
- name = "roast beef"
- desc = "It's beef. It's roasted. It's been a staple of dining tradition for centuries."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "roastbeef"
- trash = /obj/item/trash/waffles
- nutriment_amt = 8
- nutriment_desc = list("cooked meat" = 5)
-
-/obj/item/reagent_containers/food/snacks/roastbeef/Initialize()
- ..()
- reagents.add_reagent("protein", 4) //For meaty things.
- bitesize = 2
-
-
-/obj/item/reagent_containers/food/snacks/reishicup
- name = "reishi's cup"
- desc = "A chocolate treat with an odd flavor."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "reishiscup"
- nutriment_amt = 3
- nutriment_desc = list("chocolate" = 4, "colors" = 2)
-
-/obj/item/reagent_containers/food/snacks/reishicup/Initialize()
- ..()
- reagents.add_reagent("psilocybin", 3)
- bitesize = 6
-
-/obj/item/storage/box/wings //This is kinda like the donut box.
- name = "wing basket"
- desc = "A basket of chicken wings! Get some before they're all gone! Or maybe you're too late..."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "wings5"
- var/startswith = 5
- max_storage_space = ITEMSIZE_COST_SMALL * 5
- can_hold = list(/obj/item/reagent_containers/food/snacks/chickenwing)
- foldable = null
-
-/obj/item/storage/box/wings/Initialize()
- ..()
- for(var/i=1 to startswith)
- new /obj/item/reagent_containers/food/snacks/chickenwing(src)
- update_icon()
- return
-
-/obj/item/storage/box/wings/update_icon()
- var/i = 0
- for(var/obj/item/reagent_containers/food/snacks/chickenwing/W in contents)
- i++
- icon_state = "wings[i]"
-
-/obj/item/reagent_containers/food/snacks/chickenwing
- name = "chicken wing"
- desc = "What flavor even is this? Buffalo? Barbeque? Or something more exotic?"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "wing"
- nutriment_amt = 2
- nutriment_desc = list("chicken" = 2, "unplacable flavor sauce" = 4)
-
-/obj/item/reagent_containers/food/snacks/chickenwing/Initialize()
- ..()
- reagents.add_reagent("protein", 1)
- bitesize = 3
-
-
-/obj/item/reagent_containers/food/snacks/hotandsoursoup
- name = "hot & sour soup"
- desc = "A soup both spicy and sour from ancient Earth cooking traditions. This one is made with tofu."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "hotandsoursoup"
- trash = /obj/item/trash/snack_bowl
- nutriment_amt = 6
- nutriment_desc = list("spicyness" = 4, "sourness" = 4, "tofu" = 1)
-
-/obj/item/reagent_containers/food/snacks/hotandsoursoup/Initialize()
- ..()
- bitesize = 2
-
-
-/obj/item/reagent_containers/food/snacks/kitsuneudon
- name = "kitsune udon"
- desc = "A purported favorite of kitsunes in ancient japanese myth: udon noodles, fried egg, and tofu."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "kitsuneudon"
- trash = /obj/item/trash/snack_bowl
- nutriment_amt = 6
- nutriment_desc = list("fried egg" = 2, "egg noodles" = 4)
-
-/obj/item/reagent_containers/food/snacks/kitsuneudon/Initialize()
- ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/generalschicken
- name = "general's chicken"
- desc = "Sweet, spicy, and fried. General's Chicken has been around for more than five-hundred years now, and still tastes good."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "generaltso"
- trash = /obj/item/trash/plate
- nutriment_amt = 6
- nutriment_desc = list("sweet and spicy sauce" = 5, "chicken" = 3)
-
-/obj/item/reagent_containers/food/snacks/generalschicken/Initialize()
- ..()
- reagents.add_reagent("protein", 4)
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/meat/grubmeat
- name = "grubmeat"
- desc = "A slab of grub meat, it gives a gentle shock if you touch it"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "grubmeat"
- center_of_mass = list("x"=16, "y"=10)
-
-/obj/item/reagent_containers/food/snacks/meat/grubmeat/Initialize()
- ..()
- reagents.add_reagent("protein", 1)
- reagents.add_reagent("shockchem", 6)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/bugball
- name = "bugball"
- desc = "A hard chitin, dont chip a tooth!"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "pillbugball"
- slice_path = /obj/item/reagent_containers/food/snacks/pillbug
- slices_num = 1
- trash = /obj/item/reagent_containers/food/snacks/pillbug
- nutriment_amt = 1
- nutriment_desc = list("crunchy shell bits" = 5)
-
-/obj/item/reagent_containers/food/snacks/bugball/Initialize()
- ..()
- reagents.add_reagent("protein", 1)
- reagents.add_reagent("carbon", 5)
- bitesize = 7
-
-/obj/item/reagent_containers/food/snacks/pillbug
- name = "pillbug"
- desc = "A delicacy discovered and popularized by a famous restaurant called Mudca's Meat Hut."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "pillbug"
- trash = /obj/item/reagent_containers/food/snacks/pillbugempty
- nutriment_amt = 3
- nutriment_desc = list("sparkles" = 5, "ancient inca culture" =3)
-
-/obj/item/reagent_containers/food/snacks/pillbug/Initialize()
- ..()
- reagents.add_reagent("protein", 3)
- reagents.add_reagent("shockchem", 6)
- bitesize = 6
-
-/obj/item/reagent_containers/food/snacks/pillbugempty
- name = "pillbug shell"
- desc = "Waste not, want not."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "pillbugempty"
- nutriment_amt = 1
- nutriment_desc = list("crunchy shell bits" = 5)
-
-/obj/item/reagent_containers/food/snacks/pillbug/Initialize()
- ..()
- reagents.add_reagent("protein", 1)
- reagents.add_reagent("carbon", 5)
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/mammi
- name = "mämmi"
- desc = "Traditional finnish desert, some like it, others don't. It's drifting in some milk, add sugar!"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "mammi"
- trash = /obj/item/trash/plate
- nutriment_amt = 3
- nutriment_desc = list("brothy sweet goodness" = 5)
-
-/obj/item/reagent_containers/food/snacks/mammi/Initialize()
- ..()
- bitesize = 3
-
-/obj/item/reagent_containers/food/snacks/makaroni
- name = "makaronilaatikko"
- desc = "A special kind of macaroni, it's a big dish, and this one has special meat in it."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "makaroni"
- trash = /obj/item/trash/plate
- nutriment_amt = 15
- nutriment_desc = list("cheese" = 5, "eggs" = 3, "pasta" = 4, "sparkles" = 3)
-
-/obj/item/reagent_containers/food/snacks/makaroni/Initialize()
- ..()
- reagents.add_reagent("protein", 1)
- reagents.add_reagent("shockchem", 6)
- bitesize = 7
-
-/obj/item/reagent_containers/food/snacks/lobster
- name = "raw lobster"
- desc = "a shifty lobster. You can try eating it, but its shell is extremely tough."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "lobster_raw"
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/lobster/Initialize()
- ..()
- bitesize = 0.1
-
-/obj/item/reagent_containers/food/snacks/lobstercooked
- name = "cooked lobster"
- desc = "a luxurious plate of cooked lobster, its taste accentuated by lemon juice. Reinvigorating!"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "lobster_cooked"
- trash = /obj/item/trash/plate
- nutriment_amt = 20
- nutriment_desc = list("lemon" = 2, "lobster" = 5, "salad" = 2)
-
-/obj/item/reagent_containers/food/snacks/lobstercooked/Initialize()
- ..()
- bitesize = 5
- reagents.add_reagent("protein", 20)
- reagents.add_reagent("tricordrazine", 5)
- reagents.add_reagent("iron", 5)
-
-/obj/item/reagent_containers/food/snacks/cuttlefish
- name = "raw cuttlefish"
- desc = "it's an adorable squid! you can't possible be thinking about eating this right?"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "cuttlefish_raw"
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/cuttlefish/Initialize()
- ..()
- bitesize = 10
-
-/obj/item/reagent_containers/food/snacks/cuttlefishcooked
- name = "cooked cuttlefish"
- desc = "it's a roasted cuttlefish. rubbery, squishy, an acquired taste."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "cuttlefish_cooked"
- nutriment_amt = 20
- nutriment_desc = list("cuttlefish" = 5, "rubber" = 5, "grease" = 1)
-
-/obj/item/reagent_containers/food/snacks/cuttlefishcooked/Initialize()
- ..()
- bitesize = 5
- reagents.add_reagent("protein", 10)
-
-/obj/item/reagent_containers/food/snacks/sliceable/monkfish
- name = "extra large monkfish"
- desc = "it's a huge monkfish. better clean it first, you can't possibly eat it like this."
- icon = 'icons/obj/food48x48_vr.dmi'
- icon_state = "monkfish_raw"
- nutriment_amt = 30
- w_class = ITEMSIZE_HUGE //Is that a monkfish in your pocket, or are you just happy to see me?
- slice_path = /obj/item/reagent_containers/food/snacks/monkfishfillet
- slices_num = 6
- trash = /obj/item/reagent_containers/food/snacks/sliceable/monkfishremains
-
-/obj/item/reagent_containers/food/snacks/sliceable/monkfish/Initialize()
- ..()
- bitesize = 2
-
-/obj/item/reagent_containers/food/snacks/monkfishfillet
- name = "monkfish fillet"
- desc = "it's a fillet sliced from a monkfish."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "monkfish_fillet"
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/monkfishfillet/Initialize()
- ..()
- bitesize = 3
- reagents.add_reagent("protein", 1)
-
-/obj/item/reagent_containers/food/snacks/monkfishcooked
- name = "seasoned monkfish"
- desc = "a delicious slice of monkfish prepared with sweet chili and spring onion."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "monkfish_cooked"
- nutriment_amt = 10
- nutriment_desc = list("fish" = 3, "oil" = 1, "sweet chili" = 3, "spring onion" = 2)
- trash = /obj/item/trash/fancyplate
-
-/obj/item/reagent_containers/food/snacks/monkfishcooked/Initialize()
- ..()
- bitesize = 4
- reagents.add_reagent("protein", 5)
-
-/obj/item/reagent_containers/food/snacks/sliceable/monkfishremains
- name = "monkfish remains"
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "monkfish_remains"
- desc = "the work of a madman."
- w_class = ITEMSIZE_LARGE
- nutriment_amt = 10
- slice_path = /obj/item/clothing/head/fish
- slices_num = 1
-
-/obj/item/reagent_containers/food/snacks/sliceable/monkfishremains/Initialize()
- ..()
- bitesize = 0.01 //impossible to eat
- reagents.add_reagent("carbon", 5)
-
-/obj/item/reagent_containers/food/snacks/monkeycube/sobakacube
- name = "sobaka cube"
- monkey_type = "Sobaka"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/sobakacube
- name = "sobaka cube"
- monkey_type = "Sobaka"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/sarucube
- name = "saru cube"
- monkey_type = "Saru"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/sarucube
- name = "saru cube"
- monkey_type = "Saru"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/sparracube
- name = "sparra cube"
- monkey_type = "Sparra"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/sparracube
- name = "sparra cube"
- monkey_type = "Sparra"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wolpincube
- name = "wolpin cube"
- monkey_type = "Wolpin"
-
-/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube
- name = "wolpin cube"
- monkey_type = "Wolpin"
-
-/obj/item/reagent_containers/food/snacks/pizza/margfrozen
- name = "frozen margherita pizza"
- desc = "It's frozen rock solid, better thaw it in a microwave."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "margharita_pizza_frozen"
- center_of_mass = list("x"=16, "y"=11)
- nutriment_amt = 15
- nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen cheese" = 5, "frozen tomato" = 5)
-
-/obj/item/reagent_containers/food/snacks/pizza/margfrozen/Initialize()
- ..()
- bitesize = 20
- //reagents.add_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/margcargo
- name = "Margherita"
- desc = "The golden standard of pizzas, it looks drowned in tomato sauce."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "margharita_pizza_cargo"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/margcargo
- slices_num = 6
- center_of_mass = list("x"=16, "y"=11)
- nutriment_desc = list("pizza crust" = 10, "tomato" = 15, "cheese" = 5)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/margcargo/Initialize()
- ..()
- reagents.add_reagent("protein", 2)
- reagents.add_reagent("tomatojuice", 10)
- bitesize = 2
- //reagents.remove_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/slice/margcargo
- name = "Margherita slice"
- desc = "A slice of the classic pizza, it's hard not to spill any tomato juice on yourself."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "margharita_pizza_slice_cargo"
- filling_color = "#BAA14C"
- bitesize = 2
- center_of_mass = list("x"=16, "y"=13)
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/margcargo
-
-/obj/item/reagent_containers/food/snacks/slice/margcargo/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/pizza/meatfrozen
- name = "frozen meat pizza"
- desc = "It's frozen rock solid, better thaw it in a microwave."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "meat_pizza_frozen"
- center_of_mass = list("x"=16, "y"=11)
- nutriment_amt = 15
- nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen meat" = 5, "frozen cow screams" = 5)
-
-/obj/item/reagent_containers/food/snacks/pizza/meatfrozen/Initialize()
- ..()
- bitesize = 20
- //reagents.add_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatcargo
- name = "Meatpizza"
- desc = "A pizza with meat topping, some of it suspiciously pink."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "meat_pizza_cargo"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/meatcargo
- slices_num = 6
- center_of_mass = list("x"=16, "y"=11)
- nutriment_desc = list("meat" = 10, "beef" = 10, "squeaky pork" = 15, "longpig" = 5)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatcargo/Initialize()
- ..()
- reagents.add_reagent("protein", 20)
- reagents.add_reagent("tomatojuice", 6)
- bitesize = 2
- //reagents.remove_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/slice/meatcargo
- name = "Meatpizza slice"
- desc = "A slice of a meaty pizza, there are some bits of supiciously pink meat."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "meat_pizza_slice_cargo"
- filling_color = "#BAA14C"
- bitesize = 2
- center_of_mass = list("x"=16, "y"=13)
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/meatcargo
-
-/obj/item/reagent_containers/food/snacks/slice/meatcargo/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/pizza/mushfrozen
- name = "frozen mushroom pizza"
- desc = "It's frozen rock solid, better thaw it in a microwave."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "mushroom_pizza_frozen"
- center_of_mass = list("x"=16, "y"=11)
- nutriment_amt = 15
- nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen mushrooms" = 5, "frozen cream" = 5)
-
-/obj/item/reagent_containers/food/snacks/pizza/mushfrozen/Initialize()
- ..()
- bitesize = 20
- //reagents.add_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushcargo
- name = "Mushroompizza"
- desc = "Very special pizza, it looks to be drowned in cream."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "mushroom_pizza_cargo"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/mushcargo
- slices_num = 6
- center_of_mass = list("x"=16, "y"=11)
- nutriment_desc = list("pizza crust" = 10, "cheese" = 5, "creamy sauce" = 5, "mushroom" = 5)
- nutriment_amt = 10
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushcargo/Initialize()
- ..()
- reagents.add_reagent("protein", 4)
- bitesize = 2
- //reagents.remove_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/slice/mushcargo
- name = "Mushroompizza slice"
- desc = "Very special pizza slice, it looks to be drowned in cream."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "mushroom_pizza_slice_cargo"
- filling_color = "#BAA14C"
- bitesize = 2
- center_of_mass = list("x"=16, "y"=13)
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/mushcargo
-
-/obj/item/reagent_containers/food/snacks/slice/mushcargp/filled
- filled = TRUE
-
-/obj/item/reagent_containers/food/snacks/pizza/vegfrozen
- name = "frozen vegtable pizza"
- desc = "It's frozen rock solid, better thaw it in a microwave."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "vegetable_pizza_frozen"
- center_of_mass = list("x"=16, "y"=11)
- nutriment_amt = 15
- nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen vegtable chunks" = 5)
-
-/obj/item/reagent_containers/food/snacks/pizza/vegfrozen/Initialize()
- ..()
- bitesize = 20
- //reagents.add_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegcargo
- name = "Vegetablepizza"
- desc = "At least 10 of Tomato Sapiens were harmed during making this pizza."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "vegetable_pizza_cargo"
- slice_path = /obj/item/reagent_containers/food/snacks/slice/vegcargo
- slices_num = 6
- center_of_mass = list("x"=16, "y"=11)
- nutriment_desc = list("pizza crust" = 10, "tomato" = 20, "cheese" = 5, "eggplant" = 5, "carrot" = 5, "corn" = 5)
- nutriment_amt = 5
-
-/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegcargo/Initialize()
- ..()
- reagents.add_reagent("protein", 4)
- reagents.add_reagent("tomatojuice", 15)
- reagents.add_reagent("imidazoline", 10)
- bitesize = 2
- //reagents.remove_reagent("frostoil",3)
-
-/obj/item/reagent_containers/food/snacks/slice/vegcargo
- name = "Vegtablepizza slice"
- desc = "At least 10 of Tomato Sapiens were harmed during making this pizza."
- icon = 'icons/obj/food_vr.dmi'
- icon_state = "vegetable_pizza_slice_cargo"
- filling_color = "#BAA14C"
- bitesize = 2
- center_of_mass = list("x"=16, "y"=13)
- whole_path = /obj/item/reagent_containers/food/snacks/sliceable/pizza/vegcargo
-
-/obj/item/reagent_containers/food/snacks/slice/vegcargo/filled
- filled = TRUE
-
-/obj/item/pizzabox/margherita/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/margcargo(src)
-
-/obj/item/pizzabox/vegetable/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/vegcargo(src)
-
-/obj/item/pizzabox/mushroom/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/mushcargo(src)
-
-/obj/item/pizzabox/meat/Initialize()
- pizza = new /obj/item/reagent_containers/food/snacks/sliceable/pizza/meatcargo(src)
diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm
index 0c77e703531..c2778356a30 100644
--- a/code/modules/food/food/snacks/meat.dm
+++ b/code/modules/food/food/snacks/meat.dm
@@ -6,7 +6,7 @@
filling_color = "#FF1C1C"
center_of_mass = list("x"=16, "y"=14)
-/obj/item/reagent_containers/food/snacks/meat/Initialize()
+/obj/item/reagent_containers/food/snacks/meat/Initialize(mapload)
..()
reagents.add_reagent("protein", 6)
reagents.add_reagent("triglyceride", 2)
@@ -53,7 +53,7 @@
cooked_icon = "chickenbreast_cooked"
filling_color = "#BBBBAA"
-/obj/item/reagent_containers/food/snacks/meat/chicken/Initialize()
+/obj/item/reagent_containers/food/snacks/meat/chicken/Initialize(mapload)
..()
reagents.remove_reagent("triglyceride", INFINITY)
//Chicken is low fat. Less total calories than other meats
diff --git a/code/modules/food/glass/bottle.dm b/code/modules/food/glass/bottle.dm
index 7daf3f62d72..b3bbf548c9f 100644
--- a/code/modules/food/glass/bottle.dm
+++ b/code/modules/food/glass/bottle.dm
@@ -29,7 +29,7 @@
..()
update_icon()
-/obj/item/reagent_containers/glass/bottle/Initialize()
+/obj/item/reagent_containers/glass/bottle/Initialize(mapload)
. = ..()
if(!icon_state)
icon_state = "bottle-[rand(1,4)]"
diff --git a/code/modules/food/glass/bottle_vr.dm b/code/modules/food/glass/bottle_vr.dm
index 01a7bb9d6ae..840a6049681 100644
--- a/code/modules/food/glass/bottle_vr.dm
+++ b/code/modules/food/glass/bottle_vr.dm
@@ -142,7 +142,7 @@
name = "glucose container"
desc = "A container of glucose. Used to treat bloodloss through a hardsuit in unconscious patients."
-/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose/Initialize()
+/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose/Initialize(mapload)
. = ..()
reagents.add_reagent("glucose", 100)
on_reagent_change()
diff --git a/code/modules/food/kitchen/cooking_machines/_cooker_output.dm b/code/modules/food/kitchen/cooking_machines/_cooker_output.dm
index 5fe5670e82f..00463fc6ab8 100644
--- a/code/modules/food/kitchen/cooking_machines/_cooker_output.dm
+++ b/code/modules/food/kitchen/cooking_machines/_cooker_output.dm
@@ -14,7 +14,7 @@
w_class = 2
var/prefix
-/obj/item/reagent_containers/food/snacks/variable/Initialize()
+/obj/item/reagent_containers/food/snacks/variable/Initialize(mapload)
. = ..()
if (reagents)
reagents.maximum_volume = size*8 + 10
@@ -148,7 +148,7 @@
size = 30
w_class = 3
-/obj/item/reagent_containers/food/snacks/variable/cereal/Initialize()
+/obj/item/reagent_containers/food/snacks/variable/cereal/Initialize(mapload)
. =..()
name = pick(list("flakes", "krispies", "crunch", "pops", "O's", "crisp", "loops", "jacks", "clusters"))
diff --git a/code/modules/food/kitchen/cooking_machines/candy.dm b/code/modules/food/kitchen/cooking_machines/candy.dm
index ea38dac45b8..3d62b9a7be8 100644
--- a/code/modules/food/kitchen/cooking_machines/candy.dm
+++ b/code/modules/food/kitchen/cooking_machines/candy.dm
@@ -16,7 +16,7 @@
"Jelly" = /obj/item/reagent_containers/food/snacks/variable/jelly
)
-/obj/machinery/appliance/mixer/candy/Initialize()
+/obj/machinery/appliance/mixer/candy/Initialize(mapload)
. = ..()
candymaker_loop = new(list(src), FALSE)
diff --git a/code/modules/food/kitchen/cooking_machines/cereal.dm b/code/modules/food/kitchen/cooking_machines/cereal.dm
index 09139f4714a..b364d5b5fd6 100644
--- a/code/modules/food/kitchen/cooking_machines/cereal.dm
+++ b/code/modules/food/kitchen/cooking_machines/cereal.dm
@@ -13,7 +13,7 @@
"Cereal" = /obj/item/reagent_containers/food/snacks/variable/cereal
)
-/obj/machinery/appliance/mixer/cereal/Initialize()
+/obj/machinery/appliance/mixer/cereal/Initialize(mapload)
. = ..()
cerealmaker_loop = new(list(src), FALSE)
diff --git a/code/modules/food/kitchen/cooking_machines/container.dm b/code/modules/food/kitchen/cooking_machines/container.dm
index 29797a5f786..4f8ad57135a 100644
--- a/code/modules/food/kitchen/cooking_machines/container.dm
+++ b/code/modules/food/kitchen/cooking_machines/container.dm
@@ -15,7 +15,7 @@
/obj/item/organ/internal/brain
)
-/obj/item/reagent_containers/cooking_container/Initialize()
+/obj/item/reagent_containers/cooking_container/Initialize(mapload)
. = ..()
create_reagents(max_reagents)
flags |= OPENCONTAINER | NOREACT
diff --git a/code/modules/food/kitchen/cooking_machines/grill.dm b/code/modules/food/kitchen/cooking_machines/grill.dm
index 7b655eca1ff..76033865e4b 100644
--- a/code/modules/food/kitchen/cooking_machines/grill.dm
+++ b/code/modules/food/kitchen/cooking_machines/grill.dm
@@ -23,7 +23,7 @@
max_contents = 3 // Arbitrary number, 3 grill 'racks'
container_type = /obj/item/reagent_containers/cooking_container/grill
-/obj/machinery/appliance/cooker/grill/Initialize()
+/obj/machinery/appliance/cooker/grill/Initialize(mapload)
. = ..()
grill_loop = new(list(src), FALSE)
@@ -65,7 +65,7 @@
usr.visible_message("[usr] turns \the [src] off", "You turn off \the [src].")
playsound(src, 'sound/machines/click.ogg', 40, 1)
update_icon()
-/obj/machinery/appliance/cooker/grill/Initialize()
+/obj/machinery/appliance/cooker/grill/Initialize(mapload)
. = ..()
// cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src))
cooking = FALSE
diff --git a/code/modules/food/kitchen/cooking_machines/oven.dm b/code/modules/food/kitchen/cooking_machines/oven.dm
index b2ab6aec24f..626cc3f79f4 100644
--- a/code/modules/food/kitchen/cooking_machines/oven.dm
+++ b/code/modules/food/kitchen/cooking_machines/oven.dm
@@ -36,7 +36,7 @@
"Donut" = /obj/item/reagent_containers/food/snacks/variable/donut
)
-/obj/machinery/appliance/cooker/oven/Initialize()
+/obj/machinery/appliance/cooker/oven/Initialize(mapload)
. = ..()
oven_loop = new(list(src), FALSE)
diff --git a/code/modules/food/kitchen/icecream.dm b/code/modules/food/kitchen/icecream.dm
index b0b3592d2f3..a8281a20b9e 100644
--- a/code/modules/food/kitchen/icecream.dm
+++ b/code/modules/food/kitchen/icecream.dm
@@ -51,7 +51,7 @@
else
return "vanilla"
-/obj/machinery/icecream_vat/Initialize()
+/obj/machinery/icecream_vat/Initialize(mapload)
. = ..()
create_reagents(100)
while(product_types.len < 6)
@@ -177,7 +177,7 @@
var/ice_creamed = 0
var/cone_type
-/obj/item/reagent_containers/food/snacks/icecream/Initialize()
+/obj/item/reagent_containers/food/snacks/icecream/Initialize(mapload)
create_reagents(20)
reagents.add_reagent("nutriment", 5)
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index a908cb5002c..17dc7425ba4 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -106,7 +106,7 @@
base_icon = 'icons/turf/flooring/asteroid.dmi'
initial_flooring = null
-/turf/simulated/floor/holofloor/desert/Initialize()
+/turf/simulated/floor/holofloor/desert/Initialize(mapload)
. = ..()
if(prob(10))
add_overlay("asteroid[rand(0,9)]")
diff --git a/code/modules/holomap/station_holomap.dm b/code/modules/holomap/station_holomap.dm
index 13f5cd56235..293318a6ac9 100644
--- a/code/modules/holomap/station_holomap.dm
+++ b/code/modules/holomap/station_holomap.dm
@@ -38,7 +38,7 @@
SSholomaps.station_holomaps += src
flags |= ON_BORDER // Why? It doesn't help if its not density
-/obj/machinery/station_map/Initialize()
+/obj/machinery/station_map/Initialize(mapload)
. = ..()
if(SSholomaps.holomaps_initialized)
spawn(1) // Tragically we need to spawn this in order to give the frame construcing us time to set pixel_x/y
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index a5ef095d382..e93669f18d3 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -26,7 +26,7 @@
if(planttype)
plantname = planttype
-/obj/item/reagent_containers/food/snacks/grown/Initialize()
+/obj/item/reagent_containers/food/snacks/grown/Initialize(mapload)
..()
spawn()
if(!plantname)
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 564f3d5994c..02fb97866f6 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -13,7 +13,7 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds)
var/datum/seed/seed
var/modified = 0
-/obj/item/seeds/Initialize()
+/obj/item/seeds/Initialize(mapload)
update_seed()
. = ..()
@@ -75,7 +75,7 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds)
/obj/item/seeds/random
seed_type = null
-/obj/item/seeds/random/Initialize()
+/obj/item/seeds/random/Initialize(mapload)
seed = plant_controller.create_random_seed()
seed_type = seed.name
. = ..()
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 0484b93b60f..e00c50199dc 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -165,7 +165,7 @@
nymph.visible_message("[nymph] rolls around in [src] for a bit.","You roll around in [src] for a bit.")
return
-/obj/machinery/portable_atmospherics/hydroponics/Initialize()
+/obj/machinery/portable_atmospherics/hydroponics/Initialize(mapload)
. = ..()
temp_chem_holder = new()
temp_chem_holder.create_reagents(10)
diff --git a/code/modules/identification/item_procs.dm b/code/modules/identification/item_procs.dm
index b21716bf47b..16ac7fd4b0f 100644
--- a/code/modules/identification/item_procs.dm
+++ b/code/modules/identification/item_procs.dm
@@ -4,7 +4,7 @@
var/identity_type = /datum/identification
var/init_hide_identity = FALSE // Set to true to automatically obscure the object on initialization.
-/obj/item/Initialize()
+/obj/item/Initialize(mapload)
if(init_hide_identity)
identity = new identity_type(src)
return ..()
diff --git a/code/modules/instruments/instruments/item.dm b/code/modules/instruments/instruments/item.dm
index 9668a7168e0..6d207ad6b04 100644
--- a/code/modules/instruments/instruments/item.dm
+++ b/code/modules/instruments/instruments/item.dm
@@ -107,7 +107,7 @@
item_state = "synth"
allowed_instrument_ids = "piano"
-/obj/item/instrument/piano_synth/Initialize()
+/obj/item/instrument/piano_synth/Initialize(mapload)
. = ..()
song.allowed_instrument_ids = get_allowed_instrument_ids()
@@ -160,7 +160,7 @@
attack_verb = list("played","jazzed","trumpeted","mourned","dooted","spooked")
/*
-/obj/item/instrument/trumpet/spectral/Initialize()
+/obj/item/instrument/trumpet/spectral/Initialize(mapload)
. = ..()
AddComponent(/datum/component/spooky)
*/
@@ -185,7 +185,7 @@
attack_verb = list("played","jazzed","saxxed","mourned","dooted","spooked")
/*
-/obj/item/instrument/saxophone/spectral/Initialize()
+/obj/item/instrument/saxophone/spectral/Initialize(mapload)
. = ..()
AddComponent(/datum/component/spooky)
*/
@@ -210,7 +210,7 @@
attack_verb = list("played","jazzed","tromboned","mourned","dooted","spooked")
/*
-/obj/item/instrument/trombone/spectral/Initialize()
+/obj/item/instrument/trombone/spectral/Initialize(mapload)
. = ..()
AddComponent(/datum/component/spooky)
*/
diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm
index fdfa0501d81..0c4c32f17e5 100644
--- a/code/modules/integrated_electronics/core/assemblies.dm
+++ b/code/modules/integrated_electronics/core/assemblies.dm
@@ -20,7 +20,7 @@
var/detail_color = COLOR_ASSEMBLY_BLACK
-/obj/item/electronic_assembly/Initialize()
+/obj/item/electronic_assembly/Initialize(mapload)
battery = new(src)
START_PROCESSING(SSobj, src)
return ..()
diff --git a/code/modules/integrated_electronics/core/assemblies/clothing.dm b/code/modules/integrated_electronics/core/assemblies/clothing.dm
index fe3f9a1b3fa..e69de29bb2d 100644
--- a/code/modules/integrated_electronics/core/assemblies/clothing.dm
+++ b/code/modules/integrated_electronics/core/assemblies/clothing.dm
@@ -1,198 +0,0 @@
-
-// The base subtype for assemblies that can be worn. Certain pieces will have more or less capabilities
-// E.g. Glasses have less room than something worn over the chest.
-// Note that the electronic assembly is INSIDE the object that actually gets worn, in a similar way to implants.
-
-/obj/item/electronic_assembly/clothing
- name = "electronic clothing"
- icon_state = "circuitry" // Needs to match the clothing's base icon_state.
- desc = "It's a case, for building machines attached to clothing."
- w_class = ITEMSIZE_SMALL
- max_components = IC_COMPONENTS_BASE
- max_complexity = IC_COMPLEXITY_BASE
- var/obj/item/clothing/clothing = null
-
-/obj/item/electronic_assembly/clothing/nano_host()
- return clothing
-
-/obj/item/electronic_assembly/clothing/resolve_nano_host()
- return clothing
-
-/obj/item/electronic_assembly/clothing/update_icon()
- ..()
- clothing.icon_state = icon_state
- // We don't need to update the mob sprite since it won't (and shouldn't) actually get changed.
-
-// This is 'small' relative to the size of regular clothing assemblies.
-/obj/item/electronic_assembly/clothing/small
- max_components = IC_COMPONENTS_BASE / 2
- max_complexity = IC_COMPLEXITY_BASE / 2
- w_class = ITEMSIZE_TINY
-
-// Ditto.
-/obj/item/electronic_assembly/clothing/large
- max_components = IC_COMPONENTS_BASE * 2
- max_complexity = IC_COMPLEXITY_BASE * 2
- w_class = ITEMSIZE_NORMAL
-
-
-// This is defined higher up, in /clothing to avoid lots of copypasta.
-/obj/item/clothing
- var/obj/item/electronic_assembly/clothing/IC = null
- var/obj/item/integrated_circuit/built_in/action_button/action_circuit = null // This gets pulsed when someone clicks the button on the hud.
-
-/obj/item/clothing/emp_act(severity)
- if(IC)
- IC.emp_act(severity)
- ..()
-
-/obj/item/clothing/examine(mob/user)
- if(IC)
- IC.examine(user)
- ..()
-
-/obj/item/clothing/attackby(obj/item/I, mob/user)
- if(IC)
- // This needs to be done in a better way...
- if(I.is_crowbar() || I.is_screwdriver() || istype(I, /obj/item/integrated_circuit) || istype(I, /obj/item/cell/device) || istype(I, /obj/item/integrated_electronics) )
- IC.attackby(I, user)
- else
- ..()
-
-/obj/item/clothing/attack_self(mob/user)
- if(IC)
- if(IC.opened)
- IC.attack_self(user)
- else
- action_circuit.do_work()
- else
- ..()
-
-/obj/item/clothing/Moved(oldloc)
- if(IC)
- IC.on_loc_moved(oldloc)
- else
- ..()
-
-/obj/item/clothing/on_loc_moved(oldloc)
- if(IC)
- IC.on_loc_moved(oldloc)
- else
- ..()
-
-// Does most of the repeatative setup.
-/obj/item/clothing/proc/setup_integrated_circuit(new_type)
- // Set up the internal circuit holder.
- IC = new new_type(src)
- IC.clothing = src
- IC.name = name
-
- // Clothing assemblies can be triggered by clicking on the HUD. This allows that to occur.
- action_circuit = new(src.IC)
- IC.force_add_circuit(action_circuit)
- action_button_name = "Activate [name]"
-
-/obj/item/clothing/Destroy()
- if(IC)
- IC.clothing = null
- action_circuit = null // Will get deleted by qdel-ing the IC assembly.
- qdel(IC)
- return ..()
-
-// Specific subtypes.
-
-// Jumpsuit.
-/obj/item/clothing/under/circuitry
- name = "electronic jumpsuit"
- desc = "It's a wearable case for electronics. This on is a black jumpsuit with wiring weaved into the fabric."
- icon_state = "circuitry"
- worn_state = "circuitry"
-
-/obj/item/clothing/under/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing)
- return ..()
-
-
-// Gloves.
-/obj/item/clothing/gloves/circuitry
- name = "electronic gloves"
- desc = "It's a wearable case for electronics. This one is a pair of black gloves, with wires woven into them. A small \
- device with a screen is attached to the left glove."
- icon_state = "circuitry"
- item_state = "circuitry"
-
-/obj/item/clothing/gloves/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/small)
- return ..()
-
-// Watch.
-/obj/item/clothing/gloves/ewatch
- name = "electronic watch"
- desc = "It's a wearable case for electronics. This one is a digital watch, with an antenna and button array attatched to it.\
- Practical and stylish!"
- icon_state = "communicator"
- item_state = "ewatch"
-
-/obj/item/clothing/gloves/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/small)
- return ..()
-
-// Glasses.
-/obj/item/clothing/glasses/circuitry
- name = "electronic goggles"
- desc = "It's a wearable case for electronics. This one is a pair of goggles, with wiring sticking out. \
- Could this augment your vision?" // Sadly it won't, or at least not yet.
- icon_state = "circuitry"
- item_state = "night" // The on-mob sprite would be identical anyways.
-
-/obj/item/clothing/glasses/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/small)
- return ..()
-
-// Shoes
-/obj/item/clothing/shoes/circuitry
- name = "electronic boots"
- desc = "It's a wearable case for electronics. This one is a pair of boots, with wires attached to a small \
- cover."
- icon_state = "circuitry"
- item_state = "circuitry"
-
-/obj/item/clothing/shoes/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/small)
- return ..()
-
-// Head
-/obj/item/clothing/head/circuitry
- name = "electronic headwear"
- desc = "It's a wearable case for electronics. This one appears to be a very technical-looking piece that \
- goes around the collar, with a heads-up-display attached on the right."
- icon_state = "circuitry"
- item_state = "circuitry"
-
-/obj/item/clothing/head/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/small)
- return ..()
-
-// Ear
-/obj/item/clothing/ears/circuitry
- name = "electronic earwear"
- desc = "It's a wearable case for electronics. This one appears to be a technical-looking headset."
- icon = 'icons/obj/clothing/ears.dmi'
- icon_state = "circuitry"
- item_state = "circuitry"
-
-/obj/item/clothing/ears/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/small)
- return ..()
-
-// Exo-slot
-/obj/item/clothing/suit/circuitry
- name = "electronic chestpiece"
- desc = "It's a wearable case for electronics. This one appears to be a very technical-looking vest, that \
- almost looks professionally made, however the wiring popping out betrays that idea."
- icon_state = "circuitry"
- item_state = "circuitry"
-
-/obj/item/clothing/suit/circuitry/Initialize()
- setup_integrated_circuit(/obj/item/electronic_assembly/clothing/large)
- return ..()
\ No newline at end of file
diff --git a/code/modules/integrated_electronics/core/detailer.dm b/code/modules/integrated_electronics/core/detailer.dm
index fe86dff87c3..a3b96ad851e 100644
--- a/code/modules/integrated_electronics/core/detailer.dm
+++ b/code/modules/integrated_electronics/core/detailer.dm
@@ -25,7 +25,7 @@
"hot pink" = COLOR_ASSEMBLY_HOT_PINK
)
-/obj/item/integrated_electronics/detailer/Initialize()
+/obj/item/integrated_electronics/detailer/Initialize(mapload)
update_icon()
return ..()
diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm
index 36d1f5d4cbf..34a7abb503c 100644
--- a/code/modules/integrated_electronics/passive/power.dm
+++ b/code/modules/integrated_electronics/passive/power.dm
@@ -189,7 +189,7 @@
var/obj/machinery/power/circuit_io/IO = null // Dummy power machine to move energy in/out without a bunch of code duplication.
var/throughput = 10000 // Give/take up to 10kW.
-/obj/item/integrated_circuit/passive/power/powernet/Initialize()
+/obj/item/integrated_circuit/passive/power/powernet/Initialize(mapload)
IO = new(src)
return ..()
diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm
index f27ab9e0cc9..0586f739262 100644
--- a/code/modules/integrated_electronics/subtypes/input.dm
+++ b/code/modules/integrated_electronics/subtypes/input.dm
@@ -354,7 +354,7 @@
var/code = 30
var/datum/radio_frequency/radio_connection
-/obj/item/integrated_circuit/input/signaler/Initialize()
+/obj/item/integrated_circuit/input/signaler/Initialize(mapload)
. = ..()
set_frequency(frequency)
// Set the pins so when someone sees them, they won't show as null
@@ -568,7 +568,7 @@
LANGUAGE_TERMINUS
)
-/obj/item/integrated_circuit/input/microphone/sign/Initialize()
+/obj/item/integrated_circuit/input/microphone/sign/Initialize(mapload)
..()
for(var/lang in readable_langs)
var/datum/language/newlang = GLOB.all_languages[lang]
diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm
index 0ddc380fe6b..91c34226993 100644
--- a/code/modules/integrated_electronics/subtypes/output.dm
+++ b/code/modules/integrated_electronics/subtypes/output.dm
@@ -149,7 +149,7 @@
var/mob/living/voice/my_voice
-/obj/item/integrated_circuit/output/text_to_speech/advanced/Initialize()
+/obj/item/integrated_circuit/output/text_to_speech/advanced/Initialize(mapload)
..()
my_voice = new (src)
my_voice.name = "TTS Circuit"
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index c8782c3c291..0a9fd83ad70 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -19,7 +19,7 @@
density = 1
opacity = 1
-/obj/structure/bookcase/Initialize()
+/obj/structure/bookcase/Initialize(mapload)
. = ..()
for(var/obj/item/I in loc)
if(istype(I, /obj/item/book))
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index 320e0092866..fde7556e888 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -137,7 +137,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
var/static/list/base_genre_books
-/obj/machinery/librarycomp/Initialize()
+/obj/machinery/librarycomp/Initialize(mapload)
..()
if(!base_genre_books || !base_genre_books.len)
diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm
index 869c9480895..75087c09a3b 100644
--- a/code/modules/lighting/lighting_overlay.dm
+++ b/code/modules/lighting/lighting_overlay.dm
@@ -18,7 +18,7 @@
var/needs_update = FALSE
-/atom/movable/lighting_overlay/Initialize()
+/atom/movable/lighting_overlay/Initialize(mapload)
// doesn't need special init
flags |= INITIALIZED
return INITIALIZE_HINT_NORMAL
diff --git a/code/modules/lighting/lighting_setup.dm b/code/modules/lighting/lighting_setup.dm
index 6db6f807b55..02621fdac10 100644
--- a/code/modules/lighting/lighting_setup.dm
+++ b/code/modules/lighting/lighting_setup.dm
@@ -21,4 +21,4 @@
if(!A.dynamic_lighting)
continue
- new /atom/movable/lighting_overlay(T, TRUE)
\ No newline at end of file
+ new /atom/movable/lighting_overlay(T, TRUE)
diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm
index bd37081730c..a344fdcb400 100644
--- a/code/modules/lore_codex/codex.dm
+++ b/code/modules/lore_codex/codex.dm
@@ -8,7 +8,7 @@
var/datum/codex_tree/tree = null
var/root_type = /datum/lore/codex/category/main_virgo_lore //Runtimes on codex_tree.dm, line 18 with a null here
-/obj/item/book/codex/Initialize()
+/obj/item/book/codex/Initialize(mapload)
tree = new(src, root_type)
. = ..()
diff --git a/code/modules/mapping/map_helpers/_map_helpers.dm b/code/modules/mapping/map_helpers/_map_helpers.dm
index 31df78ee7e4..e69eb31095b 100644
--- a/code/modules/mapping/map_helpers/_map_helpers.dm
+++ b/code/modules/mapping/map_helpers/_map_helpers.dm
@@ -4,7 +4,7 @@
icon_state = ""
var/late = FALSE
-/obj/effect/map_helper/Initialize()
+/obj/effect/map_helper/Initialize(mapload)
..()
return late ? INITIALIZE_HINT_LATELOAD : INITIALIZE_HINT_QDEL
@@ -73,7 +73,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/map_helper/no_lava)
/obj/effect/map_helper/no_lava
icon_state = "no_lava"
-/obj/effect/map_helper/no_lava/Initialize()
+/obj/effect/map_helper/no_lava/Initialize(mapload)
. = ..()
var/turf/T = get_turf(src)
T.flags_1 |= NO_LAVA_GEN_1
diff --git a/code/modules/mapping/map_helpers/airlock.dm b/code/modules/mapping/map_helpers/airlock.dm
index f8b58114d16..56a24e9062c 100644
--- a/code/modules/mapping/map_helpers/airlock.dm
+++ b/code/modules/mapping/map_helpers/airlock.dm
@@ -18,7 +18,7 @@ Any frequency works, it's self-setting, but it seems like people have decided 13
// Most things have a radio tag of some sort that needs adjusting
var/tag_addon
-/obj/effect/map_helper/airlock/Initialize()
+/obj/effect/map_helper/airlock/Initialize(mapload)
..()
my_controller = get_controller(get_area(src))
my_device = locate(my_device_type) in get_turf(src)
diff --git a/code/modules/mapping/map_helpers/baseturf.dm b/code/modules/mapping/map_helpers/baseturf.dm
index f4bd0d7c7f5..156b09fc367 100644
--- a/code/modules/mapping/map_helpers/baseturf.dm
+++ b/code/modules/mapping/map_helpers/baseturf.dm
@@ -8,7 +8,7 @@
layer = POINT_LAYER
-/obj/effect/baseturf_helper/Initialize()
+/obj/effect/baseturf_helper/Initialize(mapload)
. = ..()
return INITIALIZE_HINT_LATELOAD
diff --git a/code/modules/media/media_machinery.dm b/code/modules/media/media_machinery.dm
index 9fb9e2f0981..24396f28b59 100644
--- a/code/modules/media/media_machinery.dm
+++ b/code/modules/media/media_machinery.dm
@@ -65,7 +65,7 @@
if(anchored)
update_music()
-/obj/machinery/media/Initialize()
+/obj/machinery/media/Initialize(mapload)
. = ..()
update_media_source()
diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index d58e4dcca2c..e69de29bb2d 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -1,207 +0,0 @@
-var/global/list/total_extraction_beacons = list()
-
-/obj/item/extraction_pack
- name = "fulton extraction pack"
- desc = "A balloon pack that can be used to extract equipment or personnel to a Fulton Recovery Beacon. Anything not bolted down can be moved. Link the pack to a beacon by using the pack in hand."
- icon = 'icons/obj/fulton.dmi'
- icon_state = "extraction_pack"
- w_class = ITEMSIZE_NORMAL
- var/obj/structure/extraction_point/beacon
- var/list/beacon_networks = list("station")
- var/uses_left = 3
- var/can_use_indoors = FALSE
- var/safe_for_living_creatures = 1
- var/stuntime = 15
-
-/obj/item/extraction_pack/wormhole
- name = "wormhole fulton extraction pack"
- desc = "A balloon pack with integrated wormhole technology and less disruptive movement that can be used to extract equipment or personnel to a Fulton Recovery Beacon. Anything not bolted down can be moved. Link the pack to a beacon by using the pack in hand."
- can_use_indoors = TRUE
- stuntime = 3
-
-/obj/item/extraction_holdercrate
- name = "extraction crate"
- desc = "A regular old crate."
- icon = 'icons/obj/storage.dmi'
- icon_state = "phoroncrate"
-
-/obj/item/extraction_pack/examine()
- . = ..()
- usr.show_message("It has [uses_left] use\s remaining.", 1)
-
-/obj/item/extraction_pack/attack_self(mob/user)
- var/list/possible_beacons = list()
- for(var/B in global.total_extraction_beacons)
- var/obj/structure/extraction_point/EP = B
- if(EP.beacon_network in beacon_networks)
- possible_beacons += EP
-
- if(!possible_beacons.len)
- to_chat(user, "There are no extraction beacons in existence!")
- return
-
- else
- var/A
-
- A = input("Select a beacon to connect to", "Balloon Extraction Pack", A) as null|anything in possible_beacons
-
- if(!A)
- return
- beacon = A
- to_chat(user, "You link the extraction pack to the beacon system.")
-
-/obj/item/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/user, flag, params)
- if(!beacon)
- to_chat(user, "[src] is not linked to a beacon, and cannot be used.")
- return
- if(!can_use_indoors)
- var/turf/T = get_turf(A)
- if(T && !T.outdoors)
- to_chat(user, "[src] can only be used on things that are outdoors!")
- return
- if(!flag)
- return
- if(!istype(A))
- return
- else
- if(!safe_for_living_creatures && check_for_living_mobs(A))
- to_chat(user, "[src] is not safe for use with living creatures, they wouldn't survive the trip back!")
- return
- if(!isturf(A.loc)) // no extracting stuff inside other stuff
- return
- if(A.anchored)
- return
- to_chat(user, "You start attaching the pack to [A]...")
- if(do_after(user,50,target=A))
- to_chat(user, "You attach the pack to [A] and activate it.")
- /* No components, sorry. No convienence for you!
- if(loc == user && istype(user.back, /obj/item/storage/backpack))
- var/obj/item/storage/backpack/B = user.back
- B.SendSignal(COMSIG_TRY_STORAGE_INSERT, src, user, FALSE, FALSE)
- */
- uses_left--
- if(uses_left <= 0)
- user.drop_from_inventory(src, A)
- var/mutable_appearance/balloon
- var/mutable_appearance/balloon2
- var/mutable_appearance/balloon3
- if(isliving(A))
- var/mob/living/M = A
- M.AdjustStunned(10) // Keep them from moving during the duration of the extraction
- if(M.buckled)
- M.buckled.unbuckle_mob(M)
- else
- A.anchored = TRUE
- A.density = FALSE
- var/obj/effect/extraction_holder/holder_obj = new(A.loc)
- holder_obj.appearance = /obj/item/extraction_holdercrate
- A.forceMove(holder_obj)
- balloon2 = mutable_appearance('icons/obj/fulton_balloon.dmi', "fulton_expand")
- balloon2.pixel_y = 18
- balloon2.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
- holder_obj.add_overlay(balloon2)
- sleep(4)
- balloon = mutable_appearance('icons/obj/fulton_balloon.dmi', "fulton_balloon")
- balloon.pixel_y = 18
- balloon.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
- holder_obj.cut_overlay(balloon2)
- holder_obj.add_overlay(balloon)
- playsound(holder_obj.loc, 'sound/items/fulext_deploy.wav', 50, 1, -3)
- update_icon(A)
- animate(holder_obj, pixel_z = 10, time = 20)
- sleep(20)
- animate(holder_obj, pixel_z = 15, time = 10)
- sleep(10)
- animate(holder_obj, pixel_z = 10, time = 10)
- sleep(10)
- animate(holder_obj, pixel_z = 15, time = 10)
- sleep(10)
- animate(holder_obj, pixel_z = 10, time = 10)
- sleep(10)
- playsound(holder_obj.loc, 'sound/items/fultext_launch.wav', 50, 1, -3)
- animate(holder_obj, pixel_z = 1000, time = 30)
- if(ishuman(A))
- var/mob/living/carbon/L = A
- L.AdjustStunned(stuntime)
- L.drowsyness = 0
- update_icon(A)
- sleep(30)
- var/list/flooring_near_beacon = list()
- for(var/turf/simulated/floor/floor in orange(1, beacon))
- flooring_near_beacon += floor
- holder_obj.forceMove(pick(flooring_near_beacon))
- animate(holder_obj, pixel_z = 10, time = 50)
- sleep(50)
- animate(holder_obj, pixel_z = 15, time = 10)
- sleep(10)
- animate(holder_obj, pixel_z = 10, time = 10)
- sleep(10)
- balloon3 = mutable_appearance('icons/obj/fulton_balloon.dmi', "fulton_retract")
- balloon3.pixel_y = 10
- balloon3.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
- holder_obj.cut_overlay(balloon)
- holder_obj.add_overlay(balloon3)
- sleep(4)
- holder_obj.cut_overlay(balloon3)
- A.anchored = FALSE // An item has to be unanchored to be extracted in the first place.
- A.density = initial(A.density)
- animate(holder_obj, pixel_z = 0, time = 5)
- sleep(5)
- A.forceMove(holder_obj.loc)
- qdel(holder_obj)
- if(uses_left <= 0)
- qdel(src)
-
-
-/obj/item/fulton_core
- name = "extraction beacon signaller"
- desc = "Emits a signal which fulton recovery devices can lock onto. Activate in hand to create a beacon."
- icon = 'icons/obj/stock_parts.dmi'
- icon_state = "subspace_amplifier"
-
-/obj/item/fulton_core/attack_self(mob/user)
- if(do_after(user,15,target = user) && !QDELETED(src))
- new /obj/structure/extraction_point(get_turf(user))
- qdel(src)
-
-/obj/structure/extraction_point
- name = "fulton recovery beacon"
- desc = "A beacon for the fulton recovery system. Activate a pack in your hand to link it to a beacon."
- icon = 'icons/obj/fulton.dmi'
- icon_state = "extraction_point"
- anchored = TRUE
- density = FALSE
- var/beacon_network = "station"
-
-/obj/structure/extraction_point/Initialize()
- . = ..()
- name += " ([rand(100,999)]) ([get_area_name(src, TRUE)])"
- global.total_extraction_beacons += src
-
-/obj/structure/extraction_point/Destroy()
- global.total_extraction_beacons -= src
- ..()
-
-/obj/effect/extraction_holder
- name = "extraction holder"
- desc = "you shouldnt see this"
- var/atom/movable/stored_obj
-
-/obj/item/extraction_pack/proc/check_for_living_mobs(atom/A)
- if(isliving(A))
- var/mob/living/L = A
- if(L.stat != DEAD)
- return 1
- for(var/thing in A.GetAllContents())
- if(isliving(A))
- var/mob/living/L = A
- update_icon()
- if(L.stat != DEAD)
- return 1
- return 0
-
-/obj/effect/extraction_holder/singularity_pull()
- return
-
-/obj/effect/extraction_holder/singularity_pull()
- return
\ No newline at end of file
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index 7994f1c7180..cace398c7f4 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -16,7 +16,7 @@
var/obj/machinery/mineral/processing_unit/machine = null
var/show_all_ores = FALSE
-/obj/machinery/mineral/processing_unit_console/Initialize()
+/obj/machinery/mineral/processing_unit_console/Initialize(mapload)
. = ..()
src.machine = locate(/obj/machinery/mineral/processing_unit) in range(5, src)
if (machine)
@@ -203,7 +203,7 @@
ores_processing[OD.name] = 0
ores_stored[OD.name] = 0
-/obj/machinery/mineral/processing_unit/Initialize()
+/obj/machinery/mineral/processing_unit/Initialize(mapload)
. = ..()
// TODO - Eschew input/output machinery and just use dirs ~Leshana
//Locate our output and input machinery.
diff --git a/code/modules/mining/mine_outcrops.dm b/code/modules/mining/mine_outcrops.dm
index 2a9ac0435cd..e69de29bb2d 100644
--- a/code/modules/mining/mine_outcrops.dm
+++ b/code/modules/mining/mine_outcrops.dm
@@ -1,117 +0,0 @@
-/obj/structure/outcrop
- name = "outcrop"
- desc = "A boring rocky outcrop."
- icon = 'icons/obj/outcrop.dmi'
- density = 1
- throwpass = 1
- climbable = 1
- anchored = 1
- icon_state = "outcrop"
- var/mindrop = 5
- var/upperdrop = 10
- var/outcropdrop = /obj/item/ore/glass
-
-/obj/structure/outcrop/Initialize()
- . = ..()
- if(prob(1))
- overlays += image(icon, "[initial(icon_state)]-egg")
-
-/obj/structure/outcrop/diamond
- name = "shiny outcrop"
- desc = "A shiny rocky outcrop."
- icon_state = "outcrop-diamond"
- mindrop = 2
- upperdrop = 4
- outcropdrop = /obj/item/ore/diamond
-
-/obj/structure/outcrop/phoron
- name = "shiny outcrop"
- desc = "A shiny rocky outcrop."
- icon_state = "outcrop-phoron"
- mindrop = 4
- upperdrop = 8
- outcropdrop = /obj/item/ore/phoron
-
-/obj/structure/outcrop/iron
- name = "rugged outcrop"
- desc = "A rugged rocky outcrop."
- icon_state = "outcrop-iron"
- mindrop = 10
- upperdrop = 20
- outcropdrop = /obj/item/ore/iron
-
-/obj/structure/outcrop/coal
- name = "rugged outcrop"
- desc = "A rugged rocky outcrop."
- icon_state = "outcrop-coal"
- mindrop = 10
- upperdrop = 20
- outcropdrop = /obj/item/ore/coal
-
-/obj/structure/outcrop/lead
- name = "rugged outcrop"
- desc = "A rugged rocky outcrop."
- icon_state = "outcrop-lead"
- mindrop = 2
- upperdrop = 5
- outcropdrop = /obj/item/ore/lead
-
-/obj/structure/outcrop/gold
- name = "hollow outcrop"
- desc = "A hollow rocky outcrop."
- icon_state = "outcrop-gold"
- mindrop = 4
- upperdrop = 6
- outcropdrop = /obj/item/ore/gold
-
-/obj/structure/outcrop/silver
- name = "hollow outcrop"
- desc = "A hollow rocky outcrop."
- icon_state = "outcrop-silver"
- mindrop = 6
- upperdrop = 8
- outcropdrop = /obj/item/ore/silver
-
-/obj/structure/outcrop/platinum
- name = "hollow outcrop"
- desc = "A hollow rocky outcrop."
- icon_state = "outcrop-platinum"
- mindrop = 2
- upperdrop = 5
- outcropdrop = /obj/item/ore/osmium
-
-/obj/structure/outcrop/uranium
- name = "spiky outcrop"
- desc = "A spiky rocky outcrop, it glows faintly."
- icon_state = "outcrop-uranium"
- mindrop = 4
- upperdrop = 8
- outcropdrop = /obj/item/ore/uranium
-
-/obj/structure/outcrop/attackby(obj/item/W as obj, mob/user as mob)
- if (istype(W, /obj/item/pickaxe))
- to_chat(user, "[user] begins to hack away at \the [src].")
- if(do_after(user,40))
- to_chat(user, "You have finished digging!")
- for(var/i=0;i<(rand(mindrop,upperdrop));i++)
- new outcropdrop(get_turf(src))
- qdel(src)
- return
-
-/obj/random/outcrop //In case you want an outcrop without pre-determining the type of ore.
- name = "random rock outcrop"
- desc = "This is a random rock outcrop."
- icon = 'icons/obj/outcrop.dmi'
- icon_state = "outcrop-random"
-
-/obj/random/outcrop/item_to_spawn()
- return pick(prob(100);/obj/structure/outcrop,
- prob(100);/obj/structure/outcrop/iron,
- prob(100);/obj/structure/outcrop/coal,
- prob(65);/obj/structure/outcrop/silver,
- prob(50);/obj/structure/outcrop/gold,
- prob(30);/obj/structure/outcrop/uranium,
- prob(30);/obj/structure/outcrop/phoron,
- prob(7);/obj/structure/outcrop/diamond,
- prob(15);/obj/structure/outcrop/platinum,
- prob(15);/obj/structure/outcrop/lead)
\ No newline at end of file
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index eaaa9d7f790..2a2cc67fb36 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -138,7 +138,7 @@ turf/simulated/mineral/floor/light_corner
//Cache hit
return mining_overlay_cache["[cache_id]_[direction]"]
-/turf/simulated/mineral/Initialize()
+/turf/simulated/mineral/Initialize(mapload)
. = ..()
if(prob(20))
overlay_detail = "asteroid[rand(0,9)]"
diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm
index d69484d45c1..c0411c5cfb8 100644
--- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm
+++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm
@@ -100,7 +100,7 @@
src.equipment_path = path
src.cost = cost
-/obj/machinery/power/quantumpad/Initialize()
+/obj/machinery/power/quantumpad/Initialize(mapload)
. = ..()
default_apply_parts()
diff --git a/code/modules/mining/resonator.dm b/code/modules/mining/resonator.dm
index bfbd29b8301..5b54598d9ec 100644
--- a/code/modules/mining/resonator.dm
+++ b/code/modules/mining/resonator.dm
@@ -101,7 +101,7 @@
layer = ABOVE_MOB_LAYER
duration = 4
-/obj/effect/temp_visual/resonance_crush/Initialize()
+/obj/effect/temp_visual/resonance_crush/Initialize(mapload)
. = ..()
transform = matrix()*1.5
animate(src, transform = matrix()*0.1, alpha = 50, time = 4)
diff --git a/code/modules/mining/resonator_vr.dm b/code/modules/mining/resonator_vr.dm
index 431999d61bb..22638f89b92 100644
--- a/code/modules/mining/resonator_vr.dm
+++ b/code/modules/mining/resonator_vr.dm
@@ -105,7 +105,7 @@
layer = ABOVE_MOB_LAYER
duration = 4
-/obj/effect/temp_visual/resonance_crush/Initialize()
+/obj/effect/temp_visual/resonance_crush/Initialize(mapload)
. = ..()
transform = matrix()*1.5
animate(src, transform = matrix()*0.1, alpha = 50, time = 4)
diff --git a/code/modules/mining/shelter_atoms.dm b/code/modules/mining/shelter_atoms.dm
index 0c013c61090..02b4ba26926 100644
--- a/code/modules/mining/shelter_atoms.dm
+++ b/code/modules/mining/shelter_atoms.dm
@@ -235,7 +235,7 @@
pixel_y = -4
max_n_of_items = 100
-/obj/machinery/smartfridge/survival_pod/Initialize()
+/obj/machinery/smartfridge/survival_pod/Initialize(mapload)
. = ..()
for(var/obj/item/O in loc)
if(accept_check(O))
diff --git a/code/modules/mob/freelook/update_triggers.dm b/code/modules/mob/freelook/update_triggers.dm
index e8ec4a15581..a6a47a721a1 100644
--- a/code/modules/mob/freelook/update_triggers.dm
+++ b/code/modules/mob/freelook/update_triggers.dm
@@ -17,7 +17,7 @@
updateVisibility(src)
return ..()
-/turf/simulated/Initialize()
+/turf/simulated/Initialize(mapload)
. = ..()
updateVisibility(src)
diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm
index 6c25a583989..cb1e4ecca5a 100644
--- a/code/modules/mob/living/bot/bot.dm
+++ b/code/modules/mob/living/bot/bot.dm
@@ -58,7 +58,7 @@
will_patrol = FALSE
// Make sure mapped in units start turned on.
-/mob/living/bot/Initialize()
+/mob/living/bot/Initialize(mapload)
. = ..()
if(on)
turn_on() // Update lights and other stuff
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index e39f66c479f..66c1676e926 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -9,7 +9,7 @@
health = 25
faction = "xeno"
-/mob/living/carbon/alien/larva/Initialize()
+/mob/living/carbon/alien/larva/Initialize(mapload)
. = ..()
add_language("Xenomorph") //Bonus language.
internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src)
diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm
index 0057265eba7..7a326f43f15 100644
--- a/code/modules/mob/living/carbon/brain/brain.dm
+++ b/code/modules/mob/living/carbon/brain/brain.dm
@@ -10,7 +10,7 @@
icon_state = "brain1"
no_vore = TRUE //VOREStation Edit - PLEASE. lol.
-/mob/living/carbon/brain/Initialize()
+/mob/living/carbon/brain/Initialize(mapload)
. = ..()
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 42ade147e40..08222808e48 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/Initialize()
+/mob/living/carbon/Initialize(mapload)
. = ..()
//setup reagent holders
bloodstr = new/datum/reagents/metabolism/bloodstream(500, src)
diff --git a/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm b/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm
index 91e012f2039..1907a438e87 100644
--- a/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm
+++ b/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm
@@ -30,7 +30,7 @@
var/to_wear_l_hand = null
var/to_wear_r_hand = /obj/item/melee/baton
-/mob/living/carbon/human/ai_controlled/Initialize()
+/mob/living/carbon/human/ai_controlled/Initialize(mapload)
if(generate_gender)
gender = pick(list(MALE, FEMALE, PLURAL, NEUTER))
@@ -137,7 +137,7 @@
to_wear_r_hand = null
-/mob/living/carbon/human/ai_controlled/replicant/Initialize()
+/mob/living/carbon/human/ai_controlled/replicant/Initialize(mapload)
..()
name = species.get_random_name(gender)
add_modifier(/datum/modifier/homeothermic, 0, null)
diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm
index 2eb3a3f13db..0f98e96c296 100644
--- a/code/modules/mob/living/carbon/human/human_species.dm
+++ b/code/modules/mob/living/carbon/human/human_species.dm
@@ -2,7 +2,7 @@
real_name = "Test Dummy"
status_flags = GODMODE|CANPUSH
-/mob/living/carbon/human/dummy/mannequin/Initialize()
+/mob/living/carbon/human/dummy/mannequin/Initialize(mapload)
. = ..()
mob_list -= src
living_mob_list -= src
@@ -88,7 +88,7 @@
..(new_loc, SPECIES_SHADEKIN)
//Fashion Mannequins
-/mob/living/carbon/human/dummy/mannequin/Initialize()
+/mob/living/carbon/human/dummy/mannequin/Initialize(mapload)
. = ..()
name = "Wooden Mannequin"
real_name = "Wooden Mannequin"
@@ -117,7 +117,7 @@
H.equip_to_slot_or_del(new PICK(H), slot_shoes)
H.update_inv_shoes()
-/mob/living/carbon/human/dummy/mannequin/plastic/Initialize()
+/mob/living/carbon/human/dummy/mannequin/plastic/Initialize(mapload)
. = ..()
name = "Plastic Mannequin"
real_name = "Plastic Mannequin"
@@ -147,7 +147,7 @@
H.equip_to_slot_or_del(new PICK(H), slot_shoes)
H.update_inv_shoes()
-/mob/living/carbon/human/dummy/mannequin/samurai/Initialize()
+/mob/living/carbon/human/dummy/mannequin/samurai/Initialize(mapload)
. = ..()
name = "Wooden Mannequin"
real_name = "Wooden Mannequin"
@@ -179,7 +179,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/samurai, slot_wear_suit)
H.update_inv_wear_suit()
-/mob/living/carbon/human/dummy/mannequin/animegirl/Initialize()
+/mob/living/carbon/human/dummy/mannequin/animegirl/Initialize(mapload)
. = ..()
name = "Wooden Mannequin"
real_name = "Wooden Mannequin"
@@ -208,7 +208,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/eyepatch, slot_wear_suit)
H.update_inv_glasses()
-/mob/living/carbon/human/dummy/mannequin/mummy/Initialize()
+/mob/living/carbon/human/dummy/mannequin/mummy/Initialize(mapload)
. = ..()
name = "Wooden Mannequin"
real_name = "Wooden Mannequin"
@@ -237,7 +237,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/suit/pharaoh, slot_wear_suit)
H.update_inv_wear_suit()
-/mob/living/carbon/human/dummy/mannequin/scarecrow/Initialize()
+/mob/living/carbon/human/dummy/mannequin/scarecrow/Initialize(mapload)
. = ..()
name = "Wooden Mannequin"
real_name = "Wooden Mannequin"
diff --git a/code/modules/mob/living/carbon/human/npcs.dm b/code/modules/mob/living/carbon/human/npcs.dm
index 3c0609f99be..e41ec559b81 100644
--- a/code/modules/mob/living/carbon/human/npcs.dm
+++ b/code/modules/mob/living/carbon/human/npcs.dm
@@ -5,7 +5,7 @@
worn_state = "punpun"
species_restricted = list("Monkey")
-/mob/living/carbon/human/monkey/punpun/Initialize()
+/mob/living/carbon/human/monkey/punpun/Initialize(mapload)
. = ..()
name = "Pun Pun"
real_name = name
diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm
index 3588cd334ac..9d1096c22b2 100644
--- a/code/modules/mob/living/carbon/metroid/items.dm
+++ b/code/modules/mob/living/carbon/metroid/items.dm
@@ -356,7 +356,7 @@
origin_tech = list(TECH_BIO = 4)
var/grown = 0
-/obj/item/reagent_containers/food/snacks/egg/slime/Initialize()
+/obj/item/reagent_containers/food/snacks/egg/slime/Initialize(mapload)
. = ..()
reagents.add_reagent("nutriment", 4)
reagents.add_reagent("slimejelly", 1)
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index fc0fe262cec..a384728cab2 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -870,7 +870,7 @@ var/list/ai_verbs_default = list(
/mob/living/silicon/ai/announcer/
is_dummy = 1
-/mob/living/silicon/ai/announcer/Initialize()
+/mob/living/silicon/ai/announcer/Initialize(mapload)
. = ..()
mob_list -= src
living_mob_list -= src
diff --git a/code/modules/mob/living/silicon/ai/ai_remote_control.dm b/code/modules/mob/living/silicon/ai/ai_remote_control.dm
index bae05d4a550..e16bbec2c72 100644
--- a/code/modules/mob/living/silicon/ai/ai_remote_control.dm
+++ b/code/modules/mob/living/silicon/ai/ai_remote_control.dm
@@ -1,7 +1,7 @@
/mob/living/silicon/ai
var/mob/living/silicon/robot/deployed_shell = null //For shell control
-/mob/living/silicon/ai/Initialize()
+/mob/living/silicon/ai/Initialize(mapload)
if(config_legacy.allow_ai_shells)
verbs += /mob/living/silicon/ai/proc/deploy_to_shell_act
return ..()
diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm
index 71f058bd1bc..e69de29bb2d 100644
--- a/code/modules/mob/living/silicon/robot/component.dm
+++ b/code/modules/mob/living/silicon/robot/component.dm
@@ -1,259 +0,0 @@
-// TODO: remove the robot.mmi and robot.cell variables and completely rely on the robot component system
-
-/datum/robot_component/var/name
-/datum/robot_component/var/installed = 0
-/datum/robot_component/var/powered = 0
-/datum/robot_component/var/toggled = 1
-/datum/robot_component/var/brute_damage = 0
-/datum/robot_component/var/electronics_damage = 0
-/datum/robot_component/var/idle_usage = 0 // Amount of power used every MC tick. In joules.
-/datum/robot_component/var/active_usage = 0 // Amount of power used for every action. Actions are module-specific. Actuator for each tile moved, etc.
-/datum/robot_component/var/max_damage = 30 // HP of this component.
-/datum/robot_component/var/mob/living/silicon/robot/owner
-
-// The actual device object that has to be installed for this.
-/datum/robot_component/var/external_type = null
-
-// The wrapped device(e.g. radio), only set if external_type isn't null
-/datum/robot_component/var/obj/item/wrapped = null
-
-/datum/robot_component/New(mob/living/silicon/robot/R)
- src.owner = R
-
-/datum/robot_component/proc/install()
-/datum/robot_component/proc/uninstall()
-
-/datum/robot_component/proc/destroy()
- var/brokenstate = "broken" // Generic icon
- if (istype(wrapped, /obj/item/robot_parts/robot_component))
- var/obj/item/robot_parts/robot_component/comp = wrapped
- brokenstate = comp.icon_state_broken
- if(wrapped)
- qdel(wrapped)
-
-
- wrapped = new/obj/item/broken_device
- wrapped.icon_state = brokenstate // Module-specific broken icons! Yay!
-
- // The thing itself isn't there anymore, but some fried remains are.
- installed = -1
- uninstall()
-
-/datum/robot_component/proc/take_damage(brute, electronics, sharp, edge)
- if(installed != 1) return
-
- brute_damage += brute
- electronics_damage += electronics
-
- if(brute_damage + electronics_damage >= max_damage) destroy()
-
-/datum/robot_component/proc/heal_damage(brute, electronics)
- if(installed != 1)
- // If it's not installed, can't repair it.
- return 0
-
- brute_damage = max(0, brute_damage - brute)
- electronics_damage = max(0, electronics_damage - electronics)
-
-/datum/robot_component/proc/is_powered()
- return (installed == 1) && (brute_damage + electronics_damage < max_damage) && (!idle_usage || powered)
-
-/datum/robot_component/proc/update_power_state()
- if(toggled == 0)
- powered = 0
- return
- if(owner.cell && owner.cell.charge >= idle_usage)
- owner.cell_use_power(idle_usage)
- powered = 1
- else
- powered = 0
-
-
-// ARMOUR
-// Protects the cyborg from damage. Usually first module to be hit
-// No power usage
-/datum/robot_component/armour
- name = "armour plating"
- external_type = /obj/item/robot_parts/robot_component/armour
- max_damage = 90
-
-
-// ACTUATOR
-// Enables movement.
-// Uses no power when idle. Uses 200J for each tile the cyborg moves.
-/datum/robot_component/actuator
- name = "actuator"
- idle_usage = 0
- active_usage = 200
- external_type = /obj/item/robot_parts/robot_component/actuator
- max_damage = 50
-
-
-//A fixed and much cleaner implementation of /tg/'s special snowflake code.
-/datum/robot_component/actuator/is_powered()
- return (installed == 1) && (brute_damage + electronics_damage < max_damage)
-
-
-// POWER CELL
-// Stores power (how unexpected..)
-// No power usage
-/datum/robot_component/cell
- name = "power cell"
- max_damage = 50
-
-/datum/robot_component/cell/destroy()
- ..()
- owner.cell = null
-
-
-// RADIO
-// Enables radio communications
-// Uses no power when idle. Uses 10J for each received radio message, 50 for each transmitted message.
-/datum/robot_component/radio
- name = "radio"
- external_type = /obj/item/robot_parts/robot_component/radio
- idle_usage = 15 //it's not actually possible to tell when we receive a message over our radio, so just use 10W every tick for passive listening
- active_usage = 75 //transmit power
- max_damage = 40
-
-
-// BINARY RADIO
-// Enables binary communications with other cyborgs/AIs
-// Uses no power when idle. Uses 10J for each received radio message, 50 for each transmitted message
-/datum/robot_component/binary_communication
- name = "binary communication device"
- external_type = /obj/item/robot_parts/robot_component/binary_communication_device
- idle_usage = 5
- active_usage = 25
- max_damage = 30
-
-
-// CAMERA
-// Enables cyborg vision. Can also be remotely accessed via consoles.
-// Uses 10J constantly
-/datum/robot_component/camera
- name = "camera"
- external_type = /obj/item/robot_parts/robot_component/camera
- idle_usage = 10
- max_damage = 40
- var/obj/machinery/camera/camera
-
-/datum/robot_component/camera/New(mob/living/silicon/robot/R)
- ..()
- camera = R.camera
-
-/datum/robot_component/camera/update_power_state()
- ..()
- if (camera)
- camera.status = powered
-
-/datum/robot_component/camera/install()
- if (camera)
- camera.status = 1
-
-/datum/robot_component/camera/uninstall()
- if (camera)
- camera.status = 0
-
-/datum/robot_component/camera/destroy()
- if (camera)
- camera.status = 0
-
-// SELF DIAGNOSIS MODULE
-// Analyses cyborg's modules, providing damage readouts and basic information
-// Uses 1kJ burst when analysis is done
-/datum/robot_component/diagnosis_unit
- name = "self-diagnosis unit"
- active_usage = 1000
- external_type = /obj/item/robot_parts/robot_component/diagnosis_unit
- max_damage = 30
-
-
-
-
-// HELPER STUFF
-
-
-
-// Initializes cyborg's components. Technically, adds default set of components to new borgs
-/mob/living/silicon/robot/proc/initialize_components()
- components["actuator"] = new/datum/robot_component/actuator(src)
- components["radio"] = new/datum/robot_component/radio(src)
- components["power cell"] = new/datum/robot_component/cell(src)
- components["diagnosis unit"] = new/datum/robot_component/diagnosis_unit(src)
- components["camera"] = new/datum/robot_component/camera(src)
- components["comms"] = new/datum/robot_component/binary_communication(src)
- components["armour"] = new/datum/robot_component/armour(src)
-
-// Checks if component is functioning
-/mob/living/silicon/robot/proc/is_component_functioning(module_name)
- var/datum/robot_component/C = components[module_name]
- return C && C.installed == 1 && C.toggled && C.is_powered()
-
-// Returns component by it's string name
-/mob/living/silicon/robot/proc/get_component(var/component_name)
- var/datum/robot_component/C = components[component_name]
- return C
-
-
-
-// COMPONENT OBJECTS
-
-
-
-// Component Objects
-// These objects are visual representation of modules
-
-/obj/item/broken_device
- name = "broken component"
- icon = 'icons/obj/robot_component.dmi'
- icon_state = "broken"
- matter = list(DEFAULT_WALL_MATERIAL = 1000)
-
-/obj/item/broken_device/random
- var/list/possible_icons = list("binradio_broken",
- "motor_broken",
- "armor_broken",
- "camera_broken",
- "analyser_broken",
- "radio_broken")
-
-/obj/item/broken_device/random/Initialize()
- icon_state = pick(possible_icons)
-
-/obj/item/robot_parts/robot_component
- icon = 'icons/obj/robot_component.dmi'
- icon_state = "working"
- var/brute = 0
- var/burn = 0
- var/icon_state_broken = "broken"
-
-/obj/item/robot_parts/robot_component/binary_communication_device
- name = "binary communication device"
- icon_state = "binradio"
- icon_state_broken = "binradio_broken"
-
-/obj/item/robot_parts/robot_component/actuator
- name = "actuator"
- icon_state = "motor"
- icon_state_broken = "motor_broken"
-
-/obj/item/robot_parts/robot_component/armour
- name = "armour plating"
- icon_state = "armor"
- icon_state_broken = "armor_broken"
-
-/obj/item/robot_parts/robot_component/camera
- name = "camera"
- icon_state = "camera"
- icon_state_broken = "camera_broken"
-
-/obj/item/robot_parts/robot_component/diagnosis_unit
- name = "diagnosis unit"
- icon_state = "analyser"
- icon_state_broken = "analyser_broken"
-
-/obj/item/robot_parts/robot_component/radio
- name = "radio"
- icon_state = "radio"
- icon_state_broken = "radio_broken"
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/drone/swarm.dm b/code/modules/mob/living/silicon/robot/drone/swarm.dm
index fc535675cd5..b5f8ec9048a 100644
--- a/code/modules/mob/living/silicon/robot/drone/swarm.dm
+++ b/code/modules/mob/living/silicon/robot/drone/swarm.dm
@@ -51,7 +51,7 @@
/spell/aoe_turf/conjure/swarmer/melee
)
-/mob/living/silicon/robot/drone/swarm/Initialize()
+/mob/living/silicon/robot/drone/swarm/Initialize(mapload)
..()
add_language(LANGUAGE_SWARMBOT, 1)
diff --git a/code/modules/mob/living/silicon/robot/drone/swarm_items.dm b/code/modules/mob/living/silicon/robot/drone/swarm_items.dm
index 342e42df3af..e0790f0a06d 100644
--- a/code/modules/mob/living/silicon/robot/drone/swarm_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/swarm_items.dm
@@ -157,6 +157,6 @@
list(mode_name="deter", projectile_type=/obj/item/projectile/beam/shock, charge_cost = 175),
)
-/obj/item/gun/energy/xray/swarm/Initialize()
+/obj/item/gun/energy/xray/swarm/Initialize(mapload)
..()
adjust_scale(-1, 1)
diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm
index a3c40411162..32187e2ac92 100644
--- a/code/modules/mob/living/silicon/robot/robot_items.dm
+++ b/code/modules/mob/living/silicon/robot/robot_items.dm
@@ -130,7 +130,7 @@
var/dummy_card = null
var/dummy_card_type = /obj/item/card/id/science/roboticist/dummy_cyborg
-/obj/item/card/robot/Initialize()
+/obj/item/card/robot/Initialize(mapload)
..()
dummy_card = new dummy_card_type(src)
@@ -148,7 +148,7 @@
/obj/item/card/id/science/roboticist/dummy_cyborg
access = list(access_robotics)
-/obj/item/card/id/syndicate/dummy_cyborg/Initialize()
+/obj/item/card/id/syndicate/dummy_cyborg/Initialize(mapload)
..()
access |= access_robotics
diff --git a/code/modules/mob/living/silicon/robot/robot_remote_control.dm b/code/modules/mob/living/silicon/robot/robot_remote_control.dm
index 35fd7d0395a..c3b27b08102 100644
--- a/code/modules/mob/living/silicon/robot/robot_remote_control.dm
+++ b/code/modules/mob/living/silicon/robot/robot_remote_control.dm
@@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(available_ai_shells)
var/mob/living/silicon/ai/mainframe = null
// Premade AI shell, for roundstart shells.
-/mob/living/silicon/robot/ai_shell/Initialize()
+/mob/living/silicon/robot/ai_shell/Initialize(mapload)
mmi = new /obj/item/mmi/inert/ai_remote(src)
post_mmi_setup()
return ..()
@@ -131,7 +131,7 @@ GLOBAL_LIST_EMPTY(available_ai_shells)
icon_state = "x3"
delete_me = TRUE
-/obj/effect/landmark/free_ai_shell/Initialize()
+/obj/effect/landmark/free_ai_shell/Initialize(mapload)
if(config_legacy.allow_ai_shells && config_legacy.give_free_ai_shell)
new /mob/living/silicon/robot/ai_shell(get_turf(src))
return ..()
diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm
index c7d6afe01f6..72e8bcc0f22 100644
--- a/code/modules/mob/living/simple_mob/simple_mob.dm
+++ b/code/modules/mob/living/simple_mob/simple_mob.dm
@@ -155,7 +155,7 @@
// contained in a cage
var/in_stasis = 0
-/mob/living/simple_mob/Initialize()
+/mob/living/simple_mob/Initialize(mapload)
verbs -= /mob/verb/observe
health = maxHealth
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm
index ecb0f4db41e..a7fac491534 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm
@@ -46,7 +46,7 @@
if(mind)
borers.add_antagonist(mind)
-/mob/living/simple_mob/animal/borer/Initialize()
+/mob/living/simple_mob/animal/borer/Initialize(mapload)
add_language("Cortical Link")
verbs += /mob/living/proc/ventcrawl
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm
index 2d8ec6e618d..26041eb4f6b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm
@@ -40,7 +40,7 @@
var/swarmling_faction = "spiders"
var/swarmling_prob = 10 // Odds that a spiderling will be a swarmling instead.
-/mob/living/simple_mob/animal/giant_spider/carrier/Initialize()
+/mob/living/simple_mob/animal/giant_spider/carrier/Initialize(mapload)
spiderling_count = rand(5, 10)
adjust_scale(1.2)
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm
index b0481c00975..e69de29bb2d 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm
@@ -1,34 +0,0 @@
-// Pepper spiders inject condensed capsaicin into their victims.
-
-/datum/category_item/catalogue/fauna/giant_spider/pepper_spider
- name = "Giant Spider - Pepper"
- desc = "This specific spider has been catalogued as 'Pepper', \
- and it belongs to the 'Guard' caste. \
- Red makes up a majority of the spider's appearance, including its eyes, with some brown on its body as well. \
-
\
- Pepper spiders are named due to producing capsaicin, and using it as a venom to incapacitate their prey, in an \
- incredibly painful way. Their raw strength is considerably less than some of the other spiders, however \
- they share a similar level of endurance with the other spiders in their caste, making them difficult to put down."
- value = CATALOGUER_REWARD_MEDIUM
-
-/mob/living/simple_mob/animal/giant_spider/pepper
- desc = "Red and brown, it makes you shudder to look at it. This one has glinting red eyes."
- catalogue_data = list(/datum/category_item/catalogue/fauna/giant_spider/pepper_spider)
-
- icon_state = "pepper"
- icon_living = "pepper"
- icon_dead = "pepper_dead"
-
- maxHealth = 210
- health = 210
-
- melee_damage_lower = 8
- melee_damage_upper = 15
-
- poison_chance = 20
- poison_per_bite = 5
- poison_type = "condensedcapsaicin_v"
-
-/mob/living/simple_mob/animal/giant_spider/pepper/Initialize()
- adjust_scale(1.1)
- return ..()
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm
index 39e2edcb7d5..3efa948edab 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm
@@ -54,7 +54,7 @@
var/explosion_delay_lower = 1 SECOND // Lower bound for explosion delay.
var/explosion_delay_upper = 2 SECONDS // Upper bound.
-/mob/living/simple_mob/animal/giant_spider/phorogenic/Initialize()
+/mob/living/simple_mob/animal/giant_spider/phorogenic/Initialize(mapload)
adjust_scale(1.25)
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm
index f094df94b9b..2987a66f6a2 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm
@@ -45,7 +45,7 @@
catalogue_data = list(/datum/category_item/catalogue/fauna/sif_crab)
-/mob/living/simple_mob/animal/passive/crab/sif/Initialize()
+/mob/living/simple_mob/animal/passive/crab/sif/Initialize(mapload)
..()
adjust_scale(rand(5,15) / 10)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm
index 2904a87b405..1615c576054 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm
@@ -93,7 +93,7 @@
health = 50
maxHealth = 50
-/mob/living/simple_mob/animal/passive/fish/koi/poisonous/Initialize()
+/mob/living/simple_mob/animal/passive/fish/koi/poisonous/Initialize(mapload)
..()
create_reagents(60)
reagents.add_reagent("toxin", 45)
@@ -200,7 +200,7 @@
var/image/dorsal_image
var/image/belly_image
-/mob/living/simple_mob/animal/passive/fish/icebass/Initialize()
+/mob/living/simple_mob/animal/passive/fish/icebass/Initialize(mapload)
..()
dorsal_color = rgb(rand(min_red,max_red), rand(min_green,max_green), rand(min_blue,max_blue))
belly_color = rgb(rand(min_red,max_red), rand(min_green,max_green), rand(min_blue,max_blue))
@@ -270,7 +270,7 @@
meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/sif
-/mob/living/simple_mob/animal/passive/fish/rockfish/Initialize()
+/mob/living/simple_mob/animal/passive/fish/rockfish/Initialize(mapload)
..()
head_color = rgb(rand(min_red,max_red), rand(min_green,max_green), rand(min_blue,max_blue))
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm
index a0cece86c76..030f4e558a7 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm
@@ -33,7 +33,7 @@
attack_sharp = TRUE
-/mob/living/simple_mob/animal/passive/lizard/large/Initialize()
+/mob/living/simple_mob/animal/passive/lizard/large/Initialize(mapload)
..()
adjust_scale(rand(12, 20) / 10)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm
index 13367221ffd..074afa486d4 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm
@@ -115,7 +115,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
-/mob/living/simple_mob/animal/passive/mouse/rat/Initialize()
+/mob/living/simple_mob/animal/passive/mouse/rat/Initialize(mapload)
..()
adjust_scale(1.2)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
index ef35d8d65e9..075f8efccfe 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
@@ -21,7 +21,7 @@
var/named = FALSE //have I been named yet?
var/friend_name = null //VOREStation Edit - Lock befriending to this character
-/mob/living/simple_mob/animal/passive/cat/Initialize()
+/mob/living/simple_mob/animal/passive/cat/Initialize(mapload)
icon_living = "[initial(icon_state)]"
icon_dead = "[initial(icon_state)]_dead"
icon_rest = "[initial(icon_state)]_rest"
@@ -112,7 +112,7 @@
gender = NEUTER
holder_type = /obj/item/holder/cat/kitten //VOREStation Edit
-/mob/living/simple_mob/animal/passive/cat/kitten/Initialize()
+/mob/living/simple_mob/animal/passive/cat/kitten/Initialize(mapload)
if(gender == NEUTER)
gender = pick(MALE, FEMALE)
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm
index 56108bc8895..9f4de8c9f45 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm
@@ -94,7 +94,7 @@
if(my_headset)
to_chat(user, "It is wearing \a [my_headset].")
-/mob/living/simple_mob/animal/passive/bird/parrot/Initialize()
+/mob/living/simple_mob/animal/passive/bird/parrot/Initialize(mapload)
if(my_headset)
my_headset = new my_headset(src)
return ..()
@@ -134,7 +134,7 @@
icon_dead = "eclectus-dead"
tt_desc = "E Eclectus roratus"
-/mob/living/simple_mob/animal/passive/bird/parrot/eclectus/Initialize()
+/mob/living/simple_mob/animal/passive/bird/parrot/eclectus/Initialize(mapload)
gender = pick(MALE, FEMALE)
if(gender == FEMALE)
icon_state = "eclectusf"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm
index 73a3ec388ce..c573583fc63 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm
@@ -80,7 +80,7 @@
/mob/living/simple_mob/animal/sif/frostfly/get_cold_protection()
return 1 // It literally produces a cryogenic mist inside itself. Cold doesn't bother it.
-/mob/living/simple_mob/animal/sif/frostfly/Initialize()
+/mob/living/simple_mob/animal/sif/frostfly/Initialize(mapload)
..()
smoke_special = new
verbs += /mob/living/proc/ventcrawl
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm
index ae1abb363f8..b6c52ddaa13 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm
@@ -55,7 +55,7 @@
say_list_type = /datum/say_list/glitterfly
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/glitterfly
-/mob/living/simple_mob/animal/sif/glitterfly/Initialize()
+/mob/living/simple_mob/animal/sif/glitterfly/Initialize(mapload)
..()
var/colorlist = list(rgb(rand(100,255), rand(100,255), rand(100,255)) = 10, rgb(rand(5,100), rand(5,100), rand(5,100)) = 2, "#222222" = 1)
color = pickweight(colorlist)
@@ -78,7 +78,7 @@
plane = PLANE_LIGHTING_ABOVE
-/mob/living/simple_mob/animal/sif/glitterfly/rare/Initialize()
+/mob/living/simple_mob/animal/sif/glitterfly/rare/Initialize(mapload)
..()
/datum/say_list/glitterfly
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm
index 1c303170249..82f2b94dedd 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm
@@ -91,7 +91,7 @@
health = 250
instinct = 50
-/mob/living/simple_mob/animal/sif/kururak/Initialize()
+/mob/living/simple_mob/animal/sif/kururak/Initialize(mapload)
..()
if(!instinct)
if(prob(20))
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm
index b6cefdac95e..04c77ceb42a 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm
@@ -114,7 +114,7 @@
emote_see = list("vibrates","looks around", "stares", "extends a proboscis")
emote_hear = list("chitters", "clicks", "gurgles")
-/mob/living/simple_mob/animal/sif/leech/Initialize()
+/mob/living/simple_mob/animal/sif/leech/Initialize(mapload)
..()
verbs += /mob/living/proc/ventcrawl
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm
index e2125c243c8..5540679d4bf 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm
@@ -149,7 +149,7 @@
I.appearance_flags = RESET_COLOR
add_overlay(I)
-/mob/living/simple_mob/animal/sif/sakimm/Initialize()
+/mob/living/simple_mob/animal/sif/sakimm/Initialize(mapload)
. = ..()
verbs += /mob/living/proc/ventcrawl
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm
index c04fdb0e7fb..e69de29bb2d 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm
@@ -1,106 +0,0 @@
-// Shantaks are essentially sif wolves.
-
-/datum/category_item/catalogue/fauna/shantak
- name = "Sivian Fauna - Shantak"
- desc = "Classification: S Choeros shantak\
-
\
- The Shantak is easily recognized by its iridescent, crystaline mane. \
- The creature's specially adapted hairs are hardened by a natural hard mineral coating, \
- thickest in the mane but present across the whole body. \
- As well as giving the Shantak a coat nigh-inpenetrable to all but the most specialized predator, \
- their hard, almost metallic coat gives them a slightly musical accent as they move. \
- The Shantak uses its powerful foreclaws for both den-building and foraging. \
-
\
- Observed to share several square-mile territories with a small number of other individuals, \
- the Shantak will rotate between several dens dug deep into the hard earth throughout the year, \
- while deftly avoiding others of its species outwith mating season. While other wildlife makes use of these dens, \
- the Shantak is fiercely territorial and will defend itself against any creature it perceives as a threat with reckless abandon. \
- Their diet consists primarily of fungi and insects found just below the permafrost."
- value = CATALOGUER_REWARD_MEDIUM
-
-/mob/living/simple_mob/animal/sif/shantak
- name = "shantak"
- desc = "A piglike creature with a bright iridiscent mane that sparkles as though lit by an inner light. \
- Don't be fooled by its beauty though."
- tt_desc = "S Choeros shantak"
- catalogue_data = list(/datum/category_item/catalogue/fauna/shantak)
-
- faction = "shantak"
-
- icon_state = "shantak"
- icon_living = "shantak"
- icon_dead = "shantak_dead"
- icon = 'icons/jungle.dmi'
-
- maxHealth = 75
- armor_soak = list(
- "melee" = 5,
- "bullet" = 0,
- "laser" = 0,
- "energy" = 0,
- "bomb" = 0,
- "bio" = 0,
- "rad" = 0
- )
-
- movement_cooldown = 5
-
- melee_damage_lower = 6
- melee_damage_upper = 14
- base_attack_cooldown = 1 SECOND
- melee_attack_delay = 0.5 SECONDS
- attack_armor_pen = 5
- attack_sharp = TRUE
- attack_edge = TRUE
- attacktext = list("gouged")
-
- say_list_type = /datum/say_list/shantak
-
-/datum/say_list/shantak
- speak = list("Shuhn.","Shrunnph?","Shunpf.")
- emote_see = list("scratches the ground", "shakes out its mane", "clinks gently as it moves")
-
-
-// The pack leader.
-// Will command other shantaks to follow it.
-/mob/living/simple_mob/animal/sif/shantak/leader
- name = "big shantak"
- desc = "A piglike creature with a bright iridiscent mane that sparkles as though lit by an inner light. \
- This one seems bigger than the others, and has a commanding presence."
- icon_scale_x = 1.5
- icon_scale_y = 1.5
- maxHealth = 125
- player_msg = "You have the ability to command other shantaks to follow you."
-
-/mob/living/simple_mob/animal/sif/shantak/leader/verb/rally_pack()
- set name = "Rally Pack"
- set desc = "Commands your fellow packmembers to follow you, the leader."
- set category = "Abilities"
-
- for(var/mob/living/simple_mob/animal/sif/shantak/S in hearers(7, src))
- if(istype(S, /mob/living/simple_mob/animal/sif/shantak/leader)) // Leaders won't follow other leaders. Also avoids trying to follow ourselves.
- continue
- if(!S.ai_holder)
- continue
- if(S.faction != src.faction)
- continue
- var/datum/ai_holder/AI = S.ai_holder
- AI.set_follow(src)
-
-// Variant that automatically commands nearby allies to follow it when created.
-// Suggested to spawn last so it can rally up all the shantaks easily before hunting for tasty explorers.
-/mob/living/simple_mob/animal/sif/shantak/leader/autofollow/Initialize()
- rally_pack()
- return ..()
-
-
-// These ones only retaliate. Used for a PoI.
-/mob/living/simple_mob/animal/sif/shantak/retaliate
- ai_holder_type = /datum/ai_holder/simple_mob/retaliate
-
-//Vorestation Addition
-/mob/living/simple_mob/animal/sif/shantak/scruffy
- name = "Scruffy"
- ai_holder_type = /datum/ai_holder/simple_mob/passive
- makes_dirt = 0
- faction = "neutral"
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm
index 73ad296c53a..74878183c4b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm
@@ -131,7 +131,7 @@
mob_class = MOB_CLASS_PHOTONIC // Xeno-taser won't work on this as its not a 'real' carp.
-/mob/living/simple_mob/animal/space/carp/holographic/Initialize()
+/mob/living/simple_mob/animal/space/carp/holographic/Initialize(mapload)
set_light(2) // Hologram lighting.
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm
index f0ff2139312..fa5ff103f22 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm
@@ -139,7 +139,7 @@
nutriment_amt = 1
nutriment_desc = list("sugar" = 1)
-/obj/item/reagent_containers/food/snacks/snakesnack/Initialize()
+/obj/item/reagent_containers/food/snacks/snakesnack/Initialize(mapload)
..()
if(!snack_colour)
snack_colour = pick( list("yellow","green","pink","blue") )
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm
index 54a3aaf6a46..e51cd6165ef 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm
@@ -107,7 +107,7 @@
if(stat)
icon_state = "[icon_state]_dead"
-/mob/living/simple_mob/animal/space/space_worm/head/Initialize()
+/mob/living/simple_mob/animal/space/space_worm/head/Initialize(mapload)
..()
var/mob/living/simple_mob/animal/space/space_worm/current = src
@@ -394,7 +394,7 @@
filling_color = "#551A8B"
center_of_mass = list("x"=16, "y"=14)
-/obj/item/reagent_containers/food/snacks/meat/worm/Initialize()
+/obj/item/reagent_containers/food/snacks/meat/worm/Initialize(mapload)
. = ..()
reagents.add_reagent("protein", 6)
reagents.add_reagent("phoron", 3)
diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm
index a8fd23cff59..c1cc0cf26d3 100644
--- a/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm
@@ -431,7 +431,7 @@
var/obj/item/shield_projector/shields = null
-/mob/living/simple_mob/humanoid/pirate/captain/Initialize()
+/mob/living/simple_mob/humanoid/pirate/captain/Initialize(mapload)
shields = new /obj/item/shield_projector/rectangle/automatic/drone(src)
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm
index c34cf0a4f17..35a02d48ec2 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm
@@ -60,7 +60,7 @@
var/datum/effect_system/ion_trail_follow/ion_trail = null
var/obj/item/shield_projector/shields = null
-/mob/living/simple_mob/mechanical/combat_drone/Initialize()
+/mob/living/simple_mob/mechanical/combat_drone/Initialize(mapload)
ion_trail = new
ion_trail.set_up(src)
ion_trail.start()
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm
index 98ab77a6f15..0269d81925a 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm
@@ -54,7 +54,7 @@
"haste" = /obj/item/spell/modifier/haste
)
-/mob/living/simple_mob/mechanical/technomancer_golem/Initialize()
+/mob/living/simple_mob/mechanical/technomancer_golem/Initialize(mapload)
core = new(src)
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm
index 243a67e4f56..2cf1720dded 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm
@@ -46,7 +46,7 @@
// Variant that automatically commands nearby allies to follow it when created.
// Useful to avoid having to manually set follow to a lot of hivebots that are gonna die in the next minute anyways.
-/mob/living/simple_mob/mechanical/hivebot/support/commander/autofollow/Initialize()
+/mob/living/simple_mob/mechanical/hivebot/support/commander/autofollow/Initialize(mapload)
for(var/mob/living/L in hearers(7, src))
if(!L.ai_holder)
continue
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm
index 833e90bde47..010ed0b6045 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm
@@ -62,6 +62,6 @@
set_defense_mode(!defense_mode)
// Variant that starts in defense mode, perhaps for PoIs.
-/mob/living/simple_mob/mechanical/mecha/combat/durand/defensive/Initialize()
+/mob/living/simple_mob/mechanical/mecha/combat/durand/defensive/Initialize(mapload)
set_defense_mode(TRUE)
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm
index 05060587fde..e69de29bb2d 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm
@@ -1,41 +0,0 @@
-// Ranged, and capable of flight.
-
-/datum/category_item/catalogue/technology/hoverpod
- name = "Voidcraft - Hoverpod"
- desc = "This is a small space-capable craft that has a round design. Can hold up to one pilot, \
- and sometimes one or two passengers, with the right modifications made. \
- Hoverpods have existed for a very long time, and the design has remained more or less consistant over its life. \
- They carved out a niche in short ranged transportation of cargo or crew while in space, \
- as they were more efficient compared to using a shuttle, and required less infrastructure to use due to being compact enough \
- to use airlocks. As such, they acted as a sort of bridge between being EVA in a spacesuit, and being inside a 'real' spacecraft.\
-
\
- In recent times, the Hoverpod is seen as outdated by some, as newer solutions to that niche now exist, however it remains an ancient favorite."
- value = CATALOGUER_REWARD_EASY
-
-/mob/living/simple_mob/mechanical/mecha/hoverpod
- name = "hover pod"
- desc = "Stubby and round, this space-capable craft is an ancient favorite. It has a jury-rigged welder-laser."
- catalogue_data = list(/datum/category_item/catalogue/technology/hoverpod)
- icon_state = "engineering_pod"
- movement_sound = 'sound/machines/hiss.ogg'
- wreckage = /obj/structure/loot_pile/mecha/hoverpod
-
- maxHealth = 150
- hovering = TRUE // Can fly.
-
- projectiletype = /obj/item/projectile/beam
- base_attack_cooldown = 2 SECONDS
-
- var/datum/effect_system/ion_trail_follow/ion_trail
-
-/mob/living/simple_mob/mechanical/mecha/hoverpod/manned
- pilot_type = /mob/living/simple_mob/humanoid/merc/ranged
-
-/mob/living/simple_mob/mechanical/mecha/hoverpod/Initialize()
- ion_trail = new /datum/effect_system/ion_trail_follow()
- ion_trail.set_up(src)
- ion_trail.start()
- return ..()
-
-/mob/living/simple_mob/mechanical/mecha/hoverpod/Process_Spacemove(var/check_drift = 0)
- return TRUE
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm
index 0eb62643c2a..e69de29bb2d 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm
@@ -1,141 +0,0 @@
-// Mecha simple_mobs are essentially fake mechs. Generally tough and scary to fight.
-// By default, they're automatically piloted by some kind of drone AI. They can be set to be "piloted" instead with a var.
-// Tries to be as similar to the real deal as possible.
-
-/mob/living/simple_mob/mechanical/mecha
- name = "mecha"
- desc = "A big stompy mech!"
- icon = 'icons/mecha/mecha.dmi'
-
- faction = "syndicate"
- movement_cooldown = 5
- movement_sound = "mechstep" // This gets fed into playsound(), which can also take strings as a 'group' of sound files.
- turn_sound = 'sound/mecha/mechturn.ogg'
- maxHealth = 300
- mob_size = MOB_LARGE
-
- // Very close to the base 'damage_absorption' var on the base mecha class.
- armor = list(
- "melee" = 20,
- "bullet" = 10,
- "laser" = 0,
- "energy" = 0,
- "bomb" = 0,
- "bio" = 100,
- "rad" = 100
- )
-
- response_help = "taps on"
- response_disarm = "knocks on"
- response_harm = "uselessly hits"
- harm_intent_damage = 0
-
- ai_holder_type = /datum/ai_holder/simple_mob/melee
- say_list_type = /datum/say_list/malf_drone
-
- var/datum/effect_system/spark_spread/sparks
- var/wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark
- var/pilot_type = null // Set to spawn a pilot when destroyed. Setting this also makes the mecha vulnerable to things that affect sentient minds.
- var/deflect_chance = 10 // Chance to outright stop an attack, just like a normal exosuit.
- var/has_repair_droid = FALSE // If true, heals 2 damage every tick and gets a repair droid overlay.
-
-
-/mob/living/simple_mob/mechanical/mecha/Initialize()
- sparks = new (src)
- sparks.set_up(3, 1, src)
- sparks.attach(src)
-
- if(!pilot_type)
- name = "autonomous [initial(name)]"
- desc = "[initial(desc)] It appears to be piloted by a drone intelligence."
- else
- say_list_type = /datum/say_list/merc
-
- if(has_repair_droid)
- update_icon()
-
- return ..()
-
-/mob/living/simple_mob/mechanical/mecha/Destroy()
- qdel(sparks)
- return ..()
-
-/mob/living/simple_mob/mechanical/mecha/death()
- ..(0,"explodes!") // Do everything else first.
-
- // Make the exploding more convincing with an actual explosion and some sparks.
- sparks.start()
- explosion(get_turf(src), 0, 0, 1, 3)
-
- // 'Eject' our pilot, if one exists.
- if(pilot_type)
- var/mob/living/L = new pilot_type(loc)
- L.faction = src.faction
-
- new wreckage(loc) // Leave some wreckage.
-
- qdel(src) // Then delete us since we don't actually have a body.
-
-/mob/living/simple_mob/mechanical/mecha/handle_special()
- if(has_repair_droid)
- adjustBruteLoss(-2)
- adjustFireLoss(-2)
- adjustToxLoss(-2)
- adjustOxyLoss(-2)
- adjustCloneLoss(-2)
- ..()
-
-/mob/living/simple_mob/mechanical/mecha/update_icon()
- ..() // Cuts everything else, so do that first.
- if(has_repair_droid)
- add_overlay(image(icon = 'icons/mecha/mecha_equipment.dmi', icon_state = "repair_droid"))
-
-/mob/living/simple_mob/mechanical/mecha/bullet_act()
- . = ..()
- sparks.start()
-
-/mob/living/simple_mob/mechanical/mecha/speech_bubble_appearance()
- return pilot_type ? "" : ..()
-
-// Piloted mechs are controlled by (presumably) something humanoid so they are vulnerable to certain things.
-/mob/living/simple_mob/mechanical/mecha/is_sentient()
- return pilot_type ? TRUE : FALSE
-
-/*
-// Real mechs can't turn and run at the same time. This tries to simulate that.
-// Commented out because the AI can't handle it sadly.
-/mob/living/simple_mob/mechanical/mecha/SelfMove(turf/n, direct)
- if(direct != dir)
- setDir(direct)
- return FALSE // We didn't actually move, and returning FALSE means the mob can try to actually move almost immediately and not have to wait the full movement cooldown.
- return ..()
-*/
-
-/mob/living/simple_mob/mechanical/mecha/bullet_act(obj/item/projectile/P)
- if(prob(deflect_chance))
- visible_message(span("warning", "\The [P] is deflected by \the [src]'s armor!"))
- deflect_sprite()
- return 0
- return ..()
-
-/mob/living/simple_mob/mechanical/mecha/proc/deflect_sprite()
- var/image/deflect_image = image('icons/effects/effects.dmi', "deflect_static")
- add_overlay(deflect_image)
- sleep(1 SECOND)
- cut_overlay(deflect_image)
- qdel(deflect_image)
-// flick_overlay_view(deflect_image, src, duration = 1 SECOND, gc_after = TRUE)
-
-/mob/living/simple_mob/mechanical/mecha/attackby(obj/item/I, mob/user)
- if(prob(deflect_chance))
- visible_message(span("warning", "\The [user]'s [I] bounces off \the [src]'s armor!"))
- deflect_sprite()
- user.setClickCooldown(user.get_attack_speed(I))
- return
- ..()
-
-/mob/living/simple_mob/mechanical/mecha/ex_act(severity)
- if(prob(deflect_chance))
- severity++ // This somewhat misleadingly makes it less severe.
- deflect_sprite()
- ..(severity)
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm b/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm
index c68e5d248fb..e69de29bb2d 100644
--- a/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm
@@ -1,225 +0,0 @@
-// The top-level slime defines. Xenobio slimes and feral slimes will inherit from this.
-
-/mob/living/simple_mob/slime
- name = "slime"
- desc = "It's a slime."
- tt_desc = "A Macrolimbus vulgaris"
- icon = 'icons/mob/slime2.dmi'
- icon_state = "slime baby"
- icon_living = "slime baby"
- icon_dead = "slime baby dead"
- var/shiny = FALSE // If true, will add a 'shiny' overlay.
- var/icon_state_override = null // Used for special slime appearances like the rainbow slime.
- color = "#CACACA"
- glow_range = 3
- glow_intensity = 2
- gender = NEUTER
-
- faction = "slime" // Note that slimes are hostile to other slimes of different color regardless of faction (unless Unified).
- maxHealth = 150
- movement_cooldown = 0
- pass_flags = PASSTABLE
- makes_dirt = FALSE // Goop
- mob_class = MOB_CLASS_SLIME
-
- response_help = "pets"
-
- // Atmos stuff.
- minbodytemp = T0C-30
- heat_damage_per_tick = 0
- cold_damage_per_tick = 40
-
- min_oxy = 0
- max_oxy = 0
- min_tox = 0
- max_tox = 0
- min_co2 = 0
- max_co2 = 0
- min_n2 = 0
- max_n2 = 0
- unsuitable_atoms_damage = 0
- shock_resist = 0.5 // Slimes are resistant to electricity, and it actually charges them.
- taser_kill = FALSE
- water_resist = 0 // Slimes are very weak to water.
-
- melee_damage_lower = 10
- melee_damage_upper = 15
- base_attack_cooldown = 10 // One attack a second.
- attack_sound = 'sound/weapons/bite.ogg'
- attacktext = list("glomped")
- speak_emote = list("chirps")
- friendly = list("pokes")
-
- ai_holder_type = /datum/ai_holder/simple_mob/melee
- say_list_type = /datum/say_list/slime
-
- var/cores = 1 // How many cores you get when placed in a Processor.
- var/obj/item/clothing/head/hat = null // The hat the slime may be wearing.
- var/slime_color = "grey" // Used for updating the name and for slime color-ism.
- var/unity = FALSE // If true, slimes will consider other colors as their own. Other slimes will see this slime as the same color as well.
- var/coretype = /obj/item/slime_extract/grey // What core is inside the slime, and what you get from the processor.
- var/reagent_injected = null // Some slimes inject reagents on attack. This tells the game what reagent to use.
- var/injection_amount = 5 // This determines how much.
- var/mood = ":3" // Icon to use to display 'mood', as an overlay.
-
- can_enter_vent_with = list(/obj/item/clothing/head)
-
-/datum/say_list/slime
- speak = list("Blorp...", "Blop...")
- emote_see = list("bounces", "jiggles", "sways")
- emote_hear = list("squishes")
-
-/mob/living/simple_mob/slime/Initialize()
- verbs += /mob/living/proc/ventcrawl
- update_mood()
- glow_color = color
- handle_light()
- update_icon()
- return ..()
-
-/mob/living/simple_mob/slime/Destroy()
- if(hat)
- drop_hat()
- return ..()
-
-/mob/living/simple_mob/slime/death()
- // Make dead slimes stop glowing.
- glow_toggle = FALSE
- handle_light()
- ..()
-
-/mob/living/simple_mob/slime/revive()
- // Make revived slimes resume glowing.
- glow_toggle = initial(glow_toggle)
- handle_light()
- ..()
-
-/mob/living/simple_mob/slime/update_icon()
- ..() // Do the regular stuff first.
-
- if(stat != DEAD)
- // General slime shine.
- var/image/I = image(icon, src, "slime light")
- I.appearance_flags = RESET_COLOR
- add_overlay(I)
-
- // 'Shiny' overlay, for gemstone-slimes.
- if(shiny)
- I = image(icon, src, "slime shiny")
- I.appearance_flags = RESET_COLOR
- add_overlay(I)
-
- // Mood overlay.
- I = image(icon, src, "aslime-[mood]")
- I.appearance_flags = RESET_COLOR
- add_overlay(I)
-
- // Hat simulator.
- if(hat)
- var/hat_state = hat.item_state ? hat.item_state : hat.icon_state
- var/image/I = image('icons/mob/head.dmi', src, hat_state)
- I.pixel_y = -7 // Slimes are small.
- I.appearance_flags = RESET_COLOR
- add_overlay(I)
-
-// Controls the 'mood' overlay. Overrided in subtypes for specific behaviour.
-/mob/living/simple_mob/slime/proc/update_mood()
- mood = "feral" // This is to avoid another override in the /feral subtype.
-
-/mob/living/simple_mob/slime/proc/unify()
- unity = TRUE
-
-// Interface override, because slimes are supposed to attack other slimes of different color regardless of faction.
-// (unless Unified, of course).
-/mob/living/simple_mob/slime/IIsAlly(mob/living/L)
- . = ..()
- if(istype(L, /mob/living/simple_mob/slime)) // Slimes should care about their color subfaction compared to another's.
- var/mob/living/simple_mob/slime/S = L
- if(S.unity || src.unity)
- return TRUE
- if(S.slime_color == src.slime_color)
- return TRUE
- else
- return FALSE
- // The other stuff was already checked in parent proc, and the . variable will implicitly return the correct value.
-
-// Slimes regenerate passively.
-/mob/living/simple_mob/slime/handle_special()
- adjustOxyLoss(-1)
- adjustToxLoss(-1)
- adjustFireLoss(-1)
- adjustCloneLoss(-1)
- adjustBruteLoss(-1)
-
-// Clicked on by empty hand.
-/mob/living/simple_mob/slime/attack_hand(mob/living/L)
- if(L.a_intent == INTENT_GRAB && hat)
- remove_hat(L)
- else
- ..()
-
-// Clicked on while holding an object.
-/mob/living/simple_mob/slime/attackby(obj/item/I, mob/user)
- if(istype(I, /obj/item/clothing/head)) // Handle hat simulator.
- give_hat(I, user)
- return
-
- //VOREStation Edit Start
- var/can_miss = TRUE
- for(var/item_type in allowed_attack_types)
- if(istype(I, item_type))
- can_miss = FALSE
- break
- //VOREStation Edit End
-
- // Otherwise they're probably fighting the slime.
- if(prob(25) && can_miss) //VOREStation Edit
- visible_message(span("warning", "\The [user]'s [I] passes right through \the [src]!"))
- user.setClickCooldown(user.get_attack_speed(I))
- return
- ..()
-
-// Called when hit with an active slimebaton (or xeno taser).
-// Subtypes react differently.
-/mob/living/simple_mob/slime/proc/slimebatoned(mob/living/user, amount)
- return
-
-// Hat simulator
-/mob/living/simple_mob/slime/proc/give_hat(var/obj/item/clothing/head/new_hat, var/mob/living/user)
- if(!istype(new_hat))
- to_chat(user, span("warning", "\The [new_hat] isn't a hat."))
- return
- if(hat)
- to_chat(user, span("warning", "\The [src] is already wearing \a [hat]."))
- return
- else
- user.drop_item(new_hat)
- hat = new_hat
- new_hat.forceMove(src)
- to_chat(user, span("notice", "You place \a [new_hat] on \the [src]. How adorable!"))
- update_icon()
- return
-
-/mob/living/simple_mob/slime/proc/remove_hat(var/mob/living/user)
- if(!hat)
- to_chat(user, "\The [src] doesn't have a hat to remove.")
- else
- hat.forceMove(get_turf(src))
- user.put_in_hands(hat)
- to_chat(user, "You take away \the [src]'s [hat.name]. How mean.")
- hat = null
- update_icon()
-
-/mob/living/simple_mob/slime/proc/drop_hat()
- if(!hat)
- return
- hat.forceMove(get_turf(src))
- hat = null
- update_icon()
-
-/mob/living/simple_mob/slime/speech_bubble_appearance()
- return "slime"
-
-/mob/living/simple_mob/slime/proc/squish()
- playsound(src.loc, 'sound/effects/slime_squish.ogg', 50, 0)
- visible_message("\The [src] squishes!")
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm
index a8261255b4a..57a90eac463 100644
--- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm
@@ -400,7 +400,7 @@
/mob/living/simple_mob/slime/xenobio/ruby
)
-/mob/living/simple_mob/slime/xenobio/ruby/Initialize()
+/mob/living/simple_mob/slime/xenobio/ruby/Initialize(mapload)
add_modifier(/datum/modifier/slime_strength, null, src) // Slime is always swole.
return ..()
@@ -766,7 +766,7 @@
/mob/living/simple_mob/slime/xenobio/rainbow
)
-/mob/living/simple_mob/slime/xenobio/rainbow/Initialize()
+/mob/living/simple_mob/slime/xenobio/rainbow/Initialize(mapload)
unify()
return ..()
@@ -779,6 +779,6 @@
// Instead lets just give them an ai_holder that does that for us.
ai_holder_type = /datum/ai_holder/simple_mob/xenobio_slime/passive
-/mob/living/simple_mob/slime/xenobio/rainbow/kendrick/Initialize()
+/mob/living/simple_mob/slime/xenobio/rainbow/kendrick/Initialize(mapload)
pacify() // So the physical mob also gets made harmless.
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm
index ecb43b4afd9..bd145c31e8b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm
@@ -56,7 +56,7 @@
/mob/living/simple_mob/vore/hostile/morph,
/obj/effect))
-/mob/living/simple_mob/vore/hostile/morph/Initialize()
+/mob/living/simple_mob/vore/hostile/morph/Initialize(mapload)
verbs += /mob/living/proc/ventcrawl
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
index 15844f5b294..aac50454566 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
@@ -77,7 +77,7 @@
var/list/shadekin_abilities
-/mob/living/simple_mob/shadekin/Initialize()
+/mob/living/simple_mob/shadekin/Initialize(mapload)
//You spawned the prototype, and want a totally random one.
if(type == /mob/living/simple_mob/shadekin)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 53f7f38f66d..47f7a7338df 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -39,7 +39,7 @@
spell_masters = null
zone_sel = null
-/mob/Initialize()
+/mob/Initialize(mapload)
mob_list += src
set_focus(src)
if(stat == DEAD)
diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm
index afc8bf7abe0..c15d285dd91 100644
--- a/code/modules/mob/new_player/login.dm
+++ b/code/modules/mob/new_player/login.dm
@@ -7,7 +7,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image
desc = "How are you reading this?"
screen_loc = "1,1"
-/obj/effect/lobby_image/Initialize()
+/obj/effect/lobby_image/Initialize(mapload)
icon = GLOB.using_map.lobby_icon
var/known_icon_states = icon_states(icon)
for(var/lobby_screen in GLOB.using_map.lobby_screens)
diff --git a/code/modules/multiz/basic.dm b/code/modules/multiz/basic.dm
index 62ffc46518a..e69de29bb2d 100644
--- a/code/modules/multiz/basic.dm
+++ b/code/modules/multiz/basic.dm
@@ -1,55 +0,0 @@
-// If you add a more comprehensive system, just untick this file.
-var/list/z_levels = list()// Each bit re... haha just kidding this is a list of bools now
-
-// If the height is more than 1, we mark all contained levels as connected.
-/obj/effect/landmark/map_data/New()
- for(var/i = (z - height + 1) to (z-1))
- if (z_levels.len = world.maxz || z < 1 || z > z_levels.len)
- return 0
- return z_levels[z]
-
-/proc/HasBelow(var/z)
- if(z > world.maxz || z < 2 || (z-1) > z_levels.len)
- return 0
- return z_levels[z-1]
-
-// Thankfully, no bitwise magic is needed here.
-/proc/GetAbove(var/atom/atom)
- var/turf/turf = get_turf(atom)
- if(!turf)
- return null
- return HasAbove(turf.z) ? get_step(turf, UP) : null
-
-/proc/GetBelow(var/atom/atom)
- var/turf/turf = get_turf(atom)
- if(!turf)
- return null
- return HasBelow(turf.z) ? get_step(turf, DOWN) : null
-
-/proc/GetConnectedZlevels(z)
- . = list(z)
- for(var/level = z, HasBelow(level), level--)
- . |= level-1
- for(var/level = z, HasAbove(level), level++)
- . |= level+1
-
-proc/AreConnectedZLevels(var/zA, var/zB)
- return zA == zB || (zB in GetConnectedZlevels(zA))
-
-/proc/get_zstep(ref, dir)
- if(dir == UP)
- . = GetAbove(ref)
- else if (dir == DOWN)
- . = GetBelow(ref)
- else
- . = get_step(ref, dir)
\ No newline at end of file
diff --git a/code/modules/multiz/structures.dm b/code/modules/multiz/structures.dm
index 1a047c2bcf5..9710f63de5c 100644
--- a/code/modules/multiz/structures.dm
+++ b/code/modules/multiz/structures.dm
@@ -17,7 +17,7 @@
var/const/climb_time = 2 SECONDS
-/obj/structure/ladder/Initialize()
+/obj/structure/ladder/Initialize(mapload)
. = ..()
// the upper will connect to the lower
if(allowed_directions & DOWN) //we only want to do the top one, as it will initialize the ones before it.
diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm
index 6bbd29441f4..a9b79632690 100644
--- a/code/modules/multiz/turf.dm
+++ b/code/modules/multiz/turf.dm
@@ -34,7 +34,7 @@
..()
update()
-/turf/simulated/open/Initialize()
+/turf/simulated/open/Initialize(mapload)
. = ..()
ASSERT(HasBelow(z))
update()
diff --git a/code/modules/nifsoft/nif_softshop.dm b/code/modules/nifsoft/nif_softshop.dm
index e9cc7e17750..bdbe5c2ded6 100644
--- a/code/modules/nifsoft/nif_softshop.dm
+++ b/code/modules/nifsoft/nif_softshop.dm
@@ -19,7 +19,7 @@
opacity = 0
var/datum/entopic/entopic
-/obj/machinery/vending/nifsoft_shop/Initialize()
+/obj/machinery/vending/nifsoft_shop/Initialize(mapload)
. = ..()
entopic = new(aholder = src, aicon = icon, aicon_state = "beacon")
diff --git a/code/modules/organs/internal/augment.dm b/code/modules/organs/internal/augment.dm
index 0c168d16794..04985be42f5 100644
--- a/code/modules/organs/internal/augment.dm
+++ b/code/modules/organs/internal/augment.dm
@@ -27,7 +27,7 @@
var/aug_cooldown = 30 SECONDS
var/last_activate = null
-/obj/item/organ/internal/augment/Initialize()
+/obj/item/organ/internal/augment/Initialize(mapload)
..()
setup_radial_icon()
diff --git a/code/modules/organs/internal/augment/armmounted.dm b/code/modules/organs/internal/augment/armmounted.dm
index 45848daaaa7..5856c290aee 100644
--- a/code/modules/organs/internal/augment/armmounted.dm
+++ b/code/modules/organs/internal/augment/armmounted.dm
@@ -173,7 +173,7 @@
/datum/matter_synth/wire
)
-/obj/item/organ/internal/augment/armmounted/shoulder/multiple/Initialize()
+/obj/item/organ/internal/augment/armmounted/shoulder/multiple/Initialize(mapload)
..()
if(integrated_object)
diff --git a/code/modules/organs/internal/spleen.dm b/code/modules/organs/internal/spleen.dm
index fee88866e86..5bda0bed225 100644
--- a/code/modules/organs/internal/spleen.dm
+++ b/code/modules/organs/internal/spleen.dm
@@ -72,7 +72,7 @@
parent_organ = BP_HEAD
spleen_efficiency = 0.5
-/obj/item/organ/internal/spleen/skrell/Initialize()
+/obj/item/organ/internal/spleen/skrell/Initialize(mapload)
..()
adjust_scale(0.8,0.7)
@@ -82,6 +82,6 @@
spleen_efficiency = 0.3
spleen_tick = 15
-/obj/item/organ/internal/spleen/minor/Initialize()
+/obj/item/organ/internal/spleen/minor/Initialize(mapload)
..()
adjust_scale(0.7)
diff --git a/code/modules/organs/internal/stomach.dm b/code/modules/organs/internal/stomach.dm
index 02cf7cb31d7..23fe59bfbb9 100644
--- a/code/modules/organs/internal/stomach.dm
+++ b/code/modules/organs/internal/stomach.dm
@@ -11,7 +11,7 @@
var/deadly_hold = TRUE // Does the stomach do damage to mobs eaten by its owner? Xenos should probably have this FALSE.
-/obj/item/organ/internal/stomach/Initialize()
+/obj/item/organ/internal/stomach/Initialize(mapload)
..()
if(reagents)
diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm
index 3280da98261..f3829974171 100644
--- a/code/modules/organs/robolimbs.dm
+++ b/code/modules/organs/robolimbs.dm
@@ -518,7 +518,7 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\
icon_state = "datadisk2"
var/species = SPECIES_HUMAN
-/obj/item/disk/species/Initialize()
+/obj/item/disk/species/Initialize(mapload)
..()
if(species)
name = "[species] [initial(name)]"
diff --git a/code/modules/organs/subtypes/diona.dm b/code/modules/organs/subtypes/diona.dm
index 1e6cbc6c3eb..6964b975e27 100644
--- a/code/modules/organs/subtypes/diona.dm
+++ b/code/modules/organs/subtypes/diona.dm
@@ -211,7 +211,7 @@
parent_organ = BP_TORSO
vital = TRUE
-/obj/item/organ/internal/brain/cephalon/Initialize()
+/obj/item/organ/internal/brain/cephalon/Initialize(mapload)
..()
spawn(30 SECONDS) // FBP Dionaea need some way to be disassembled through surgery, if absolutely necessary.
if(!owner.isSynthetic())
diff --git a/code/modules/organs/subtypes/nano.dm b/code/modules/organs/subtypes/nano.dm
index 2e2e7637e64..e69de29bb2d 100644
--- a/code/modules/organs/subtypes/nano.dm
+++ b/code/modules/organs/subtypes/nano.dm
@@ -1,179 +0,0 @@
-// // // External Organs
-/obj/item/organ/external/chest/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 50 // <-- This is different from the rest
- min_broken_damage = 1000
- vital = TRUE // <-- This is different from the rest
-/obj/item/organ/external/groin/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 30 // <-- This is different from the rest
- min_broken_damage = 1000 //Multiple
- vital = FALSE
-/obj/item/organ/external/head/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000 //Inheritance
- vital = FALSE
-/obj/item/organ/external/arm/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000 //Please
- vital = FALSE
-/obj/item/organ/external/arm/right/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-/obj/item/organ/external/leg/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-/obj/item/organ/external/leg/right/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-/obj/item/organ/external/hand/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-/obj/item/organ/external/hand/right/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-/obj/item/organ/external/foot/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-/obj/item/organ/external/foot/right/unbreakable/nano
- robotic = ORGAN_NANOFORM
- encased = FALSE
- max_damage = 10
- min_broken_damage = 1000
- vital = FALSE
-
-// // // Internal Organs
-/obj/item/organ/internal/nano
- robotic = ORGAN_ROBOT
-
-/obj/item/organ/internal/nano/orchestrator
- name = "orchestrator module"
- desc = "A small computer, designed for highly parallel workloads."
- icon = 'icons/mob/species/protean/protean.dmi'
- icon_state = "orchestrator"
- organ_tag = O_ORCH
- parent_organ = BP_TORSO
- vital = TRUE
-
-/obj/item/organ/internal/nano/refactory
- name = "refactory module"
- desc = "A miniature metal processing unit and nanite factory."
- icon = 'icons/mob/species/protean/protean.dmi'
- icon_state = "refactory"
- organ_tag = O_FACT
- parent_organ = BP_TORSO
-
- var/list/materials = list(DEFAULT_WALL_MATERIAL = 0)
- var/max_storage = 10000
- var/processingbuffs = FALSE
-
-/obj/item/organ/internal/nano/refactory/proc/get_stored_material(var/material)
- if(status & ORGAN_DEAD)
- return 0
- return materials[material] || 0
-
-/obj/item/organ/internal/nano/refactory/proc/add_stored_material(var/material,var/amt)
- if(status & ORGAN_DEAD)
- return 0
- var/increase = min(amt,max(max_storage-materials[material],0))
- if(isnum(materials[material]))
- materials[material] += increase
- else
- materials[material] = increase
-
- return increase
-
-/obj/item/organ/internal/nano/refactory/proc/use_stored_material(var/material,var/amt)
- if(status & ORGAN_DEAD)
- return 0
-
- var/available = materials[material]
-
- //Success
- if(available >= amt)
- var/new_amt = available-amt
- if(new_amt == 0)
- materials -= material
- else
- materials[material] = new_amt
- return amt
-
- //Failure
- return 0
-
-/obj/item/organ/internal/mmi_holder/posibrain/nano
- name = "protean posibrain"
- desc = "A more advanced version of the standard posibrain, typically found in protean bodies."
- icon = 'icons/mob/species/protean/protean.dmi'
- icon_state = "posi"
- parent_organ = BP_TORSO
-
- brain_type = /obj/item/mmi/digital/posibrain/nano
-
-/obj/item/organ/internal/mmi_holder/posibrain/nano/robotize()
- . = ..()
- icon_state = "posi1"
-
-/obj/item/organ/internal/mmi_holder/posibrain/nano/mechassist()
- . = ..()
- icon_state = "posi1"
-
-
-/obj/item/organ/internal/mmi_holder/posibrain/nano/update_from_mmi()
- . = ..()
- icon = initial(icon)
- icon_state = "posi1"
- stored_mmi.icon_state = "posi1"
-
- stored_mmi.brainmob.languages = owner.languages
-
-// The 'out on the ground' object, not the organ holder
-/obj/item/mmi/digital/posibrain/nano
- name = "protean posibrain"
- desc = "A more advanced version of the standard posibrain, typically found in protean bodies."
- icon = 'icons/mob/species/protean/protean.dmi'
- icon_state = "posi"
-
-/obj/item/mmi/digital/posibrain/nano/Initialize()
- . = ..()
- icon_state = "posi"
-
-/obj/item/mmi/digital/posibrain/nano/request_player()
- icon_state = initial(icon_state)
- return //We don't do this stuff
-
-/obj/item/mmi/digital/posibrain/nano/reset_search()
- icon_state = initial(icon_state)
- return //Don't do this either because of the above
-
-/obj/item/mmi/digital/posibrain/nano/transfer_personality()
- . = ..()
- icon_state = "posi1"
-
-/obj/item/mmi/digital/posibrain/nano/transfer_identity()
- . = ..()
- icon_state = "posi1"
diff --git a/code/modules/organs/subtypes/slime.dm b/code/modules/organs/subtypes/slime.dm
index b4260b5d38d..cbefd773418 100644
--- a/code/modules/organs/subtypes/slime.dm
+++ b/code/modules/organs/subtypes/slime.dm
@@ -102,7 +102,7 @@
var/last_strain_increase = 0 // World time of the last increase in strain.
var/strain_regen_cooldown = 5 MINUTES
-/obj/item/organ/internal/regennetwork/Initialize()
+/obj/item/organ/internal/regennetwork/Initialize(mapload)
..()
var/mob/living/carbon/human/H = null
spawn(15)
diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm
index a1460de8e4a..d3d88e34e25 100644
--- a/code/modules/organs/subtypes/standard.dm
+++ b/code/modules/organs/subtypes/standard.dm
@@ -268,7 +268,7 @@
var/eye_icon_location = 'icons/mob/human_face.dmi'
-/obj/item/organ/external/head/Initialize()
+/obj/item/organ/external/head/Initialize(mapload)
if(config_legacy.allow_headgibs)
cannot_gib = FALSE
return ..()
diff --git a/code/modules/overmap/events/overmap_event.dm b/code/modules/overmap/events/overmap_event.dm
index ae4d29cf604..e69de29bb2d 100644
--- a/code/modules/overmap/events/overmap_event.dm
+++ b/code/modules/overmap/events/overmap_event.dm
@@ -1,123 +0,0 @@
-/*
-** /obj/effect/overmap/event - Actual instances of event hazards on the overmap map
-*/
-// TO-DO: We need to find a way to get BSAs ported or something to make weaknesses work so crew have a chance to *fight* tiles later - Enzo 9/9/2020
-// We don't subtype /obj/effect/overmap/visitable because that'll create sections one can travel to
-// and with them "existing" on the overmap Z-level things quickly get odd.
-/obj/effect/overmap/event
- name = "event"
- icon = 'icons/obj/overmap.dmi'
- icon_state = "event"
- opacity = 1
- var/list/events // List of event datum paths
- var/list/event_icon_states // Randomly picked from
- var/difficulty = EVENT_LEVEL_MODERATE
- var/weaknesses // If the BSA can destroy them and with what
- var/list/victims // Basically cached events on which Z level
- color = "#FFFFFF"
-
-/obj/effect/overmap/event/Initialize()
- . = ..()
- icon_state = pick(event_icon_states)
- GLOB.overmap_event_handler.update_hazards(loc)
-
-/obj/effect/overmap/event/Move()
- var/turf/old_loc = loc
- . = ..()
- if(.)
- GLOB.overmap_event_handler.update_hazards(old_loc)
- GLOB.overmap_event_handler.update_hazards(loc)
-
-/obj/effect/overmap/event/forceMove(atom/destination)
- var/old_loc = loc
- . = ..()
- if(.)
- GLOB.overmap_event_handler.update_hazards(old_loc)
- GLOB.overmap_event_handler.update_hazards(loc)
-
-/obj/effect/overmap/event/Destroy() // Takes a look at this one as well, make sure everything is A-OK
- var/turf/T = loc
- . = ..()
- GLOB.overmap_event_handler.update_hazards(T)
-
-//
-// Definitions for specific types!
-//
-
-/obj/effect/overmap/event/meteor
- name = "asteroid field"
- events = list(/datum/event/meteor_wave/overmap)
- event_icon_states = list("meteor1", "meteor2", "meteor3", "meteor4")
- color = "#DD4444"
- difficulty = EVENT_LEVEL_MAJOR
- weaknesses = OVERMAP_WEAKNESS_MINING | OVERMAP_WEAKNESS_EXPLOSIVE
-
-/obj/effect/overmap/event/electric
- name = "electrical storm"
- events = list(/datum/event/electrical_storm/overmap)
- color = "#EEEEEE"
- opacity = 0
- event_icon_states = list("electrical1", "electrical2", "electrical3", "electrical4")
- difficulty = EVENT_LEVEL_MAJOR
- weaknesses = OVERMAP_WEAKNESS_EMP
-
-/obj/effect/overmap/event/dust
- name = "dust cloud"
- events = list(/datum/event/dust/overmap)
- event_icon_states = list("dust1", "dust2", "dust3", "dust4")
- color = "#EEEEEE"
- weaknesses = OVERMAP_WEAKNESS_MINING | OVERMAP_WEAKNESS_EXPLOSIVE | OVERMAP_WEAKNESS_FIRE
-
-/obj/effect/overmap/event/ion
- name = "ion cloud"
- events = list(/datum/event/ionstorm/overmap)
- opacity = 0
- event_icon_states = list("ion1", "ion2", "ion3", "ion4")
- color = "#EEEEEE"
- difficulty = EVENT_LEVEL_MAJOR
- weaknesses = OVERMAP_WEAKNESS_EMP
-
-/obj/effect/overmap/event/carp
- name = "carp shoal"
- events = list(/datum/event/carp_migration/overmap)
- opacity = 0
- event_icon_states = list("carp1", "carp2")
- color = "#EEEEEE"
- difficulty = EVENT_LEVEL_MODERATE
- weaknesses = OVERMAP_WEAKNESS_EXPLOSIVE | OVERMAP_WEAKNESS_FIRE
-
-/obj/effect/overmap/event/carp_heavy
- name = "carp school"
- events = list(/datum/event/carp_migration/overmap)
- opacity = 0
- event_icon_states = list("carp3", "carp4")
- color = "#DD4444"
- difficulty = EVENT_LEVEL_MAJOR
- weaknesses = OVERMAP_WEAKNESS_EXPLOSIVE | OVERMAP_WEAKNESS_FIRE
-
-/obj/effect/overmap/event/hostile_migration
- name = "unknown lifesigns"
- events = list(/datum/event/hostile_migration/overmap)
- opacity = 0
- event_icon_states = list("rats1", "rats2")
- color = "#DD4444"
- difficulty = EVENT_LEVEL_MODERATE
- weaknesses = OVERMAP_WEAKNESS_EXPLOSIVE | OVERMAP_WEAKNESS_FIRE
-
-/obj/effect/overmap/event/communications_blackout
- name = "Ionspheric Bubble"
- events = list(/datum/event/communications_blackout/overmap)
- opacity = 1
- event_icon_states = list("comout1")
- color = "#EEEEEE"
- difficulty = EVENT_LEVEL_MODERATE
- weaknesses = OVERMAP_WEAKNESS_EMP
-
-/obj/effect/overmap/event/cult
- name = "eerie signals"
- events = list(/datum/event/cult/overmap)
- opacity = 0
- event_icon_states = list("cultist","cultist2")
- color = "#DD4444"
- difficulty = EVENT_LEVEL_MAJOR
- weaknesses = OVERMAP_WEAKNESS_FIRE
\ No newline at end of file
diff --git a/code/modules/overmap/overmap_shuttle.dm b/code/modules/overmap/overmap_shuttle.dm
index 7e688cfc899..fb2cab3b840 100644
--- a/code/modules/overmap/overmap_shuttle.dm
+++ b/code/modules/overmap/overmap_shuttle.dm
@@ -134,7 +134,7 @@
var/opened = 0
var/parent_shuttle
-/obj/structure/fuel_port/Initialize()
+/obj/structure/fuel_port/Initialize(mapload)
. = ..()
new /obj/item/tank/phoron(src)
diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm
index f7d26992537..8576d1ba8f8 100644
--- a/code/modules/overmap/sectors.dm
+++ b/code/modules/overmap/sectors.dm
@@ -27,7 +27,7 @@
var/has_distress_beacon
-/obj/effect/overmap/visitable/Initialize()
+/obj/effect/overmap/visitable/Initialize(mapload)
. = ..()
if(. == INITIALIZE_HINT_QDEL)
return
diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm
index 2312aa1edce..f0cb99748c8 100644
--- a/code/modules/overmap/ships/computers/helm.dm
+++ b/code/modules/overmap/ships/computers/helm.dm
@@ -28,7 +28,7 @@ GLOBAL_LIST_EMPTY(all_waypoints)
var/speedlimit = 1/(20 SECONDS) // Ttop speed for autopilot, 5
var/accellimit = 0.001 // Manual limiter for acceleration
-/obj/machinery/computer/ship/helm/Initialize()
+/obj/machinery/computer/ship/helm/Initialize(mapload)
. = ..()
get_known_sectors()
diff --git a/code/modules/overmap/ships/engines/gas_thruster.dm b/code/modules/overmap/ships/engines/gas_thruster.dm
index 2c5f7cb764a..0ed75b7b836 100644
--- a/code/modules/overmap/ships/engines/gas_thruster.dm
+++ b/code/modules/overmap/ships/engines/gas_thruster.dm
@@ -78,7 +78,7 @@
var/next_on
var/blockage
-/obj/machinery/atmospherics/unary/engine/Initialize()
+/obj/machinery/atmospherics/unary/engine/Initialize(mapload)
. = ..()
controller = new(src)
update_nearby_tiles(need_rebuild=1)
diff --git a/code/modules/overmap/ships/engines/ion_thruster.dm b/code/modules/overmap/ships/engines/ion_thruster.dm
index 02d25519d44..1cd434cc976 100644
--- a/code/modules/overmap/ships/engines/ion_thruster.dm
+++ b/code/modules/overmap/ships/engines/ion_thruster.dm
@@ -49,7 +49,7 @@
var/burn_cost = 1000
var/generated_thrust = 4
-/obj/machinery/ion_engine/Initialize()
+/obj/machinery/ion_engine/Initialize(mapload)
. = ..()
controller = new(src)
diff --git a/code/modules/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm
index e507e8f192c..fd9a9c55b56 100644
--- a/code/modules/overmap/ships/ship.dm
+++ b/code/modules/overmap/ships/ship.dm
@@ -37,7 +37,7 @@
var/skill_needed = SKILL_ADEPT // Piloting skill needed to steer it without going in random dir
var/operator_skill
-/obj/effect/overmap/visitable/ship/Initialize()
+/obj/effect/overmap/visitable/ship/Initialize(mapload)
. = ..()
min_speed = round(min_speed, SHIP_MOVE_RESOLUTION)
max_speed = round(max_speed, SHIP_MOVE_RESOLUTION)
diff --git a/code/modules/overmap/turfs.dm b/code/modules/overmap/turfs.dm
index d4d25cb1e51..e0653c6bef7 100644
--- a/code/modules/overmap/turfs.dm
+++ b/code/modules/overmap/turfs.dm
@@ -18,7 +18,7 @@ var/global/list/map_sectors = list()
var/map_is_to_my
var/turf/unsimulated/map/edge/wrap_buddy
-/turf/unsimulated/map/edge/Initialize()
+/turf/unsimulated/map/edge/Initialize(mapload)
. = ..()
// This could be done by using the using_map.overmap_size much faster, HOWEVER, doing it programatically to 'find'
// the edges this way allows for 'sub overmaps' elsewhere and whatnot.
@@ -46,7 +46,7 @@ var/global/list/map_sectors = list()
else
. = ..()
-/turf/unsimulated/map/Initialize()
+/turf/unsimulated/map/Initialize(mapload)
. = ..()
name = "[x]-[y]"
var/list/numbers = list()
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 8b73b7facdd..7f50c1453ed 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -25,7 +25,7 @@
icon_state = "tallcabinet"
-/obj/structure/filingcabinet/Initialize()
+/obj/structure/filingcabinet/Initialize(mapload)
for(var/obj/item/I in loc)
if(istype(I, /obj/item/paper) || istype(I, /obj/item/folder) || istype(I, /obj/item/photo) || istype(I, /obj/item/paper_bundle))
I.loc = src
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 13440f73a13..a3e45af0fc4 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -18,7 +18,7 @@
var/maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier!
var/copying = FALSE // Is the printer busy with something? Sanity check variable.
-/obj/machinery/photocopier/Initialize()
+/obj/machinery/photocopier/Initialize(mapload)
. = ..()
default_apply_parts()
diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm
index bc69fa50c4d..99afd978238 100644
--- a/code/modules/power/breaker_box.dm
+++ b/code/modules/power/breaker_box.dm
@@ -28,7 +28,7 @@
for(var/datum/nano_module/rcon/R in world)
R.FindDevices()
-/obj/machinery/power/breakerbox/Initialize()
+/obj/machinery/power/breakerbox/Initialize(mapload)
. = ..()
wires = new(src)
default_apply_parts()
@@ -37,7 +37,7 @@
icon_state = "bbox_on"
// Enabled on server startup. Used in substations to keep them in bypass mode.
-/obj/machinery/power/breakerbox/activated/Initialize()
+/obj/machinery/power/breakerbox/activated/Initialize(mapload)
. = ..()
set_state(1)
diff --git a/code/modules/power/cells/power_cells.dm b/code/modules/power/cells/power_cells.dm
index 5142fd9b9fc..6c3fa4dfb84 100644
--- a/code/modules/power/cells/power_cells.dm
+++ b/code/modules/power/cells/power_cells.dm
@@ -97,7 +97,7 @@
var/amount = 100
var/used = FALSE
-/obj/item/fbp_backup_cell/Initialize()
+/obj/item/fbp_backup_cell/Initialize(mapload)
overlays += image(icon,"[icon_state]1")
/obj/item/fbp_backup_cell/attack(mob/living/M as mob, mob/user as mob)
diff --git a/code/modules/power/fission/engine.dm b/code/modules/power/fission/engine.dm
index ab8fa83f57a..dcffd51924b 100644
--- a/code/modules/power/fission/engine.dm
+++ b/code/modules/power/fission/engine.dm
@@ -546,7 +546,7 @@
var/mob/living/simple_mob/my_mob
var/depleted = FALSE
-/obj/nuclear_mistake_spawner/Initialize()
+/obj/nuclear_mistake_spawner/Initialize(mapload)
. = ..()
if(!LAZYLEN(mobs_to_pick_from))
diff --git a/code/modules/power/fission/rods.dm b/code/modules/power/fission/rods.dm
index 975cad2b634..87e7d5c07a2 100644
--- a/code/modules/power/fission/rods.dm
+++ b/code/modules/power/fission/rods.dm
@@ -20,7 +20,7 @@
var/melting_point = 3000 // Entering the danger zone.
var/decay_heat = 0 // MJ/mol (Yes, using MegaJoules per Mole. Techincally reduces power, but that reflects reduced lifespan.)
-/obj/item/fuelrod/Initialize()
+/obj/item/fuelrod/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)
diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm
index 049e7854baf..d8a3f5bd7f8 100644
--- a/code/modules/power/fusion/core/_core.dm
+++ b/code/modules/power/fusion/core/_core.dm
@@ -27,12 +27,12 @@ var/list/fusion_cores = list()
/obj/machinery/power/fusion_core/mapped
anchored = 1
-/obj/machinery/power/fusion_core/Initialize()
+/obj/machinery/power/fusion_core/Initialize(mapload)
. = ..()
fusion_cores += src
default_apply_parts()
-/obj/machinery/power/fusion_core/mapped/Initialize()
+/obj/machinery/power/fusion_core/mapped/Initialize(mapload)
. = ..()
connect_to_network()
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm
index 38d959be2a9..020a960405d 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm
@@ -17,7 +17,7 @@
fuel_colour = _colour
..(newloc)
-/obj/item/fuel_assembly/Initialize()
+/obj/item/fuel_assembly/Initialize(mapload)
. = ..()
var/datum/material/material = get_material_by_name(fuel_type)
if(istype(material))
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
index 7a64e83f65c..e69de29bb2d 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
@@ -1,67 +0,0 @@
-/obj/machinery/fusion_fuel_compressor
- name = "fuel compressor"
- icon = 'icons/obj/machines/power/fusion.dmi'
- icon_state = "fuel_compressor1"
- density = 1
- anchored = 1
-
- circuit = /obj/item/circuitboard/fusion_fuel_compressor
-
-/obj/machinery/fusion_fuel_compressor/Initialize()
- . = ..()
- default_apply_parts()
-
-/obj/machinery/fusion_fuel_compressor/MouseDrop_T(var/atom/movable/target, var/mob/user)
- if(user.incapacitated() || !user.Adjacent(src))
- return
- return do_special_fuel_compression(target, user)
-
-/obj/machinery/fusion_fuel_compressor/proc/do_special_fuel_compression(var/obj/item/thing, var/mob/user)
- if(istype(thing) && thing.reagents && thing.reagents.total_volume && thing.is_open_container())
- if(thing.reagents.reagent_list.len > 1)
- to_chat(user, "The contents of \the [thing] are impure and cannot be used as fuel.")
- return 1
- if(thing.reagents.total_volume < 50)
- to_chat(user, "You need at least fifty units of material to form a fuel rod.")
- return 1
- var/datum/reagent/R = thing.reagents.reagent_list[1]
- visible_message("\The [src] compresses the contents of \the [thing] into a new fuel assembly.")
- var/obj/item/fuel_assembly/F = new(get_turf(src), R.id, R.color)
- thing.reagents.remove_reagent(R.id, R.volume)
- user.put_in_hands(F)
-
- else if(istype(thing, /obj/machinery/power/supermatter))
- var/obj/item/fuel_assembly/F = new(get_turf(src), "supermatter")
- visible_message("\The [src] compresses \the [thing] into a new fuel assembly.")
- qdel(thing)
- user.put_in_hands(F)
- return 1
- return 0
-
-/obj/machinery/fusion_fuel_compressor/attackby(var/obj/item/thing, var/mob/user)
-
- if(default_deconstruction_screwdriver(user, thing))
- return
- if(default_deconstruction_crowbar(user, thing))
- return
- if(default_part_replacement(user, thing))
- return
-
- if(istype(thing, /obj/item/stack/material))
- var/obj/item/stack/material/M = thing
- var/datum/material/mat = M.get_material()
- if(!mat.is_fusion_fuel)
- to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name].")
- return
- if(M.get_amount() < 25)
- to_chat(user, "You need at least 25 [mat.sheet_plural_name] to make a fuel rod.")
- return
- var/obj/item/fuel_assembly/F = new(get_turf(src), mat.name)
- visible_message("\The [src] compresses the [mat.use_name] into a new fuel assembly.")
- M.use(25)
- user.put_in_hands(F)
-
- else if(do_special_fuel_compression(thing, user))
- return
-
- return ..()
\ No newline at end of file
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
index ca350806b86..0f1cf9d66fb 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
@@ -18,7 +18,7 @@ var/list/fuel_injectors = list()
var/injecting = 0
var/obj/item/fuel_assembly/cur_assembly
-/obj/machinery/fusion_fuel_injector/Initialize()
+/obj/machinery/fusion_fuel_injector/Initialize(mapload)
. = ..()
fuel_injectors += src
default_apply_parts()
diff --git a/code/modules/power/fusion/gyrotron/gyrotron.dm b/code/modules/power/fusion/gyrotron/gyrotron.dm
index 6ba177e7d45..d924c2853ac 100644
--- a/code/modules/power/fusion/gyrotron/gyrotron.dm
+++ b/code/modules/power/fusion/gyrotron/gyrotron.dm
@@ -20,7 +20,7 @@ var/list/gyrotrons = list()
anchored = 1
state = 2
-/obj/machinery/power/emitter/gyrotron/Initialize()
+/obj/machinery/power/emitter/gyrotron/Initialize(mapload)
gyrotrons += src
active_power_usage = mega_energy * 50000
default_apply_parts()
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index 4e9109e70fc..1eb01929d65 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -26,7 +26,7 @@ GLOBAL_LIST_EMPTY(all_turbines)
var/lastgenlev = 0
var/datum/looping_sound/generator/soundloop
-/obj/machinery/power/generator/Initialize()
+/obj/machinery/power/generator/Initialize(mapload)
soundloop = new(list(src), FALSE)
desc = initial(desc) + " Rated for [round(max_power/1000)] kW."
GLOB.all_turbines += src
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index c9b3ce2b7de..4803ded1514 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -110,7 +110,7 @@
var/temperature = 0 //The current temperature
var/overheating = 0 //if this gets high enough the generator explodes
-/obj/machinery/power/port_gen/pacman/Initialize()
+/obj/machinery/power/port_gen/pacman/Initialize(mapload)
. = ..()
if(anchored)
connect_to_network()
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 716053642de..973bdcfc83b 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -41,7 +41,7 @@
src.setDir(turn(src.dir, 270))
return 1
-/obj/machinery/power/emitter/Initialize()
+/obj/machinery/power/emitter/Initialize(mapload)
. = ..()
if(state == 2 && anchored)
connect_to_network()
diff --git a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
index c7051331cfd..8b4e6992c86 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
@@ -24,7 +24,7 @@
var/max_storage = 3 // How many items can be jammed into it?
var/list/recipes // The list containing the Particle Smasher's recipes.
-/obj/machinery/particle_smasher/Initialize()
+/obj/machinery/particle_smasher/Initialize(mapload)
..()
storage = list()
update_icon()
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 3e779a62d4f..afafbcf77b4 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -310,7 +310,7 @@ GLOBAL_LIST_EMPTY(solars_list)
/obj/machinery/power/solar_control/config_start
auto_start = SOLAR_AUTO_START_CONFIG
-/obj/machinery/power/solar_control/Initialize()
+/obj/machinery/power/solar_control/Initialize(mapload)
. = ..()
connect_to_network()
set_panels(cdir)
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 99a8bd2d609..60493a2b11d 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -101,7 +101,7 @@
..()
uid = gl_uid++
-/obj/machinery/power/supermatter/Initialize()
+/obj/machinery/power/supermatter/Initialize(mapload)
soundloop = new(list(src), TRUE)
return ..()
diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index ca7cb5777ab..62b616ea27e 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -25,7 +25,7 @@
..()
wires = new(src)
-/obj/machinery/power/tesla_coil/Initialize()
+/obj/machinery/power/tesla_coil/Initialize(mapload)
. = ..()
default_apply_parts()
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index 333aa6d88ea..39d4bdf9520 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -85,7 +85,7 @@
#define COMPFRICTION 5e5
#define COMPSTARTERLOAD 2800
-/obj/machinery/compressor/Initialize()
+/obj/machinery/compressor/Initialize(mapload)
. = ..()
default_apply_parts()
gas_contained = new()
@@ -192,7 +192,7 @@
#define TURBGENQ 100000
#define TURBGENG 0.8
-/obj/machinery/power/turbine/Initialize()
+/obj/machinery/power/turbine/Initialize(mapload)
. = ..()
default_apply_parts()
// The outlet is pointed at the direction of the turbine component
@@ -316,7 +316,7 @@
// Turbine Computer
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/obj/machinery/computer/turbine_computer/Initialize()
+/obj/machinery/computer/turbine_computer/Initialize(mapload)
. = ..()
return INITIALIZE_HINT_LATELOAD
diff --git a/code/modules/projectiles/ammunition/magic.dm b/code/modules/projectiles/ammunition/magic.dm
index 0f84288d3e4..ed4acdb591e 100644
--- a/code/modules/projectiles/ammunition/magic.dm
+++ b/code/modules/projectiles/ammunition/magic.dm
@@ -373,7 +373,7 @@
var/weakened_icon = "decursed"
var/auto_destroy = TRUE
-/obj/structure/closet/decay/Initialize()
+/obj/structure/closet/decay/Initialize(mapload)
. = ..()
if(auto_destroy)
addtimer(CALLBACK(src), 5 MINUTES)
diff --git a/code/modules/projectiles/guns/energy/modular/gunframes.dm b/code/modules/projectiles/guns/energy/modular/gunframes.dm
index 50956fcee7c..e18074b2879 100644
--- a/code/modules/projectiles/guns/energy/modular/gunframes.dm
+++ b/code/modules/projectiles/guns/energy/modular/gunframes.dm
@@ -2,7 +2,7 @@
name = "modular energy pistol"
desc = "A basic, compact, modular energy weapon. The fire controller and power control unit are integral to the frame and are thus unremovable."
-/obj/item/gun/energy/modular/basic/Initialize()
+/obj/item/gun/energy/modular/basic/Initialize(mapload)
..()
lasercap = new /obj/item/modularlaser/capacitor/simple/integral(src)
circuit = new /obj/item/modularlaser/controller/basic/integral(src)
@@ -17,7 +17,7 @@
cores = 2
icon_state = "mod_carbine"
-/obj/item/gun/energy/modular/carbine/Initialize()
+/obj/item/gun/energy/modular/carbine/Initialize(mapload)
..()
lasercooler = new /obj/item/modularlaser/cooling/lame/integral(src)
@@ -39,7 +39,7 @@
icon_state = "taserblue"
w_class = ITEMSIZE_SMALL
-/obj/item/gun/energy/modular/compact/Initialize()
+/obj/item/gun/energy/modular/compact/Initialize(mapload)
..()
lasercap = new /obj/item/modularlaser/capacitor/simple/integral(src)
circuit = new /obj/item/modularlaser/controller/basic/integral(src)
@@ -50,7 +50,7 @@
name = "modular energy scattergun"
desc = "A sophisticated modular energy weapon. This scattergun has the capability to mount two cores, and mounts a complex refracting lens to scatter most shots."
-/obj/item/gun/energy/modular/rifle/scatter/Initialize()
+/obj/item/gun/energy/modular/rifle/scatter/Initialize(mapload)
..()
laserlens = new /obj/item/modularlaser/lens/scatter/hyper/integral(src)
@@ -63,7 +63,7 @@
icon_state = "mod_cannon"
w_class = ITEMSIZE_HUGE
-/obj/item/gun/energy/modular/cannon/Initialize()
+/obj/item/gun/energy/modular/cannon/Initialize(mapload)
..()
lasercap = new /obj/item/modularlaser/capacitor/cannon(src)
circuit = new /obj/item/modularlaser/controller/basic/integral(src)
@@ -82,6 +82,6 @@
w_class = ITEMSIZE_HUGE
-/obj/item/gun/energy/modular/nuke/Initialize()
+/obj/item/gun/energy/modular/nuke/Initialize(mapload)
..()
circuit = new /obj/item/modularlaser/controller/basic/integral(src)
diff --git a/code/modules/projectiles/guns/energy/modular/modulargun.dm b/code/modules/projectiles/guns/energy/modular/modulargun.dm
index 7f966eb899d..2bd9354cacc 100644
--- a/code/modules/projectiles/guns/energy/modular/modulargun.dm
+++ b/code/modules/projectiles/guns/energy/modular/modulargun.dm
@@ -20,7 +20,7 @@
firemodes = list()
var/emp_vuln = TRUE
-/obj/item/gun/energy/modular/Initialize()
+/obj/item/gun/energy/modular/Initialize(mapload)
..()
generatefiremodes()
diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm
index 2be9e45a253..c334dc79522 100644
--- a/code/modules/projectiles/guns/magic.dm
+++ b/code/modules/projectiles/guns/magic.dm
@@ -38,7 +38,7 @@
charges--//... drain a charge
recharge_newshot()
-/obj/item/gun/magic/Initialize()
+/obj/item/gun/magic/Initialize(mapload)
. = ..()
charges = max_charges
chambered = new ammo_type(src)
diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm
index bacf3edbf57..965eb8e6ca1 100644
--- a/code/modules/projectiles/guns/magic/staff.dm
+++ b/code/modules/projectiles/guns/magic/staff.dm
@@ -87,7 +87,7 @@
sharpness = SHARP_EDGED
max_charges = 4
-/obj/item/gun/magic/staff/spellblade/Initialize()
+/obj/item/gun/magic/staff/spellblade/Initialize(mapload)
. = ..()
AddComponent(/datum/component/butchering, 15, 125, 0, hitsound)
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index c1d67332193..1248f13ee16 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -10,7 +10,7 @@
accuracy = 95
var/variable_charges = 1
-/obj/item/gun/magic/wand/Initialize()
+/obj/item/gun/magic/wand/Initialize(mapload)
if(prob(75) && variable_charges) //25% chance of listed max charges, 50% chance of 1/2 max charges, 25% chance of 1/3 max charges
if(prob(33))
max_charges = CEILING(max_charges / 3, 1)
diff --git a/code/modules/projectiles/projectile/arc.dm b/code/modules/projectiles/projectile/arc.dm
index 1f19dc0242e..bb0e7a945eb 100644
--- a/code/modules/projectiles/projectile/arc.dm
+++ b/code/modules/projectiles/projectile/arc.dm
@@ -20,7 +20,7 @@
/obj/item/projectile/arc/Bump()
return
-/obj/item/projectile/arc/Initialize()
+/obj/item/projectile/arc/Initialize(mapload)
shadow = new(get_turf(src))
return ..()
diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm
index cb56c828602..03e8466b4ce 100644
--- a/code/modules/projectiles/projectile/special.dm
+++ b/code/modules/projectiles/projectile/special.dm
@@ -345,6 +345,6 @@
icon_state = "banana"
range = 200
-/obj/item/projectile/bullet/honker/Initialize()
+/obj/item/projectile/bullet/honker/Initialize(mapload)
. = ..()
SpinAnimation()
diff --git a/code/modules/reagents/dispenser/cartridge.dm b/code/modules/reagents/dispenser/cartridge.dm
index f7f69abea43..17efb9b8553 100644
--- a/code/modules/reagents/dispenser/cartridge.dm
+++ b/code/modules/reagents/dispenser/cartridge.dm
@@ -14,7 +14,7 @@
var/spawn_reagent = null
var/label = ""
-/obj/item/reagent_containers/chem_disp_cartridge/Initialize()
+/obj/item/reagent_containers/chem_disp_cartridge/Initialize(mapload)
. = ..()
if(spawn_reagent)
reagents.add_reagent(spawn_reagent, volume)
diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm
index 179f043a86f..b583ef1526b 100644
--- a/code/modules/reagents/dispenser/dispenser2.dm
+++ b/code/modules/reagents/dispenser/dispenser2.dm
@@ -17,7 +17,7 @@
idle_power_usage = 100
anchored = 1
-/obj/machinery/chemical_dispenser/Initialize()
+/obj/machinery/chemical_dispenser/Initialize(mapload)
. = ..()
if(spawn_cartridges)
for(var/type in spawn_cartridges)
diff --git a/code/modules/reagents/distilling/distilling.dm b/code/modules/reagents/distilling/distilling.dm
index 9df95767b24..67a1eaba7cd 100644
--- a/code/modules/reagents/distilling/distilling.dm
+++ b/code/modules/reagents/distilling/distilling.dm
@@ -73,7 +73,7 @@
Master = null
..()
-/obj/machinery/portable_atmospherics/powered/reagent_distillery/Initialize()
+/obj/machinery/portable_atmospherics/powered/reagent_distillery/Initialize(mapload)
..()
Reservoir = new (src)
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 1bb3b6a4afc..a5a770f908d 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -16,7 +16,7 @@
if(N)
amount_per_transfer_from_this = N
-/obj/item/reagent_containers/Initialize()
+/obj/item/reagent_containers/Initialize(mapload)
. = ..()
if(!possible_transfer_amounts)
src.verbs -= /obj/item/reagent_containers/verb/set_APTFT
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index 869e23ab0f0..6a75e0386ed 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -3,7 +3,7 @@
desc = "This box contains blood packs."
icon_state = "sterile"
-/obj/item/storage/box/bloodpacks/Initialize()
+/obj/item/storage/box/bloodpacks/Initialize(mapload)
. = ..()
new /obj/item/reagent_containers/blood/empty(src)
new /obj/item/reagent_containers/blood/empty(src)
@@ -28,7 +28,7 @@
var/blood_type = null
-/obj/item/reagent_containers/blood/Initialize()
+/obj/item/reagent_containers/blood/Initialize(mapload)
. = ..()
base_name = name
base_desc = desc
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index e1439d745ab..ef277f7a1d0 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -34,7 +34,7 @@
bypass_protection = TRUE // Because mercs tend to be in spacesuits.
reagent_ids = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood")
-/obj/item/reagent_containers/borghypo/Initialize()
+/obj/item/reagent_containers/borghypo/Initialize(mapload)
. = ..()
for(var/T in reagent_ids)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 9690ffccf78..6764e90a2bf 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -50,7 +50,7 @@
/obj/machinery/portable_atmospherics/powered/reagent_distillery
)
-/obj/item/reagent_containers/glass/Initialize()
+/obj/item/reagent_containers/glass/Initialize(mapload)
. = ..()
if(LAZYLEN(prefill))
for(var/R in prefill)
@@ -160,7 +160,7 @@
drop_sound = 'sound/items/drop/glass.ogg'
pickup_sound = 'sound/items/pickup/glass.ogg'
-/obj/item/reagent_containers/glass/beaker/Initialize()
+/obj/item/reagent_containers/glass/beaker/Initialize(mapload)
. = ..()
desc += " Can hold up to [volume] units."
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index fa9005ab753..9beca7d48ff 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -21,7 +21,7 @@
var/list/filled_reagents = list()
var/hyposound // What sound do we play on use?
-/obj/item/reagent_containers/hypospray/Initialize()
+/obj/item/reagent_containers/hypospray/Initialize(mapload)
. = ..()
if(filled)
if(filled_reagents)
@@ -91,7 +91,7 @@
var/obj/item/reagent_containers/glass/beaker/vial/loaded_vial //Wow, what a name.
volume = 0
-/obj/item/reagent_containers/hypospray/vial/Initialize()
+/obj/item/reagent_containers/hypospray/vial/Initialize(mapload)
. = ..()
loaded_vial = new /obj/item/reagent_containers/glass/beaker/vial(src) //Comes with an empty vial
volume = loaded_vial.volume
@@ -155,7 +155,7 @@
filled = 0
filled_reagents = list()
-/obj/item/reagent_containers/hypospray/autoinjector/used/Initialize()
+/obj/item/reagent_containers/hypospray/autoinjector/used/Initialize(mapload)
. = ..()
flags &= ~OPENCONTAINER
icon_state = "[initial(icon_state)]0"
diff --git a/code/modules/reagents/reagent_containers/hypospray_vr.dm b/code/modules/reagents/reagent_containers/hypospray_vr.dm
index a7507c64cdb..47d9708eb52 100644
--- a/code/modules/reagents/reagent_containers/hypospray_vr.dm
+++ b/code/modules/reagents/reagent_containers/hypospray_vr.dm
@@ -6,7 +6,7 @@
amount_per_transfer_from_this = 10
volume = 10
-/obj/item/reagent_containers/hypospray/autoinjector/miner/Initialize()
+/obj/item/reagent_containers/hypospray/autoinjector/miner/Initialize(mapload)
..()
reagents.add_reagent("bicaridine", 5)
reagents.add_reagent("tricordrazine", 3)
@@ -18,7 +18,7 @@
desc = "Contains emergency trauma autoinjectors."
icon_state = "syringe"
-/obj/item/storage/box/traumainjectors/Initialize()
+/obj/item/storage/box/traumainjectors/Initialize(mapload)
..()
for (var/i = 1 to 7)
new /obj/item/reagent_containers/hypospray/autoinjector/miner(src)
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index f2ddf03f56e..a9d5ba18b8f 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -17,7 +17,7 @@
slot_flags = SLOT_EARS
volume = 60
-/obj/item/reagent_containers/pill/Initialize()
+/obj/item/reagent_containers/pill/Initialize(mapload)
. = ..()
if(!icon_state)
icon_state = "[base_state][rand(1, 4)]" //preset pills only use colour changing or unique icons
@@ -101,7 +101,7 @@
desc = "Neutralizes many common toxins."
icon_state = "pill1"
-/obj/item/reagent_containers/pill/antitox/Initialize()
+/obj/item/reagent_containers/pill/antitox/Initialize(mapload)
. = ..()
reagents.add_reagent("anti_toxin", 25)
color = reagents.get_color()
@@ -111,7 +111,7 @@
desc = "Highly toxic."
icon_state = "pill4"
-/obj/item/reagent_containers/pill/tox/Initialize()
+/obj/item/reagent_containers/pill/tox/Initialize(mapload)
. = ..()
reagents.add_reagent("toxin", 50)
color = reagents.get_color()
@@ -121,7 +121,7 @@
desc = "It's marked 'KCN'. Smells vaguely of almonds."
icon_state = "pill9"
-/obj/item/reagent_containers/pill/cyanide/Initialize()
+/obj/item/reagent_containers/pill/cyanide/Initialize(mapload)
. = ..()
reagents.add_reagent("cyanide", 50)
@@ -131,7 +131,7 @@
desc = "It's magic. We don't have to explain it."
icon_state = "pillA"
-/obj/item/reagent_containers/pill/adminordrazine/Initialize()
+/obj/item/reagent_containers/pill/adminordrazine/Initialize(mapload)
. = ..()
reagents.add_reagent("adminordrazine", 5)
@@ -141,7 +141,7 @@
desc = "Commonly used to treat insomnia."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/stox/Initialize()
+/obj/item/reagent_containers/pill/stox/Initialize(mapload)
. = ..()
reagents.add_reagent("stoxin", 15)
color = reagents.get_color()
@@ -151,7 +151,7 @@
desc = "Used to treat burns."
icon_state = "pill3"
-/obj/item/reagent_containers/pill/kelotane/Initialize()
+/obj/item/reagent_containers/pill/kelotane/Initialize(mapload)
. = ..()
reagents.add_reagent("kelotane", 15)
color = reagents.get_color()
@@ -161,7 +161,7 @@
desc = "Paracetamol! A painkiller for the ages. Chewables!"
icon_state = "pill3"
-/obj/item/reagent_containers/pill/paracetamol/Initialize()
+/obj/item/reagent_containers/pill/paracetamol/Initialize(mapload)
. = ..()
reagents.add_reagent("paracetamol", 15)
color = reagents.get_color()
@@ -171,7 +171,7 @@
desc = "A simple painkiller."
icon_state = "pill3"
-/obj/item/reagent_containers/pill/tramadol/Initialize()
+/obj/item/reagent_containers/pill/tramadol/Initialize(mapload)
. = ..()
reagents.add_reagent("tramadol", 15)
color = reagents.get_color()
@@ -181,7 +181,7 @@
desc = "Improves the ability to concentrate."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/methylphenidate/Initialize()
+/obj/item/reagent_containers/pill/methylphenidate/Initialize(mapload)
. = ..()
reagents.add_reagent("methylphenidate", 15)
color = reagents.get_color()
@@ -191,7 +191,7 @@
desc = "Mild anti-depressant."
icon_state = "pill4"
-/obj/item/reagent_containers/pill/citalopram/Initialize()
+/obj/item/reagent_containers/pill/citalopram/Initialize(mapload)
. = ..()
reagents.add_reagent("citalopram", 15)
color = reagents.get_color()
@@ -201,7 +201,7 @@
desc = "Used to treat oxygen deprivation."
icon_state = "pill1"
-/obj/item/reagent_containers/pill/dexalin/Initialize()
+/obj/item/reagent_containers/pill/dexalin/Initialize(mapload)
. = ..()
reagents.add_reagent("dexalin", 15)
color = reagents.get_color()
@@ -211,7 +211,7 @@
desc = "Used to treat extreme oxygen deprivation."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/dexalin_plus/Initialize()
+/obj/item/reagent_containers/pill/dexalin_plus/Initialize(mapload)
. = ..()
reagents.add_reagent("dexalinp", 15)
color = reagents.get_color()
@@ -221,7 +221,7 @@
desc = "Used to treat burn wounds."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/dermaline/Initialize()
+/obj/item/reagent_containers/pill/dermaline/Initialize(mapload)
. = ..()
reagents.add_reagent("dermaline", 15)
color = reagents.get_color()
@@ -231,7 +231,7 @@
desc = "A broad-spectrum anti-toxin."
icon_state = "pill1"
-/obj/item/reagent_containers/pill/dylovene/Initialize()
+/obj/item/reagent_containers/pill/dylovene/Initialize(mapload)
. = ..()
reagents.add_reagent("anti_toxin", 15)
color = reagents.get_color()
@@ -241,7 +241,7 @@
desc = "Used to stabilize patients."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/inaprovaline/Initialize()
+/obj/item/reagent_containers/pill/inaprovaline/Initialize(mapload)
. = ..()
reagents.add_reagent("inaprovaline", 30)
color = reagents.get_color()
@@ -251,7 +251,7 @@
desc = "Used to treat physical injuries."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/bicaridine/Initialize()
+/obj/item/reagent_containers/pill/bicaridine/Initialize(mapload)
. = ..()
reagents.add_reagent("bicaridine", 20)
color = reagents.get_color()
@@ -261,7 +261,7 @@
desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space."
icon_state = "pill3"
-/obj/item/reagent_containers/pill/spaceacillin/Initialize()
+/obj/item/reagent_containers/pill/spaceacillin/Initialize(mapload)
. = ..()
reagents.add_reagent("spaceacillin", 15)
color = reagents.get_color()
@@ -271,7 +271,7 @@
desc = "Used to neutralise chemicals in the stomach."
icon_state = "pill3"
-/obj/item/reagent_containers/pill/carbon/Initialize()
+/obj/item/reagent_containers/pill/carbon/Initialize(mapload)
. = ..()
reagents.add_reagent("carbon", 15)
color = reagents.get_color()
@@ -281,7 +281,7 @@
desc = "Used to aid in blood regeneration after bleeding."
icon_state = "pill1"
-/obj/item/reagent_containers/pill/iron/Initialize()
+/obj/item/reagent_containers/pill/iron/Initialize(mapload)
. = ..()
reagents.add_reagent("iron", 15)
color = reagents.get_color()
@@ -292,7 +292,7 @@
desc = "Happy happy joy joy!"
icon_state = "pill4"
-/obj/item/reagent_containers/pill/happy/Initialize()
+/obj/item/reagent_containers/pill/happy/Initialize(mapload)
. = ..()
reagents.add_reagent("space_drugs", 15)
reagents.add_reagent("sugar", 15)
@@ -303,7 +303,7 @@
desc = "Zoooom!"
icon_state = "pill4"
-/obj/item/reagent_containers/pill/zoom/Initialize()
+/obj/item/reagent_containers/pill/zoom/Initialize(mapload)
. = ..()
if(prob(50)) //VOREStation edit begin: Zoom pill adjustments
reagents.add_reagent("mold", 2) //Chance to be more dangerous
@@ -316,7 +316,7 @@
desc = "Guaranteed to get you slim!"
icon_state = "pill4"
-/obj/item/reagent_containers/pill/diet/Initialize()
+/obj/item/reagent_containers/pill/diet/Initialize(mapload)
. = ..()
reagents.add_reagent("lipozine", 15) //VOREStation Edit
color = reagents.get_color()
diff --git a/code/modules/reagents/reagent_containers/pill_vr.dm b/code/modules/reagents/reagent_containers/pill_vr.dm
index 9e15ae74c48..ada0882ab76 100644
--- a/code/modules/reagents/reagent_containers/pill_vr.dm
+++ b/code/modules/reagents/reagent_containers/pill_vr.dm
@@ -3,7 +3,7 @@
desc = "Used to feed people on the field. Contains 30 units of Nutriment."
icon_state = "pill10"
-/obj/item/reagent_containers/pill/nutriment/Initialize()
+/obj/item/reagent_containers/pill/nutriment/Initialize(mapload)
..()
reagents.add_reagent("nutriment", 30)
@@ -12,7 +12,7 @@
desc = "Used to feed carnivores on the field. Contains 30 units of Protein."
icon_state = "pill24"
-/obj/item/reagent_containers/pill/protein/Initialize()
+/obj/item/reagent_containers/pill/protein/Initialize(mapload)
..()
reagents.add_reagent("protein", 30)
@@ -21,7 +21,7 @@
desc = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/rezadone/Initialize()
+/obj/item/reagent_containers/pill/rezadone/Initialize(mapload)
..()
reagents.add_reagent("rezadone", 5)
color = reagents.get_color()
@@ -31,7 +31,7 @@
desc = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously."
icon_state = "pill10"
-/obj/item/reagent_containers/pill/peridaxon/Initialize()
+/obj/item/reagent_containers/pill/peridaxon/Initialize(mapload)
..()
reagents.add_reagent("peridaxon", 10)
@@ -40,7 +40,7 @@
desc = "Carthatoline is strong evacuant used to treat severe poisoning."
icon_state = "pill4"
-/obj/item/reagent_containers/pill/carthatoline/Initialize()
+/obj/item/reagent_containers/pill/carthatoline/Initialize(mapload)
..()
reagents.add_reagent("carthatoline", 10)
color = reagents.get_color()
@@ -50,7 +50,7 @@
desc = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue."
icon_state = "pill3"
-/obj/item/reagent_containers/pill/alkysine/Initialize()
+/obj/item/reagent_containers/pill/alkysine/Initialize(mapload)
..()
reagents.add_reagent("alkysine", 10)
color = reagents.get_color()
@@ -60,7 +60,7 @@
desc = "Heals eye damage."
icon_state = "pill3"
-/obj/item/reagent_containers/pill/imidazoline/Initialize()
+/obj/item/reagent_containers/pill/imidazoline/Initialize(mapload)
..()
reagents.add_reagent("imidazoline", 15)
color = reagents.get_color()
@@ -70,7 +70,7 @@
desc = "An experimental drug used to heal bone fractures."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/osteodaxon/Initialize()
+/obj/item/reagent_containers/pill/osteodaxon/Initialize(mapload)
..()
reagents.add_reagent("osteodaxon", 10)
color = reagents.get_color()
@@ -80,7 +80,7 @@
desc = "Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets."
icon_state = "pill1"
-/obj/item/reagent_containers/pill/myelamine/Initialize()
+/obj/item/reagent_containers/pill/myelamine/Initialize(mapload)
..()
reagents.add_reagent("myelamine", 10)
color = reagents.get_color()
@@ -90,7 +90,7 @@
desc = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning."
icon_state = "pill4"
-/obj/item/reagent_containers/pill/hyronalin/Initialize()
+/obj/item/reagent_containers/pill/hyronalin/Initialize(mapload)
..()
reagents.add_reagent("hyronalin", 15)
color = reagents.get_color()
@@ -100,7 +100,7 @@
desc = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/arithrazine/Initialize()
+/obj/item/reagent_containers/pill/arithrazine/Initialize(mapload)
..()
reagents.add_reagent("arithrazine", 5)
color = reagents.get_color()
@@ -110,7 +110,7 @@
desc = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses."
icon_state = "pill2"
-/obj/item/reagent_containers/pill/corophizine/Initialize()
+/obj/item/reagent_containers/pill/corophizine/Initialize(mapload)
..()
reagents.add_reagent("corophizine", 5)
color = reagents.get_color()
@@ -120,7 +120,7 @@
desc = "Miniature medical robots that swiftly restore bodily damage."
icon_state = "pill1"
-/obj/item/reagent_containers/pill/healing_nanites/Initialize()
+/obj/item/reagent_containers/pill/healing_nanites/Initialize(mapload)
..()
reagents.add_reagent("healing_nanites", 30)
color = reagents.get_color()
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 8b659bd627d..18d47f069b0 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -17,7 +17,7 @@
var/list/spray_sizes = list(1,3)
volume = 250
-/obj/item/reagent_containers/spray/Initialize()
+/obj/item/reagent_containers/spray/Initialize(mapload)
. = ..()
src.verbs -= /obj/item/reagent_containers/verb/set_APTFT
@@ -102,7 +102,7 @@
desc = "BLAM!-brand non-foaming space cleaner!"
volume = 50
-/obj/item/reagent_containers/spray/cleaner/Initialize()
+/obj/item/reagent_containers/spray/cleaner/Initialize(mapload)
. = ..()
reagents.add_reagent("cleaner", volume)
@@ -110,7 +110,7 @@
name = "sterilizine"
desc = "Great for hiding incriminating bloodstains and sterilizing scalpels."
-/obj/item/reagent_containers/spray/sterilizine/Initialize()
+/obj/item/reagent_containers/spray/sterilizine/Initialize(mapload)
. = ..()
reagents.add_reagent("sterilizine", volume)
@@ -124,7 +124,7 @@
volume = 40
var/safety = TRUE
-/obj/item/reagent_containers/spray/pepper/Initialize()
+/obj/item/reagent_containers/spray/pepper/Initialize(mapload)
. = ..()
reagents.add_reagent("condensedcapsaicin", 40)
@@ -154,7 +154,7 @@
drop_sound = 'sound/items/drop/herb.ogg'
pickup_sound = 'sound/items/pickup/herb.ogg'
-/obj/item/reagent_containers/spray/waterflower/Initialize()
+/obj/item/reagent_containers/spray/waterflower/Initialize(mapload)
. = ..()
reagents.add_reagent("water", 10)
@@ -198,6 +198,6 @@
item_state = "plantbgone"
volume = 100
-/obj/item/reagent_containers/spray/plantbgone/Initialize()
+/obj/item/reagent_containers/spray/plantbgone/Initialize(mapload)
. = ..()
reagents.add_reagent("plantbgone", 100)
diff --git a/code/modules/reagents/reagent_containers/spray_vr.dm b/code/modules/reagents/reagent_containers/spray_vr.dm
index 6c9baabf4ab..e69de29bb2d 100644
--- a/code/modules/reagents/reagent_containers/spray_vr.dm
+++ b/code/modules/reagents/reagent_containers/spray_vr.dm
@@ -1,12 +0,0 @@
-/obj/item/reagent_containers/spray/windowsealant
- name = "Krak-b-gone"
- desc = "A spray bottle of silicate sealant for rapid window repair."
- icon = 'icons/obj/items_vr.dmi'
- icon_state = "windowsealant"
- item_state = "spraycan"
- possible_transfer_amounts = null
- volume = 80
-
-/obj/item/reagent_containers/spray/windowsealant/Initialize()
- ..()
- reagents.add_reagent("silicate", 80)
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 1ac44ec79ac..416a7e1dfa3 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -335,7 +335,7 @@
name = "Syringe (inaprovaline)"
desc = "Contains inaprovaline - used to stabilize patients."
-/obj/item/reagent_containers/syringe/inaprovaline/Initialize()
+/obj/item/reagent_containers/syringe/inaprovaline/Initialize(mapload)
. = ..()
reagents.add_reagent("inaprovaline", 15)
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
@@ -345,7 +345,7 @@
name = "Syringe (anti-toxin)"
desc = "Contains anti-toxins."
-/obj/item/reagent_containers/syringe/antitoxin/Initialize()
+/obj/item/reagent_containers/syringe/antitoxin/Initialize(mapload)
. = ..()
reagents.add_reagent("anti_toxin", 15)
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
@@ -355,7 +355,7 @@
name = "Syringe (spaceacillin)"
desc = "Contains antiviral agents."
-/obj/item/reagent_containers/syringe/antiviral/Initialize()
+/obj/item/reagent_containers/syringe/antiviral/Initialize(mapload)
. = ..()
reagents.add_reagent("spaceacillin", 15)
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
@@ -365,7 +365,7 @@
name = "Syringe (drugs)"
desc = "Contains aggressive drugs meant for torture."
-/obj/item/reagent_containers/syringe/drugs/Initialize()
+/obj/item/reagent_containers/syringe/drugs/Initialize(mapload)
. = ..()
reagents.add_reagent("space_drugs", 5)
reagents.add_reagent("mindbreaker", 5)
@@ -373,7 +373,7 @@
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
//update_icon()
-/obj/item/reagent_containers/syringe/ld50_syringe/choral/Initialize()
+/obj/item/reagent_containers/syringe/ld50_syringe/choral/Initialize(mapload)
. = ..()
reagents.add_reagent("chloralhydrate", 50)
mode = SYRINGE_INJECT
@@ -383,7 +383,7 @@
name = "Syringe (anabolic steroids)"
desc = "Contains drugs for muscle growth."
-/obj/item/reagent_containers/syringe/steroid/Initialize()
+/obj/item/reagent_containers/syringe/steroid/Initialize(mapload)
..()
//reagents.add_reagent("adrenaline",5) //VOREStation Edit - No thanks.
reagents.add_reagent("hyperzine",10)
diff --git a/code/modules/reagents/reagent_containers/syringes_vr.dm b/code/modules/reagents/reagent_containers/syringes_vr.dm
index 1b8cec90165..773266d005e 100644
--- a/code/modules/reagents/reagent_containers/syringes_vr.dm
+++ b/code/modules/reagents/reagent_containers/syringes_vr.dm
@@ -8,7 +8,7 @@
var/list/targets
var/list/datum/disease2/disease/viruses
-/obj/item/reagent_containers/syringe/Initialize()
+/obj/item/reagent_containers/syringe/Initialize(mapload)
. = ..()
update_icon()
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index bb75677a0ee..c7a2051c54d 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -16,7 +16,7 @@
attackby(obj/item/W as obj, mob/user as mob)
return
-/obj/structure/reagent_dispensers/Initialize()
+/obj/structure/reagent_dispensers/Initialize(mapload)
var/datum/reagents/R = new/datum/reagents(5000)
reagents = R
R.my_atom = src
@@ -73,7 +73,7 @@
icon_state = "watertank"
amount_per_transfer_from_this = 10
-/obj/structure/reagent_dispensers/watertank/Initialize()
+/obj/structure/reagent_dispensers/watertank/Initialize(mapload)
. = ..()
reagents.add_reagent("water", 1000)
@@ -82,7 +82,7 @@
desc = "A highly-pressurized water tank made to hold vast amounts of water.."
icon_state = "watertank_high"
-/obj/structure/reagent_dispensers/watertank/high/Initialize()
+/obj/structure/reagent_dispensers/watertank/high/Initialize(mapload)
. = ..()
reagents.add_reagent("water", 4000)
@@ -95,7 +95,7 @@
var/modded = 0
var/obj/item/assembly_holder/rig = null
-/obj/structure/reagent_dispensers/fueltank/Initialize()
+/obj/structure/reagent_dispensers/fueltank/Initialize(mapload)
. = ..()
reagents.add_reagent("fuel",1000)
@@ -205,7 +205,7 @@
density = 0
amount_per_transfer_from_this = 45
-/obj/structure/reagent_dispensers/peppertank/Initialize()
+/obj/structure/reagent_dispensers/peppertank/Initialize(mapload)
. = ..()
reagents.add_reagent("condensedcapsaicin",1000)
@@ -227,7 +227,7 @@
cupholder = 1
cups = 10
-/obj/structure/reagent_dispensers/water_cooler/Initialize()
+/obj/structure/reagent_dispensers/water_cooler/Initialize(mapload)
. = ..()
if(bottle)
reagents.add_reagent("water",120)
@@ -352,7 +352,7 @@
icon_state = "beertankTEMP"
amount_per_transfer_from_this = 10
-/obj/structure/reagent_dispensers/beerkeg/Initialize()
+/obj/structure/reagent_dispensers/beerkeg/Initialize(mapload)
. = ..()
reagents.add_reagent("beer",1000)
@@ -370,7 +370,7 @@
amount_per_transfer_from_this = 10
anchored = 1
-/obj/structure/reagent_dispensers/virusfood/Initialize()
+/obj/structure/reagent_dispensers/virusfood/Initialize(mapload)
. = ..()
reagents.add_reagent("virusfood", 1000)
@@ -382,7 +382,7 @@
amount_per_transfer_from_this = 10
anchored = 1
-/obj/structure/reagent_dispensers/acid/Initialize()
+/obj/structure/reagent_dispensers/acid/Initialize(mapload)
. = ..()
reagents.add_reagent("sacid", 1000)
@@ -394,7 +394,7 @@
icon_state = "oiltank"
amount_per_transfer_from_this = 120
-/obj/structure/reagent_dispensers/cookingoil/Initialize()
+/obj/structure/reagent_dispensers/cookingoil/Initialize(mapload)
..()
reagents.add_reagent("cornoil",5000)
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 72f4b3db9eb..838a4637c81 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -211,7 +211,7 @@
-/obj/machinery/conveyor_switch/Initialize()
+/obj/machinery/conveyor_switch/Initialize(mapload)
..()
update()
return INITIALIZE_HINT_LATELOAD
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index a1adcab65eb..e3e776d2d3e 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -24,7 +24,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
idle_power_usage = 30
active_power_usage = 2500
-/obj/machinery/r_n_d/circuit_imprinter/Initialize()
+/obj/machinery/r_n_d/circuit_imprinter/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/matter_bin(src)
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index c35c999cbca..8a81d751269 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -19,7 +19,7 @@
hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER)
-/obj/machinery/r_n_d/protolathe/Initialize()
+/obj/machinery/r_n_d/protolathe/Initialize(mapload)
. = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/matter_bin(src)
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 5c2e2dde2bf..acf69dcf034 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -117,7 +117,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
S.update_connections()
break
-/obj/machinery/computer/rdconsole/Initialize()
+/obj/machinery/computer/rdconsole/Initialize(mapload)
SyncRDevices()
. = ..()
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index 2d97dadc3f3..bde8d50e0e0 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -33,7 +33,7 @@
tot_rating += SP.rating
idle_power_usage /= max(1, tot_rating)
-/obj/machinery/r_n_d/server/Initialize()
+/obj/machinery/r_n_d/server/Initialize(mapload)
. = ..()
if(!files)
files = new /datum/research(src)
diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm
index 1a342c44f74..431e885cd27 100644
--- a/code/modules/resleeving/computers.dm
+++ b/code/modules/resleeving/computers.dm
@@ -18,7 +18,7 @@
var/synthetic_capable = 1
var/obj/item/disk/transcore/disk
-/obj/machinery/computer/transhuman/resleeving/Initialize()
+/obj/machinery/computer/transhuman/resleeving/Initialize(mapload)
. = ..()
updatemodules()
diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm
index e516a202d45..1e63e7dde50 100644
--- a/code/modules/resleeving/machines.dm
+++ b/code/modules/resleeving/machines.dm
@@ -11,7 +11,7 @@
circuit = /obj/item/circuitboard/transhuman_clonepod
//A full version of the pod
-/obj/machinery/clonepod/transhuman/full/Initialize()
+/obj/machinery/clonepod/transhuman/full/Initialize(mapload)
. = ..()
for(var/i = 1 to container_limit)
containers += new /obj/item/reagent_containers/glass/bottle/biomass(src)
diff --git a/code/modules/rogueminer_vr/zone_console.dm b/code/modules/rogueminer_vr/zone_console.dm
index 1a6e2bc69ab..2af4ccb0af4 100644
--- a/code/modules/rogueminer_vr/zone_console.dm
+++ b/code/modules/rogueminer_vr/zone_console.dm
@@ -20,7 +20,7 @@
var/legacy_zone = 0 // Disable scanning and whatnot.
var/obj/machinery/computer/shuttle_control/belter/shuttle_control
-/obj/machinery/computer/roguezones/Initialize()
+/obj/machinery/computer/roguezones/Initialize(mapload)
. = ..()
shuttle_control = locate(/obj/machinery/computer/shuttle_control/belter)
return INITIALIZE_HINT_LATELOAD
diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm
index fb86dcc68ef..708ef340040 100644
--- a/code/modules/shieldgen/shield_gen.dm
+++ b/code/modules/shieldgen/shield_gen.dm
@@ -30,7 +30,7 @@
desc = "A machine that generates a field of energy optimized for blocking meteorites when activated. This version comes with a more efficent shield matrix."
energy_conversion_rate = 0.0012
-/obj/machinery/shield_gen/Initialize()
+/obj/machinery/shield_gen/Initialize(mapload)
if(anchored)
for(var/obj/machinery/shield_capacitor/cap in range(1, src))
if(!cap.anchored)
diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm
index 0c6ddd02364..b9ae3d228b3 100644
--- a/code/modules/shuttles/landmarks.dm
+++ b/code/modules/shuttles/landmarks.dm
@@ -24,7 +24,7 @@
// Name of the shuttle, null for generic waypoint
var/shuttle_restricted
-/obj/effect/shuttle_landmark/Initialize()
+/obj/effect/shuttle_landmark/Initialize(mapload)
. = ..()
if(docking_controller)
. = INITIALIZE_HINT_LATELOAD
@@ -124,7 +124,7 @@
landmark_tag = "navpoint"
flags = SLANDMARK_FLAG_AUTOSET
-/obj/effect/shuttle_landmark/automatic/Initialize()
+/obj/effect/shuttle_landmark/automatic/Initialize(mapload)
landmark_tag += "-[x]-[y]-[z]-[random_id("landmarks",1,9999)]"
return ..()
@@ -136,7 +136,7 @@
/obj/effect/shuttle_landmark/automatic/clearing
var/radius = 10
-/obj/effect/shuttle_landmark/automatic/clearing/Initialize()
+/obj/effect/shuttle_landmark/automatic/clearing/Initialize(mapload)
..()
return INITIALIZE_HINT_LATELOAD
@@ -151,7 +151,7 @@
/obj/effect/shuttle_landmark/shuttle_initializer
var/datum/shuttle/shuttle_type
-/obj/effect/shuttle_landmark/shuttle_initializer/Initialize()
+/obj/effect/shuttle_landmark/shuttle_initializer/Initialize(mapload)
. = ..()
LAZYADD(SSshuttle.shuttles_to_initialize, shuttle_type) // Queue up for init.
diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm
index c9f877f803c..76f73af41dc 100644
--- a/code/modules/shuttles/shuttles_web.dm
+++ b/code/modules/shuttles/shuttles_web.dm
@@ -142,7 +142,7 @@
// Note - Searching own area for doors/sensors is fine for legacy web shuttles as they are single-area.
// However if this code is copied to future multi-area shuttles, should search in all shuttle areas
-/obj/machinery/computer/shuttle_control/web/Initialize()
+/obj/machinery/computer/shuttle_control/web/Initialize(mapload)
. = ..()
var/area/my_area = get_area(src)
if(my_doors)
@@ -460,7 +460,7 @@
var/shuttle_name // Text name of the shuttle to connect to
var/list/destinations // Make sure this STARTS with a destination that builds a route to one that always exists as an anchor.
-/obj/shuttle_connector/Initialize()
+/obj/shuttle_connector/Initialize(mapload)
. = ..()
GLOB.shuttle_added.register_global(src, .proc/setup_routes)
diff --git a/code/modules/spells/artifacts.dm b/code/modules/spells/artifacts.dm
index 58298784b3d..207e86379f4 100644
--- a/code/modules/spells/artifacts.dm
+++ b/code/modules/spells/artifacts.dm
@@ -437,7 +437,7 @@
duration = 40
pixel_x = 500
-/obj/effect/temp_visual/tornado/Initialize()
+/obj/effect/temp_visual/tornado/Initialize(mapload)
. = ..()
animate(src, pixel_x = -500, time = 40)
*/
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index cf12e06c416..8ab59a152cd 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -63,7 +63,7 @@ var/list/table_icon_cache = list()
/obj/structure/table/blob_act()
take_damage(100)
-/obj/structure/table/Initialize()
+/obj/structure/table/Initialize(mapload)
. = ..()
// One table per turf.
diff --git a/code/modules/telesci/hyper_pad.dm b/code/modules/telesci/hyper_pad.dm
index 84473779d5c..499bb6e4300 100644
--- a/code/modules/telesci/hyper_pad.dm
+++ b/code/modules/telesci/hyper_pad.dm
@@ -26,7 +26,7 @@
var/list/linked = list()
var/max_item_teleport = 30
-/obj/machinery/hyperpad/centre/Initialize()
+/obj/machinery/hyperpad/centre/Initialize(mapload)
. = ..()
if(map_pad_id)
mapped_hyper_pads[map_pad_id] = src
diff --git a/code/modules/telesci/quantum_pad.dm b/code/modules/telesci/quantum_pad.dm
index e9a648fbbe5..67bb7b3fd7c 100644
--- a/code/modules/telesci/quantum_pad.dm
+++ b/code/modules/telesci/quantum_pad.dm
@@ -20,7 +20,7 @@
var/map_pad_id = "" as text //what's my name
var/map_pad_link_id = "" as text //who's my friend
-/obj/machinery/power/quantumpad/Initialize()
+/obj/machinery/power/quantumpad/Initialize(mapload)
. = ..()
default_apply_parts()
connect_to_network()
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index bf0ad42d0a6..8dc19ed2992 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -40,7 +40,7 @@
..()
to_chat(user, "There are [crystals.len ? crystals.len : "no"] bluespace crystal\s in the crystal slots.")
-/obj/machinery/computer/telescience/Initialize()
+/obj/machinery/computer/telescience/Initialize(mapload)
. = ..()
recalibrate()
for(var/i = 1; i <= starting_crystals; i++)
diff --git a/code/modules/turbolift/turbolift_map.dm b/code/modules/turbolift/turbolift_map.dm
index 78aabe66ac6..e28641c0f72 100644
--- a/code/modules/turbolift/turbolift_map.dm
+++ b/code/modules/turbolift/turbolift_map.dm
@@ -22,7 +22,7 @@
turbolifts += src
..()
-/obj/turbolift_map_holder/Initialize()
+/obj/turbolift_map_holder/Initialize(mapload)
. = ..()
// Create our system controller.
var/datum/turbolift/lift = new()
diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm
index d31ca807391..fcfbf741e3d 100644
--- a/code/modules/vehicles/train.dm
+++ b/code/modules/vehicles/train.dm
@@ -22,7 +22,7 @@
//-------------------------------------------
// Standard procs
//-------------------------------------------
-/obj/vehicle/train/Initialize()
+/obj/vehicle/train/Initialize(mapload)
. = ..()
for(var/obj/vehicle/train/T in orange(1, src))
latch(T)
diff --git a/code/modules/vore/fluffstuff/custom_items.dm b/code/modules/vore/fluffstuff/custom_items.dm
index e81777731e6..56e21152466 100644
--- a/code/modules/vore/fluffstuff/custom_items.dm
+++ b/code/modules/vore/fluffstuff/custom_items.dm
@@ -621,7 +621,7 @@
var/ambulance_state = FALSE
var/ambulance_last_switch = 0
-/obj/item/storage/backpack/saddlebag/tempest/Initialize()
+/obj/item/storage/backpack/saddlebag/tempest/Initialize(mapload)
soundloop = new(list(src), FALSE)
return ..()
@@ -2083,7 +2083,7 @@
name = "flask of expensive alcohol"
desc = "A standard vacuum-flask filled with good and expensive drink."
-/obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor/Initialize()
+/obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor/Initialize(mapload)
..()
reagents.add_reagent("pwine", 60)
diff --git a/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm b/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm
index 47ed6695843..be66ada7090 100644
--- a/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm
+++ b/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm
@@ -218,7 +218,7 @@
var/type_name = null
projectile_type = /obj/item/projectile/beam
-/obj/item/ammo_casing/microbattery/Initialize()
+/obj/item/ammo_casing/microbattery/Initialize(mapload)
. = ..()
pixel_x = rand(-10, 10)
pixel_y = rand(-10, 10)
diff --git a/code/modules/vore/fluffstuff/guns/nsfw.dm b/code/modules/vore/fluffstuff/guns/nsfw.dm
index 66628c4c329..cda4bcc1651 100644
--- a/code/modules/vore/fluffstuff/guns/nsfw.dm
+++ b/code/modules/vore/fluffstuff/guns/nsfw.dm
@@ -200,7 +200,7 @@
var/type_name = null
projectile_type = /obj/item/projectile/beam
-/obj/item/ammo_casing/nsfw_batt/Initialize()
+/obj/item/ammo_casing/nsfw_batt/Initialize(mapload)
. = ..()
pixel_x = rand(-10, 10)
pixel_y = rand(-10, 10)
diff --git a/code/modules/xenoarcheaology/anomaly_container.dm b/code/modules/xenoarcheaology/anomaly_container.dm
index 795cd9d6df3..e69de29bb2d 100644
--- a/code/modules/xenoarcheaology/anomaly_container.dm
+++ b/code/modules/xenoarcheaology/anomaly_container.dm
@@ -1,43 +0,0 @@
-/obj/structure/anomaly_container
- name = "anomaly container"
- desc = "Used to safely contain and move anomalies."
- icon = 'icons/obj/xenoarchaeology.dmi'
- icon_state = "anomaly_container"
- density = 1
-
- var/obj/machinery/artifact/contained
-
-/obj/structure/anomaly_container/Initialize()
- . = ..()
-
- var/obj/machinery/artifact/A = locate() in loc
- if(A)
- contain(A)
-
-/obj/structure/anomaly_container/attack_hand(var/mob/user)
- release()
-
-/obj/structure/anomaly_container/attack_robot(var/mob/user)
- if(Adjacent(user))
- release()
-
-/obj/structure/anomaly_container/proc/contain(var/obj/machinery/artifact/artifact)
- if(contained)
- return
- contained = artifact
- artifact.forceMove(src)
- underlays += image(artifact)
- desc = "Used to safely contain and move anomalies. \The [contained] is kept inside."
-
-/obj/structure/anomaly_container/proc/release()
- if(!contained)
- return
- contained.dropInto(src)
- contained = null
- underlays.Cut()
- desc = initial(desc)
-
-/obj/machinery/artifact/MouseDrop(var/obj/structure/anomaly_container/over_object)
- if(istype(over_object) && Adjacent(over_object) && CanMouseDrop(over_object, usr))
- Bumped(usr)
- over_object.contain(src)
\ No newline at end of file
diff --git a/code/modules/xenoarcheaology/finds/misc.dm b/code/modules/xenoarcheaology/finds/misc.dm
index 53948b87f1b..76cafb72968 100644
--- a/code/modules/xenoarcheaology/finds/misc.dm
+++ b/code/modules/xenoarcheaology/finds/misc.dm
@@ -39,7 +39,7 @@
anchored = TRUE
catalogue_data = list(/datum/category_item/catalogue/material/regular_crystal)
-/obj/machinery/crystal/Initialize()
+/obj/machinery/crystal/Initialize(mapload)
randomize_color()
return ..()
diff --git a/code/modules/xenoarcheaology/misc.dm b/code/modules/xenoarcheaology/misc.dm
index e0c7d59487b..2c9ff1ce7b7 100644
--- a/code/modules/xenoarcheaology/misc.dm
+++ b/code/modules/xenoarcheaology/misc.dm
@@ -37,7 +37,7 @@
/obj/structure/bookcase/manuals/xenoarchaeology
name = "Xenoarchaeology Manuals bookcase"
-/obj/structure/bookcase/manuals/xenoarchaeology/Initialize()
+/obj/structure/bookcase/manuals/xenoarchaeology/Initialize(mapload)
. = ..()
new /obj/item/book/manual/excavation(src)
new /obj/item/book/manual/mass_spectrometry(src)
diff --git a/code/modules/xenoarcheaology/tools/artifact_analyser.dm b/code/modules/xenoarcheaology/tools/artifact_analyser.dm
index 792912a0232..96de1710987 100644
--- a/code/modules/xenoarcheaology/tools/artifact_analyser.dm
+++ b/code/modules/xenoarcheaology/tools/artifact_analyser.dm
@@ -14,7 +14,7 @@
var/obj/scanned_object
var/report_num = 0
-/obj/machinery/artifact_analyser/Initialize()
+/obj/machinery/artifact_analyser/Initialize(mapload)
. = ..()
reconnect_scanner()
diff --git a/code/modules/xenoarcheaology/tools/coolant_tank.dm b/code/modules/xenoarcheaology/tools/coolant_tank.dm
index 68fd0f0da8e..c5c4daffb3e 100644
--- a/code/modules/xenoarcheaology/tools/coolant_tank.dm
+++ b/code/modules/xenoarcheaology/tools/coolant_tank.dm
@@ -5,7 +5,7 @@
icon_state = "coolanttank"
amount_per_transfer_from_this = 10
-/obj/structure/reagent_dispensers/coolanttank/Initialize()
+/obj/structure/reagent_dispensers/coolanttank/Initialize(mapload)
. = ..()
reagents.add_reagent("coolant", 1000)
diff --git a/code/modules/xenobio/items/slime_objects.dm b/code/modules/xenobio/items/slime_objects.dm
index 39ae636008b..e69de29bb2d 100644
--- a/code/modules/xenobio/items/slime_objects.dm
+++ b/code/modules/xenobio/items/slime_objects.dm
@@ -1,128 +0,0 @@
-// Slime cube lives here. Makes Prometheans.
-/obj/item/slime_cube
- name = "slimy monkey cube"
- desc = "Wonder what might come out of this."
- icon = 'icons/mob/slime2.dmi'
- icon_state = "slime cube"
- description_info = "Use in your hand to attempt to create a Promethean. It functions similarly to a positronic brain, in that a ghost is needed to become the Promethean."
- var/searching = 0
-
-/obj/item/slime_cube/attack_self(mob/user as mob)
- if(!searching)
- to_chat(user, "You stare at the slimy cube, watching as some activity occurs.")
- icon_state = "slime cube active"
- searching = 1
- request_player()
- spawn(60 SECONDS)
- reset_search()
-
-// Sometime down the road it would be great to make all of these 'ask ghosts if they want to be X' procs into a generic datum.
-/obj/item/slime_cube/proc/request_player()
- for(var/mob/observer/dead/O in player_list)
- if(!O.MayRespawn())
- continue
- if(O.client)
- if(O.client.prefs.be_special & BE_ALIEN)
- question(O.client)
-
-/obj/item/slime_cube/proc/question(var/client/C)
- spawn(0)
- if(!C)
- return
- var/response = alert(C, "Someone is requesting a soul for a promethean. Would you like to play as one?", "Promethean request", "Yes", "No", "Never for this round")
- if(response == "Yes")
- response = alert(C, "Are you sure you want to play as a promethean?", "Promethean request", "Yes", "No")
- if(!C || 2 == searching)
- return //handle logouts that happen whilst the alert is waiting for a response, and responses issued after a brain has been located.
- if(response == "Yes")
- transfer_personality(C.mob)
- else if(response == "Never for this round")
- C.prefs.be_special ^= BE_ALIEN
-
-/obj/item/slime_cube/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer.
- icon_state = "slime cube"
- if(searching == 1)
- searching = 0
- var/turf/T = get_turf_or_move(src.loc)
- for (var/mob/M in viewers(T))
- M.show_message("The activity in the cube dies down. Maybe it will spark another time.")
-
-/obj/item/slime_cube/proc/transfer_personality(var/mob/candidate)
- announce_ghost_joinleave(candidate, 0, "They are a promethean now.")
- src.searching = 2
- var/mob/living/carbon/human/S = new(get_turf(src))
- S.client = candidate.client
- to_chat(S, "You are a promethean, brought into existence on [station_name()].")
- S.mind.assigned_role = "Promethean"
- S.set_species("Promethean")
- S.shapeshifter_set_colour("#2398FF")
- visible_message("The monkey cube suddenly takes the shape of a humanoid!")
- var/newname = sanitize(input(S, "You are a Promethean. Would you like to change your name to something else?", "Name change") as null|text, MAX_NAME_LEN)
- if(newname)
- S.real_name = newname
- S.name = S.real_name
- S.dna.real_name = newname
- if(S.mind)
- S.mind.name = S.name
- qdel(src)
-
-
-
-// More or less functionally identical to the telecrystal tele.
-/obj/item/slime_crystal
- name = "lesser slime cystal"
- desc = "A small, gooy crystal."
- description_info = "This will teleport you to a mostly 'safe' tile when used in-hand, consuming the slime crystal. \
- It can also teleport someone else, by throwing it at them or attacking them with it."
- icon = 'icons/obj/objects.dmi'
- icon_state = "slime_crystal_small"
- w_class = ITEMSIZE_TINY
- origin_tech = list(TECH_MAGNET = 6, TECH_BLUESPACE = 3)
- force = 1 //Needs a token force to ensure you can attack because for some reason you can't attack with 0 force things
-
-/obj/item/slime_crystal/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
- target.visible_message("\The [target] has been teleported with \the [src] by \the [user]!")
- safe_blink(target, 14)
- qdel(src)
-
-/obj/item/slime_crystal/attack_self(mob/user)
- user.visible_message("\The [user] teleports themselves with \the [src]!")
- safe_blink(user, 14)
- qdel(src)
-
-/obj/item/slime_crystal/throw_impact(atom/movable/AM)
- if(!istype(AM))
- return
-
- if(AM.anchored)
- return
-
- AM.visible_message("\The [AM] has been teleported with \the [src]!")
- safe_blink(AM, 14)
- qdel(src)
-
-/obj/item/disposable_teleporter/slime
- name = "greater slime crystal"
- desc = "A larger, gooier crystal."
- description_info = "This will teleport you to a specific area once, when used in-hand."
- icon = 'icons/obj/objects.dmi'
- icon_state = "slime_crystal_large"
- uses = 1
- w_class = ITEMSIZE_SMALL
- origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 4)
-
-
-
-// Very filling food.
-/obj/item/reagent_containers/food/snacks/slime
- name = "slimy clump"
- desc = "A glob of slime that is thick as honey. For the brave Xenobiologist."
- icon_state = "honeycomb"
- filling_color = "#FFBB00"
- center_of_mass = list("x"=17, "y"=10)
- nutriment_amt = 25 // Very filling.
- nutriment_desc = list("slime" = 10, "sweetness" = 10, "bliss" = 5)
-
-/obj/item/reagent_containers/food/snacks/slime/Initialize()
- . = ..()
- bitesize = 5
\ No newline at end of file
diff --git a/code/modules/xenobio/items/weapons.dm b/code/modules/xenobio/items/weapons.dm
index beb1ef38610..c976266e070 100644
--- a/code/modules/xenobio/items/weapons.dm
+++ b/code/modules/xenobio/items/weapons.dm
@@ -29,7 +29,7 @@
..()
-/obj/item/melee/baton/slime/loaded/Initialize()
+/obj/item/melee/baton/slime/loaded/Initialize(mapload)
bcell = new/obj/item/cell/device(src)
update_icon()
return ..()
diff --git a/maps/endeavor/endeavor_telecomms.dm b/maps/endeavor/endeavor_telecomms.dm
index bf67288c36b..f3c8a7a18f1 100644
--- a/maps/endeavor/endeavor_telecomms.dm
+++ b/maps/endeavor/endeavor_telecomms.dm
@@ -75,6 +75,6 @@
name = "pre-linked multitool (Endeavor hub)"
desc = "This multitool has already been linked to the Endeavor telecomms hub and can be used to configure one (1) relay."
-/obj/item/multitool/endeavor_buffered/Initialize()
+/obj/item/multitool/endeavor_buffered/Initialize(mapload)
. = ..()
buffer = locate(/obj/machinery/telecomms/hub/preset/endeavor)
diff --git a/maps/endeavor/endeavor_turfs.dm b/maps/endeavor/endeavor_turfs.dm
index b6fb9117661..12a439dee39 100644
--- a/maps/endeavor/endeavor_turfs.dm
+++ b/maps/endeavor/endeavor_turfs.dm
@@ -90,7 +90,7 @@
/turf/space/bluespace
name = "bluespace"
icon_state = "bluespace"
-/turf/space/bluespace/Initialize()
+/turf/space/bluespace/Initialize(mapload)
..()
icon_state = "bluespace"
@@ -99,7 +99,7 @@
name = "sand transit"
icon = 'icons/turf/transit_vr.dmi'
icon_state = "desert_ns"
-/turf/space/sandyscroll/Initialize()
+/turf/space/sandyscroll/Initialize(mapload)
..()
icon_state = "desert_ns"
@@ -107,7 +107,7 @@
name = "sand transit"
icon = 'maps/endeavor/endeavor_turfs.dmi'
icon_state = "desert_sn"
-/turf/space/sandyscroll/Initialize()
+/turf/space/sandyscroll/Initialize(mapload)
..()
icon_state = "desert_sn"
@@ -116,7 +116,7 @@
/turf/simulated/sky/odin5
color = "#FFBBBB"
-/turf/simulated/sky/odin5/Initialize()
+/turf/simulated/sky/odin5/Initialize(mapload)
SSplanets.addTurf(src)
set_light(2, 2, "#FFBBBB")
diff --git a/maps/endeavor/submaps/_endeavor_submaps.dm b/maps/endeavor/submaps/_endeavor_submaps.dm
index 278a2fe25ba..fb3d4ad1ae5 100644
--- a/maps/endeavor/submaps/_endeavor_submaps.dm
+++ b/maps/endeavor/submaps/_endeavor_submaps.dm
@@ -144,7 +144,7 @@
/obj/effect/step_trigger/zlevel_fall //Don't ever use this, only use subtypes.Define a new var/static/target_z on each
affect_ghosts = 1
-/obj/effect/step_trigger/zlevel_fall/Initialize()
+/obj/effect/step_trigger/zlevel_fall/Initialize(mapload)
. = ..()
if(istype(get_turf(src), /turf/simulated/floor))
@@ -207,7 +207,7 @@
var/mob/living/simple_mob/my_mob
var/depleted = FALSE
-/obj/endeavor_away_spawner/Initialize()
+/obj/endeavor_away_spawner/Initialize(mapload)
. = ..()
if(!LAZYLEN(mobs_to_pick_from))
diff --git a/maps/endeavor/submaps/odin5a-desert/odin5a.dm b/maps/endeavor/submaps/odin5a-desert/odin5a.dm
index 3f655ae0342..5329dc1e753 100644
--- a/maps/endeavor/submaps/odin5a-desert/odin5a.dm
+++ b/maps/endeavor/submaps/odin5a-desert/odin5a.dm
@@ -66,7 +66,7 @@
name = "away mission initializer - beachcave"
//In our case, it initializes the ores and random submaps in the beach's cave, then deletes itself
-/obj/away_mission_init/beachcave/Initialize()
+/obj/away_mission_init/beachcave/Initialize(mapload)
new /datum/random_map/noise/ore/beachmine(null, 1, 1, Z_LEVEL_ODIN5A_CAVE, 64, 64)
initialized = TRUE
diff --git a/maps/nsv_triumph/submaps/_triumph_submaps.dm b/maps/nsv_triumph/submaps/_triumph_submaps.dm
index 231569b45da..03f97d21fb2 100644
--- a/maps/nsv_triumph/submaps/_triumph_submaps.dm
+++ b/maps/nsv_triumph/submaps/_triumph_submaps.dm
@@ -269,7 +269,7 @@
var/static/target_z
affect_ghosts = 1
-/obj/effect/step_trigger/zlevel_fall/Initialize()
+/obj/effect/step_trigger/zlevel_fall/Initialize(mapload)
. = ..()
if(istype(get_turf(src), /turf/simulated/floor))
diff --git a/maps/nsv_triumph/submaps/frozen_planet/_frozen_planet.dm b/maps/nsv_triumph/submaps/frozen_planet/_frozen_planet.dm
index 93b2b0dccb6..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/frozen_planet/_frozen_planet.dm
+++ b/maps/nsv_triumph/submaps/frozen_planet/_frozen_planet.dm
@@ -1,6 +0,0 @@
-// POI Init
-/obj/away_mission_init/frozen_planet
- name = "away mission initializer - Frozen Planet"
-
-/obj/away_mission_init/frozen_planet/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/submaps/gaia_planet/_gaia_planet.dm b/maps/nsv_triumph/submaps/gaia_planet/_gaia_planet.dm
index 24c045360e9..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/gaia_planet/_gaia_planet.dm
+++ b/maps/nsv_triumph/submaps/gaia_planet/_gaia_planet.dm
@@ -1,6 +0,0 @@
-// POI Init
-/obj/away_mission_init/gaia_planet
- name = "away mission initializer - Gaia Planet"
-
-/obj/away_mission_init/gaia_planet/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/submaps/lavaland/_lavaland.dm b/maps/nsv_triumph/submaps/lavaland/_lavaland.dm
index 41818b5aaba..70c807c9c1c 100644
--- a/maps/nsv_triumph/submaps/lavaland/_lavaland.dm
+++ b/maps/nsv_triumph/submaps/lavaland/_lavaland.dm
@@ -12,7 +12,7 @@
/obj/away_mission_init/lavaland
name = "away mission initializer - lava land"
-/obj/away_mission_init/lavaland/Initialize()
+/obj/away_mission_init/lavaland/Initialize(mapload)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/lavaland_entry
diff --git a/maps/nsv_triumph/submaps/mining_planet/_miningplanet.dm b/maps/nsv_triumph/submaps/mining_planet/_miningplanet.dm
index 73b4d39c7fc..8424112d5d5 100644
--- a/maps/nsv_triumph/submaps/mining_planet/_miningplanet.dm
+++ b/maps/nsv_triumph/submaps/mining_planet/_miningplanet.dm
@@ -12,7 +12,7 @@
/obj/away_mission_init/mining_planet
name = "away mission initializer - Mining Planet"
-/obj/away_mission_init/mining_planet/Initialize()
+/obj/away_mission_init/mining_planet/Initialize(mapload)
return INITIALIZE_HINT_QDEL
// This is a special subtype of the thing that generates ores on a map
diff --git a/maps/nsv_triumph/submaps/poi_d/_class_d.dm b/maps/nsv_triumph/submaps/poi_d/_class_d.dm
index 82ddbfee366..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/poi_d/_class_d.dm
+++ b/maps/nsv_triumph/submaps/poi_d/_class_d.dm
@@ -1,16 +0,0 @@
-// Shuttle Path for Class D Worlds
-
-// -- Datums -- //
-/*/obj/effect/overmap/visitable/sector/class_d
- name = "Unknown Planet" // The name of the destination
- desc = "Sensors indicate that this is a Class-D World. Those of which are largely barren planets or moons that lack any form of atmosphere and are among the most common types of planets."
- icon_state = "globe"
- color = "#4e4e4e" // Bright yellow
- initial_generic_waypoints = list("poid_main")
-*/
-// POI Init
-/obj/away_mission_init/poi_d
- name = "away mission initializer - Class D World"
-
-/obj/away_mission_init/poi_d/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/submaps/poi_h/_class_h.dm b/maps/nsv_triumph/submaps/poi_h/_class_h.dm
index 81bba30b90d..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/poi_h/_class_h.dm
+++ b/maps/nsv_triumph/submaps/poi_h/_class_h.dm
@@ -1,18 +0,0 @@
-//AWAY MISSION Init
-
-/obj/away_mission_init/poi_h
- name = "away mission initializer - Desert Planet"
-
-/obj/away_mission_init/poi_h/Initialize()
- return INITIALIZE_HINT_QDEL
-
-//Intializer
-/obj/away_mission_init/poi_h/Initialize()
-
- return INITIALIZE_HINT_QDEL
-
-/obj/away_mission_init/poi_h
- name = "away mission initializer - Class h World"
-
-/obj/away_mission_init/poi_h/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/submaps/space/_debrisfield.dm b/maps/nsv_triumph/submaps/space/_debrisfield.dm
index c85db17b0eb..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/space/_debrisfield.dm
+++ b/maps/nsv_triumph/submaps/space/_debrisfield.dm
@@ -1,32 +0,0 @@
-// -- Objs -- //
-
-/obj/effect/step_trigger/teleporter/debrisfield_loop/north/New()
- ..()
- teleport_x = x
- teleport_y = 2
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/debrisfield_loop/south/New()
- ..()
- teleport_x = x
- teleport_y = world.maxy - 1
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/debrisfield_loop/west/New()
- ..()
- teleport_x = world.maxx - 1
- teleport_y = y
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/debrisfield_loop/east/New()
- ..()
- teleport_x = 2
- teleport_y = y
- teleport_z = z
-
-//This does nothing right now, but is framework if we do POIs for this place
-/obj/away_mission_init/debrisfield
- name = "away mission initializer - debrisfield"
-
-/obj/away_mission_init/debrisfield/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/submaps/space/_piratebase.dm b/maps/nsv_triumph/submaps/space/_piratebase.dm
index f529f3fe56d..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/space/_piratebase.dm
+++ b/maps/nsv_triumph/submaps/space/_piratebase.dm
@@ -1,32 +0,0 @@
-// -- Objs -- //
-
-/obj/effect/step_trigger/teleporter/piratebase_loop/north/New()
- ..()
- teleport_x = x
- teleport_y = 2
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/piratebase_loop/south/New()
- ..()
- teleport_x = x
- teleport_y = world.maxy - 1
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/piratebase_loop/west/New()
- ..()
- teleport_x = world.maxx - 1
- teleport_y = y
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/piratebase_loop/east/New()
- ..()
- teleport_x = 2
- teleport_y = y
- teleport_z = z
-
-//This does nothing right now, but is framework if we do POIs for this place
-/obj/away_mission_init/piratebase
- name = "away mission initializer - piratebase"
-
-/obj/away_mission_init/piratebase/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/submaps/space/trade_port/_tradeport.dm b/maps/nsv_triumph/submaps/space/trade_port/_tradeport.dm
index c5c1e1a15e8..e69de29bb2d 100644
--- a/maps/nsv_triumph/submaps/space/trade_port/_tradeport.dm
+++ b/maps/nsv_triumph/submaps/space/trade_port/_tradeport.dm
@@ -1,32 +0,0 @@
-// -- Objs -- //
-
-/obj/effect/step_trigger/teleporter/tradeport_loop/north/New()
- ..()
- teleport_x = x
- teleport_y = 2
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/tradeport_loop/south/New()
- ..()
- teleport_x = x
- teleport_y = world.maxy - 1
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/tradeport_loop/west/New()
- ..()
- teleport_x = world.maxx - 1
- teleport_y = y
- teleport_z = z
-
-/obj/effect/step_trigger/teleporter/tradeport_loop/east/New()
- ..()
- teleport_x = 2
- teleport_y = y
- teleport_z = z
-
-//This does nothing right now, but is framework if we do POIs for this place
-/obj/away_mission_init/tradeport
- name = "away mission initializer - tradeport"
-
-/obj/away_mission_init/tradeport/Initialize()
- return INITIALIZE_HINT_QDEL
\ No newline at end of file
diff --git a/maps/nsv_triumph/triumph_phoronlock.dm b/maps/nsv_triumph/triumph_phoronlock.dm
index 1c1efc08da6..3f0ef419b41 100644
--- a/maps/nsv_triumph/triumph_phoronlock.dm
+++ b/maps/nsv_triumph/triumph_phoronlock.dm
@@ -50,7 +50,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior
var/frequency = 0
var/datum/radio_frequency/radio_connection
-/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/Initialize()
+/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
@@ -119,7 +119,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior
/obj/machinery/embedded_controller/radio/airlock/phoron
var/tag_scrubber
-/obj/machinery/embedded_controller/radio/airlock/phoron/Initialize()
+/obj/machinery/embedded_controller/radio/airlock/phoron/Initialize(mapload)
. = ..()
program = new/datum/computer/file/embedded_program/airlock/phoron(src)
diff --git a/maps/nsv_triumph/triumph_telecomms.dm b/maps/nsv_triumph/triumph_telecomms.dm
index 14a03794e82..309e105c945 100644
--- a/maps/nsv_triumph/triumph_telecomms.dm
+++ b/maps/nsv_triumph/triumph_telecomms.dm
@@ -109,6 +109,6 @@
name = "pre-linked multitool (tether hub)"
desc = "This multitool has already been linked to the Tether telecomms hub and can be used to configure one (1) relay."
-/obj/item/multitool/triumph_buffered/Initialize()
+/obj/item/multitool/triumph_buffered/Initialize(mapload)
. = ..()
buffer = locate(/obj/machinery/telecomms/hub/preset/triumph)
diff --git a/maps/nsv_triumph/triumph_things.dm b/maps/nsv_triumph/triumph_things.dm
index 2e4a1578ca0..b61c25081be 100644
--- a/maps/nsv_triumph/triumph_things.dm
+++ b/maps/nsv_triumph/triumph_things.dm
@@ -95,7 +95,7 @@
/obj/machinery/smartfridge/chemistry/chemvator/down
name = "\improper Smart Chemavator - Lower"
-/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize()
+/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize(mapload)
. = ..()
var/obj/machinery/smartfridge/chemistry/chemvator/above = locate(/obj/machinery/smartfridge/chemistry/chemvator,get_zstep(src,UP))
if(istype(above))
diff --git a/maps/nsv_triumph/triumph_turfs.dm b/maps/nsv_triumph/triumph_turfs.dm
index 500ff6fd272..2a7838db71f 100644
--- a/maps/nsv_triumph/triumph_turfs.dm
+++ b/maps/nsv_triumph/triumph_turfs.dm
@@ -154,7 +154,7 @@
name = "bluespace"
icon = 'icons/turf/space_vr.dmi'
icon_state = "bluespace"
-/turf/space/bluespace/Initialize()
+/turf/space/bluespace/Initialize(mapload)
..()
icon = 'icons/turf/space_vr.dmi'
icon_state = "bluespace"
@@ -164,7 +164,7 @@
name = "sand transit"
icon = 'icons/turf/transit_vr.dmi'
icon_state = "desert_ns"
-/turf/space/sandyscroll/Initialize()
+/turf/space/sandyscroll/Initialize(mapload)
..()
icon_state = "desert_ns"
@@ -173,7 +173,7 @@
/turf/simulated/sky/triumph
color = "#FFBBBB"
-/turf/simulated/sky/triumph/Initialize()
+/turf/simulated/sky/triumph/Initialize(mapload)
SSplanets.addTurf(src)
set_light(2, 2, "#FFBBBB")
diff --git a/maps/southern_cross/southern_cross_defines.dm b/maps/southern_cross/southern_cross_defines.dm
index 4b8365cb575..e69de29bb2d 100644
--- a/maps/southern_cross/southern_cross_defines.dm
+++ b/maps/southern_cross/southern_cross_defines.dm
@@ -1,293 +0,0 @@
-// To be filled out when more progress on the new map occurs.
-
-#define Z_LEVEL_STATION_ONE 1
-#define Z_LEVEL_STATION_TWO 2
-#define Z_LEVEL_STATION_THREE 3
-#define Z_LEVEL_EMPTY_SPACE 4
-#define Z_LEVEL_SURFACE 5
-#define Z_LEVEL_SURFACE_MINE 6
-#define Z_LEVEL_MISC 7
-#define Z_LEVEL_CENTCOM 8
-#define Z_LEVEL_TRANSIT 9
-#define Z_LEVEL_SURFACE_WILD 10
-
-/datum/map/southern_cross
- name = "Southern Cross"
- full_name = "Southern Cross"
- path = "southern_cross"
-
- lobby_icon = 'icons/misc/title.dmi'
- lobby_screens = list("mockingjay00") // New lobby screen if possible.
-
- holomap_smoosh = list(list(
- Z_LEVEL_STATION_ONE,
- Z_LEVEL_STATION_TWO,
- Z_LEVEL_STATION_THREE))
-
- zlevel_datum_type = /datum/map_z_level/southern_cross
-
- station_name = "NLS Southern Cross"
- station_short = "Southern Cross"
- dock_name = "NCS Northern Star" // Now we're the centcom!
- boss_name = "Central Command"
- boss_short = "Centcom"
- company_name = "NanoTrasen"
- company_short = "NT"
- starsys_name = "Vir"
-
- shuttle_docked_message = "The scheduled shuttle to the %dock_name% has docked with the station at docks one and two. It will depart in approximately %ETD%."
- shuttle_leaving_dock = "The Crew Transfer Shuttle has left the station. Estimate %ETA% until the shuttle docks at %dock_name%."
- shuttle_called_message = "A crew transfer to %dock_name% has been scheduled. The shuttle has been called. Those leaving should proceed to docks one and two in approximately %ETA%."
- shuttle_recall_message = "The scheduled crew transfer has been cancelled."
- emergency_shuttle_docked_message = "The Emergency Shuttle has docked with the station at docks one and two. You have approximately %ETD% to board the Emergency Shuttle."
- emergency_shuttle_leaving_dock = "The Emergency Shuttle has left the station. Estimate %ETA% until the shuttle docks at %dock_name%."
- emergency_shuttle_called_message = "An emergency evacuation shuttle has been called. It will arrive at docks one and two in approximately %ETA%."
- emergency_shuttle_recall_message = "The emergency shuttle has been recalled."
-
- // Networks that will show up as options in the camera monitor program
- station_networks = list(
- NETWORK_CARGO,
- NETWORK_CIRCUITS,
- NETWORK_CIVILIAN,
- NETWORK_COMMAND,
- NETWORK_ENGINE,
- NETWORK_ENGINEERING,
- NETWORK_ENGINEERING_OUTPOST,
- NETWORK_FIRST_DECK,
- NETWORK_SECOND_DECK,
- NETWORK_THIRD_DECK,
- NETWORK_MAIN_OUTPOST,
- NETWORK_MEDICAL,
- NETWORK_MINE,
- NETWORK_RESEARCH,
- NETWORK_RESEARCH_OUTPOST,
- NETWORK_ROBOTS,
- NETWORK_PRISON,
- NETWORK_SECURITY,
- NETWORK_TELECOM
- )
- // Camera networks that exist, but don't show on regular camera monitors.
- secondary_networks = list(
- NETWORK_ERT,
- NETWORK_MERCENARY,
- NETWORK_THUNDER,
- NETWORK_COMMUNICATORS,
- NETWORK_ALARM_ATMOS,
- NETWORK_ALARM_POWER,
- NETWORK_ALARM_FIRE,
- NETWORK_SUPPLY
- )
- usable_email_tlds = list("freemail.nt")
- allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage")
- unit_test_exempt_areas = list(/area/ninja_dojo, /area/ninja_dojo/firstdeck, /area/ninja_dojo/arrivals_dock)
-
- unit_test_exempt_from_atmos = list(/area/tcomm/chamber)
-
-
-// Short range computers see only the six main levels, others can see the surrounding surface levels.
-/datum/map/southern_cross/get_map_levels(var/srcz, var/long_range = TRUE)
- if (long_range && (srcz in map_levels))
- return map_levels
- else if (srcz == Z_LEVEL_TRANSIT)
- return list() // Nothing on these z-levels- sensors won't show, and GPSes won't see each other.
- else if (srcz >= Z_LEVEL_STATION_ONE && srcz <= Z_LEVEL_STATION_THREE) // Station can see other decks.
- return list(
- Z_LEVEL_STATION_ONE,
- Z_LEVEL_STATION_TWO,
- Z_LEVEL_STATION_THREE,
- Z_LEVEL_SURFACE,
- Z_LEVEL_SURFACE_MINE,
- Z_LEVEL_SURFACE_WILD)
- else if(srcz in list(Z_LEVEL_SURFACE, Z_LEVEL_SURFACE_MINE, Z_LEVEL_SURFACE_WILD)) // Being on the surface lets you see other surface Zs.
- return list(
- Z_LEVEL_SURFACE,
- Z_LEVEL_SURFACE_MINE,
- Z_LEVEL_SURFACE_WILD)
- else
- return list(srcz) //prevents runtimes when using CMC. any Z-level not defined above will be 'isolated' and only show to GPSes/CMCs on that same Z (e.g. CentCom).
-
-/datum/map/southern_cross/perform_map_generation()
- // First, place a bunch of submaps. This comes before tunnel/forest generation as to not interfere with the submap.
-
- // Cave submaps are first.
- seed_submaps(list(Z_LEVEL_SURFACE_MINE), 75, /area/surface/cave/unexplored/normal, /datum/map_template/surface/mountains/normal)
- seed_submaps(list(Z_LEVEL_SURFACE_MINE), 75, /area/surface/cave/unexplored/deep, /datum/map_template/surface/mountains/deep)
- // Plains to make them less plain.
- seed_submaps(list(Z_LEVEL_SURFACE), 100, /area/surface/outside/plains/normal, /datum/map_template/surface/plains) // Center area is WIP until map editing settles down.
- // Wilderness is next.
- seed_submaps(list(Z_LEVEL_SURFACE_WILD), 75, /area/surface/outside/wilderness/normal, /datum/map_template/surface/wilderness/normal)
- seed_submaps(list(Z_LEVEL_SURFACE_WILD), 75, /area/surface/outside/wilderness/deep, /datum/map_template/surface/wilderness/deep)
- // If Space submaps are made, add a line to make them here as well.
-
- // Now for the tunnels.
- new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_SURFACE_MINE, world.maxx, world.maxy) // Create the mining Z-level.
- new /datum/random_map/noise/ore(null, 1, 1, Z_LEVEL_SURFACE_MINE, 64, 64) // Create the mining ore distribution map.
- // Todo: Forest generation.
- return 1
-
-// For making the 6-in-1 holomap, we calculate some offsets
-#define SOUTHERN_CROSS_MAP_SIZE 160 // Width and height of compiled in Southern Cross z levels.
-#define SOUTHERN_CROSS_HOLOMAP_CENTER_GUTTER 40 // 40px central gutter between columns
-#define SOUTHERN_CROSS_HOLOMAP_MARGIN_X ((HOLOMAP_ICON_SIZE - (2*SOUTHERN_CROSS_MAP_SIZE) - SOUTHERN_CROSS_HOLOMAP_CENTER_GUTTER) / 2) // 100
-#define SOUTHERN_CROSS_HOLOMAP_MARGIN_Y ((HOLOMAP_ICON_SIZE - (3*SOUTHERN_CROSS_MAP_SIZE)) / 2) // 60
-
-/datum/map_z_level/southern_cross/station
- flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES
- holomap_legend_x = 220
- holomap_legend_y = 160
-
-/datum/map_z_level/southern_cross/station/station_one
- z = Z_LEVEL_STATION_ONE
- name = "Deck 1"
- base_turf = /turf/space
- transit_chance = 6
- holomap_offset_x = SOUTHERN_CROSS_HOLOMAP_MARGIN_X - 40
- holomap_offset_y = SOUTHERN_CROSS_HOLOMAP_MARGIN_Y + SOUTHERN_CROSS_MAP_SIZE*0
-
-/datum/map_z_level/southern_cross/station/station_two
- z = Z_LEVEL_STATION_TWO
- name = "Deck 2"
- base_turf = /turf/simulated/open
- transit_chance = 6
- holomap_offset_x = SOUTHERN_CROSS_HOLOMAP_MARGIN_X - 40
- holomap_offset_y = SOUTHERN_CROSS_HOLOMAP_MARGIN_Y + SOUTHERN_CROSS_MAP_SIZE*1
-
-/datum/map_z_level/southern_cross/station/station_three
- z = Z_LEVEL_STATION_THREE
- name = "Deck 3"
- base_turf = /turf/simulated/open
- transit_chance = 6
- holomap_offset_x = HOLOMAP_ICON_SIZE - SOUTHERN_CROSS_HOLOMAP_MARGIN_X - SOUTHERN_CROSS_MAP_SIZE - 40
- holomap_offset_y = SOUTHERN_CROSS_HOLOMAP_MARGIN_Y + SOUTHERN_CROSS_MAP_SIZE*1
-
-/datum/map_z_level/southern_cross/empty_space
- z = Z_LEVEL_EMPTY_SPACE
- name = "Empty"
- flags = MAP_LEVEL_PLAYER
- transit_chance = 76
-
-/datum/map_z_level/southern_cross/surface
- z = Z_LEVEL_SURFACE
- name = "Plains"
- flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED
- base_turf = /turf/simulated/floor/outdoors/rocks
-
-/datum/map_z_level/southern_cross/surface_mine
- z = Z_LEVEL_SURFACE_MINE
- name = "Mountains"
- flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED
- base_turf = /turf/simulated/floor/outdoors/rocks
-
-/datum/map_z_level/southern_cross/surface_wild
- z = Z_LEVEL_SURFACE_WILD
- name = "Wilderness"
- flags = MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED
- base_turf = /turf/simulated/floor/outdoors/rocks
-
-/datum/map_z_level/southern_cross/misc
- z = Z_LEVEL_MISC
- name = "Misc"
- flags = MAP_LEVEL_PLAYER
- transit_chance = 6
-
-/datum/map_z_level/southern_cross/centcom
- z = Z_LEVEL_CENTCOM
- name = "Centcom"
- flags = MAP_LEVEL_ADMIN|MAP_LEVEL_CONTACT
-
-/datum/map_z_level/southern_cross/transit
- z = Z_LEVEL_TRANSIT
- name = "Transit"
- flags = MAP_LEVEL_ADMIN|MAP_LEVEL_SEALED|MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT
-
-//Teleport to Mine
-
-/obj/effect/step_trigger/teleporter/mine/to_mining/New()
- ..()
- teleport_x = src.x
- teleport_y = 2
- teleport_z = Z_LEVEL_SURFACE_MINE
-
-/obj/effect/step_trigger/teleporter/mine/from_mining/New()
- ..()
- teleport_x = src.x
- teleport_y = world.maxy - 1
- teleport_z = Z_LEVEL_SURFACE
-
-//Teleport to Wild
-
-/obj/effect/step_trigger/teleporter/wild/to_wild/New()
- ..()
- teleport_x = src.x
- teleport_y = 2
- teleport_z = Z_LEVEL_SURFACE_WILD
-
-/obj/effect/step_trigger/teleporter/wild/from_wild/New()
- ..()
- teleport_x = src.x
- teleport_y = world.maxy - 1
- teleport_z = Z_LEVEL_SURFACE_MINE
-
-/datum/planet/sif
- expected_z_levels = list(
- Z_LEVEL_SURFACE,
- Z_LEVEL_SURFACE_MINE,
- Z_LEVEL_SURFACE_WILD,
- Z_LEVEL_TRANSIT
- )
-
-/obj/effect/step_trigger/teleporter/bridge/east_to_west/Initialize()
- teleport_x = src.x - 4
- teleport_y = src.y
- teleport_z = src.z
- return ..()
-
-/obj/effect/step_trigger/teleporter/bridge/east_to_west/small/Initialize()
- teleport_x = src.x - 3
- teleport_y = src.y
- teleport_z = src.z
- return ..()
-
-/obj/effect/step_trigger/teleporter/bridge/west_to_east/Initialize()
- teleport_x = src.x + 4
- teleport_y = src.y
- teleport_z = src.z
- return ..()
-
-/obj/effect/step_trigger/teleporter/bridge/west_to_east/small/Initialize()
- teleport_x = src.x + 3
- teleport_y = src.y
- teleport_z = src.z
- return ..()
-
-/obj/effect/step_trigger/teleporter/bridge/north_to_south/Initialize()
- teleport_x = src.x
- teleport_y = src.y - 4
- teleport_z = src.z
- return ..()
-
-/obj/effect/step_trigger/teleporter/bridge/south_to_north/Initialize()
- teleport_x = src.x
- teleport_y = src.y + 4
- teleport_z = src.z
- return ..()
-
-/datum/planet/sif
- expected_z_levels = list(
- Z_LEVEL_SURFACE,
- Z_LEVEL_SURFACE_MINE,
- Z_LEVEL_SURFACE_WILD
- )
-
-//Suit Storage Units
-
-/obj/machinery/suit_cycler/exploration
- name = "Explorer suit cycler"
- model_text = "Exploration"
- req_one_access = list(access_pilot,access_explorer)
-
-/obj/machinery/suit_cycler/pilot
- name = "Pilot suit cycler"
- model_text = "Pilot"
- req_access = null
- req_one_access = list(access_pilot,access_explorer)
\ No newline at end of file
diff --git a/maps/southern_cross/structures/closets/engineering.dm b/maps/southern_cross/structures/closets/engineering.dm
index c687de41574..a7d1c279fe1 100644
--- a/maps/southern_cross/structures/closets/engineering.dm
+++ b/maps/southern_cross/structures/closets/engineering.dm
@@ -27,7 +27,7 @@
/obj/item/barrier_tape_roll/engineering,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering)
-/obj/structure/closet/secure_closet/engineering_chief_wardrobe/Initialize()
+/obj/structure/closet/secure_closet/engineering_chief_wardrobe/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/industrial
else
diff --git a/maps/southern_cross/structures/closets/medical.dm b/maps/southern_cross/structures/closets/medical.dm
index 6d1dfa227d0..9ebd9869826 100644
--- a/maps/southern_cross/structures/closets/medical.dm
+++ b/maps/southern_cross/structures/closets/medical.dm
@@ -25,7 +25,7 @@
/obj/item/clothing/suit/storage/hooded/wintercoat/medical,
/obj/item/clothing/shoes/white)
-/obj/structure/closet/secure_closet/CMO_wardrobe/Initialize()
+/obj/structure/closet/secure_closet/CMO_wardrobe/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/medic
else
diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm
index c11e40668a3..ac1e34a6d67 100644
--- a/maps/southern_cross/structures/closets/misc.dm
+++ b/maps/southern_cross/structures/closets/misc.dm
@@ -16,7 +16,7 @@
/obj/item/ammo_magazine/clip/c762/hunter = 9,
/obj/item/gun/projectile/shotgun/pump/rifle = 2)
-/obj/structure/closet/secure_closet/guncabinet/rifle/Initialize()
+/obj/structure/closet/secure_closet/guncabinet/rifle/Initialize(mapload)
if(prob(85))
starts_with += /obj/item/gun/projectile/shotgun/pump/rifle
else
@@ -55,7 +55,7 @@
/obj/item/cataloguer
)
-/obj/structure/closet/secure_closet/explorer/Initialize()
+/obj/structure/closet/secure_closet/explorer/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack
else
@@ -131,7 +131,7 @@
/obj/item/cell/device,
/obj/item/radio)
-/obj/structure/closet/secure_closet/pilot/Initialize()
+/obj/structure/closet/secure_closet/pilot/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack
else
diff --git a/maps/southern_cross/structures/closets/misc_vr.dm b/maps/southern_cross/structures/closets/misc_vr.dm
index 334423baa66..3f85a6c2dc1 100644
--- a/maps/southern_cross/structures/closets/misc_vr.dm
+++ b/maps/southern_cross/structures/closets/misc_vr.dm
@@ -131,7 +131,7 @@
/obj/item/reagent_containers/food/snacks/liquidprotein,
/obj/item/cataloguer/compact/pathfinder)
-/obj/structure/closet/secure_closet/pathfinder/Initialize()
+/obj/structure/closet/secure_closet/pathfinder/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack
else
diff --git a/maps/southern_cross/structures/closets/security.dm b/maps/southern_cross/structures/closets/security.dm
index ad9003aa571..beeb157ea9f 100644
--- a/maps/southern_cross/structures/closets/security.dm
+++ b/maps/southern_cross/structures/closets/security.dm
@@ -27,7 +27,7 @@
/obj/item/clothing/head/beret/sec/corporate/hos,
/obj/item/clothing/mask/gas/half)
-/obj/structure/closet/secure_closet/hos_wardrobe/Initialize()
+/obj/structure/closet/secure_closet/hos_wardrobe/Initialize(mapload)
if(prob(50))
starts_with += /obj/item/storage/backpack/security
else
diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm
index afbe03a3b37..ccfe76a65b0 100644
--- a/maps/tether/submaps/_tether_submaps.dm
+++ b/maps/tether/submaps/_tether_submaps.dm
@@ -282,7 +282,7 @@
/obj/effect/step_trigger/zlevel_fall //Don't ever use this, only use subtypes.Define a new var/static/target_z on each
affect_ghosts = 1
-/obj/effect/step_trigger/zlevel_fall/Initialize()
+/obj/effect/step_trigger/zlevel_fall/Initialize(mapload)
. = ..()
if(istype(get_turf(src), /turf/simulated/floor))
diff --git a/maps/tether/submaps/alienship/_alienship.dm b/maps/tether/submaps/alienship/_alienship.dm
index 848ecec7c2d..83f60a7931f 100644
--- a/maps/tether/submaps/alienship/_alienship.dm
+++ b/maps/tether/submaps/alienship/_alienship.dm
@@ -27,7 +27,7 @@
var/door_on_mode
var/teleport_on_mode
-/obj/away_mission_init/alienship/Initialize()
+/obj/away_mission_init/alienship/Initialize(mapload)
. = ..()
if(!mission_mode) //WE ARE NUMBER ONE
@@ -105,7 +105,7 @@
// -- Areas -- //
-/area/shuttle/excursion/away_alienship/Initialize()
+/area/shuttle/excursion/away_alienship/Initialize(mapload)
. = ..()
dump_area = locate(/area/tether_away/alienship/equip_dump)
diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm
index 697c99b0c93..4c1de92d184 100644
--- a/maps/tether/submaps/beach/_beach.dm
+++ b/maps/tether/submaps/beach/_beach.dm
@@ -53,7 +53,7 @@
name = "away mission initializer - beachcave"
// In our case, it initializes the ores and random submaps in the beach's cave, then deletes itself
-/obj/away_mission_init/beachcave/Initialize()
+/obj/away_mission_init/beachcave/Initialize(mapload)
// Cave submaps are first.
/*seed_submaps(list(z), 50, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/normal)
seed_submaps(list(z), 50, /area/tether_away/cave/unexplored/deep, /datum/map_template/surface/mountains/deep)
diff --git a/maps/tether/submaps/space/_debrisfield.dm b/maps/tether/submaps/space/_debrisfield.dm
index 1fe1b58dd72..07e879f4965 100644
--- a/maps/tether/submaps/space/_debrisfield.dm
+++ b/maps/tether/submaps/space/_debrisfield.dm
@@ -39,7 +39,7 @@
/obj/away_mission_init/debrisfield
name = "away mission initializer - debrisfield"
-/obj/away_mission_init/debrisfield/Initialize()
+/obj/away_mission_init/debrisfield/Initialize(mapload)
return INITIALIZE_HINT_QDEL
//And some special areas, including our shuttle landing spot (must be unique)
diff --git a/maps/tether/submaps/underdark_pois/underdark_things.dm b/maps/tether/submaps/underdark_pois/underdark_things.dm
index bd49a0accfd..14b0e707992 100644
--- a/maps/tether/submaps/underdark_pois/underdark_things.dm
+++ b/maps/tether/submaps/underdark_pois/underdark_things.dm
@@ -282,7 +282,7 @@ VIRGO3B_TURF_CREATE(/turf/simulated/shuttle/floor/voidcraft)
VIRGO3B_TURF_CREATE(/turf/simulated/floor/tiled/kafel_full/yellow)
//Mechbay
-/obj/mecha/working/ripley/abandoned/Initialize()
+/obj/mecha/working/ripley/abandoned/Initialize(mapload)
..()
for(var/obj/item/mecha_parts/mecha_tracking/B in src.contents) //Deletes the beacon so it can't be found easily
qdel(B)
diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm
index e8a1c180292..d1988a7b5b1 100644
--- a/maps/tether/tether_phoronlock.dm
+++ b/maps/tether/tether_phoronlock.dm
@@ -50,7 +50,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior
var/frequency = 0
var/datum/radio_frequency/radio_connection
-/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/Initialize()
+/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/Initialize(mapload)
. = ..()
if(frequency)
set_frequency(frequency)
@@ -119,7 +119,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior
/obj/machinery/embedded_controller/radio/airlock/phoron
var/tag_scrubber
-/obj/machinery/embedded_controller/radio/airlock/phoron/Initialize()
+/obj/machinery/embedded_controller/radio/airlock/phoron/Initialize(mapload)
. = ..()
program = new/datum/computer/file/embedded_program/airlock/phoron(src)
diff --git a/maps/tether/tether_telecomms.dm b/maps/tether/tether_telecomms.dm
index cc0782002a3..c974d773d76 100644
--- a/maps/tether/tether_telecomms.dm
+++ b/maps/tether/tether_telecomms.dm
@@ -152,6 +152,6 @@
name = "pre-linked multitool (tether hub)"
desc = "This multitool has already been linked to the Tether telecomms hub and can be used to configure one (1) relay."
-/obj/item/multitool/tether_buffered/Initialize()
+/obj/item/multitool/tether_buffered/Initialize(mapload)
. = ..()
buffer = locate(/obj/machinery/telecomms/hub/preset/tether)
diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm
index d601933d6a6..4e0c47e9bc5 100644
--- a/maps/tether/tether_things.dm
+++ b/maps/tether/tether_things.dm
@@ -80,7 +80,7 @@
icon = 'icons/obj/stairs.dmi'
icon_state = "stairs"
invisibility = 0
-/obj/effect/step_trigger/teleporter/to_underdark/Initialize()
+/obj/effect/step_trigger/teleporter/to_underdark/Initialize(mapload)
. = ..()
teleport_x = x
teleport_y = y
@@ -93,7 +93,7 @@
icon = 'icons/obj/stairs.dmi'
icon_state = "stairs"
invisibility = 0
-/obj/effect/step_trigger/teleporter/from_underdark/Initialize()
+/obj/effect/step_trigger/teleporter/from_underdark/Initialize(mapload)
. = ..()
teleport_x = x
teleport_y = y
@@ -159,7 +159,7 @@
var/area/shock_area = /area/tether/surfacebase/tram
-/turf/simulated/floor/maglev/Initialize()
+/turf/simulated/floor/maglev/Initialize(mapload)
. = ..()
shock_area = locate(shock_area)
@@ -202,7 +202,7 @@
/obj/machinery/smartfridge/chemistry/chemvator/down
name = "\improper Smart Chemavator - Lower"
-/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize()
+/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize(mapload)
. = ..()
var/obj/machinery/smartfridge/chemistry/chemvator/above = locate(/obj/machinery/smartfridge/chemistry/chemvator,get_zstep(src,UP))
if(istype(above))
diff --git a/maps/tether/tether_turfs.dm b/maps/tether/tether_turfs.dm
index 5e7841549f1..23cbcfc0aba 100644
--- a/maps/tether/tether_turfs.dm
+++ b/maps/tether/tether_turfs.dm
@@ -159,7 +159,7 @@
name = "bluespace"
icon = 'icons/turf/space_vr.dmi'
icon_state = "bluespace"
-/turf/space/bluespace/Initialize()
+/turf/space/bluespace/Initialize(mapload)
..()
icon = 'icons/turf/space_vr.dmi'
icon_state = "bluespace"
@@ -169,7 +169,7 @@
name = "sand transit"
icon = 'icons/turf/transit_vr.dmi'
icon_state = "desert_ns"
-/turf/space/sandyscroll/Initialize()
+/turf/space/sandyscroll/Initialize(mapload)
..()
icon_state = "desert_ns"
@@ -178,7 +178,7 @@
/turf/simulated/sky/virgo3b
color = "#FFBBBB"
-/turf/simulated/sky/virgo3b/Initialize()
+/turf/simulated/sky/virgo3b/Initialize(mapload)
SSplanets.addTurf(src)
set_light(2, 2, "#FFBBBB")
diff --git a/modular_citadel/code/game/objects/items/devices/radio/spy_bug.dm b/modular_citadel/code/game/objects/items/devices/radio/spy_bug.dm
index fbe5c561522..e69de29bb2d 100644
--- a/modular_citadel/code/game/objects/items/devices/radio/spy_bug.dm
+++ b/modular_citadel/code/game/objects/items/devices/radio/spy_bug.dm
@@ -1,57 +0,0 @@
-/obj/item/camerabug
- var/obj/item/radio/radio
-
-/obj/item/camerabug/Destroy()
- . = ..()
- listening_objects -= src
- qdel(src.radio)
- radio = null
-
-/obj/item/camerabug/Initialize()
- . = ..()
- listening_objects += src
- radio = new(src)
- radio.broadcasting = 0
- radio.listening = 0
- radio.canhear_range = 6
- radio.icon = src.icon
- radio.icon_state = src.icon_state
- update_icon()
-
-/obj/item/camerabug/reset()
- . = ..()
- radio.broadcasting = 0
-
-/obj/item/camerabug/attackby(obj/item/W as obj, mob/living/user as mob)
- . = ..()
- if(istype(W, /obj/item/bug_monitor))
- var/obj/item/bug_monitor/SM = W
- if(!linkedmonitor)
- radio.broadcasting = 0
- else if (linkedmonitor == SM)
- radio.broadcasting = 1
- radio.set_frequency(SM.radio.frequency)
-
-/obj/item/bug_monitor
- var/obj/item/radio/radio
- var/global/list/freqblacklist
-
-/obj/item/bug_monitor/Initialize(mapload)
- . = ..()
- listening_objects += src
- if(!freqblacklist)
- for (var/chan in radiochannels)
- freqblacklist |= radiochannels[chan]
- radio = new(src)
- radio.broadcasting = 0
- radio.listening = 1
- radio.canhear_range = 0
- do
- radio.set_frequency( rand(RADIO_LOW_FREQ, RADIO_HIGH_FREQ) )
- while (radio.frequency in freqblacklist || (radio.frequency % 2 == 0))
-
-/obj/item/bug_monitor/Destroy()
- . = ..()
- listening_objects -= src
- qdel(src.radio)
- radio = null
\ No newline at end of file
diff --git a/modular_citadel/code/modules/shadekin/shadekin.dm b/modular_citadel/code/modules/shadekin/shadekin.dm
index 50a6b8a92af..b5ee568d869 100644
--- a/modular_citadel/code/modules/shadekin/shadekin.dm
+++ b/modular_citadel/code/modules/shadekin/shadekin.dm
@@ -94,7 +94,7 @@
var/list/shadekin_abilities
-/mob/living/simple_animal/shadekin/Initialize()
+/mob/living/simple_animal/shadekin/Initialize(mapload)
//You spawned the prototype, and want a totally random one.
if(type == /mob/living/simple_animal/shadekin)