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 += "" - dat += "
[P.name]
" - 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)