From 1dfd8a941f402babed4664369a9a9e01f3c7ccf8 Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+MemedHams@users.noreply.github.com> Date: Thu, 13 Jul 2023 14:12:46 -0400 Subject: [PATCH 1/8] update_appearance, signals, & world_icons -still some bugs but let's get to the vsc mass-replace before fully working it through --- code/__DEFINES/dcs/signals.dm | 17 +- code/_onclick/hud/action_button.dm | 6 +- code/_onclick/hud/families.dm | 5 +- code/_onclick/hud/robot.dm | 9 +- code/_onclick/hud/screen_objects.dm | 35 ++-- code/datums/components/twohanded.dm | 14 +- code/datums/elements/world_icon.dm | 123 +++++++++++ code/datums/martial/sleeping_carp.dm | 6 +- code/game/area/areas.dm | 2 + code/game/atoms.dm | 23 ++- code/game/atoms_movable.dm | 4 +- .../game/gamemodes/clown_ops/bananium_bomb.dm | 12 +- code/game/gamemodes/events.dm | 2 +- code/game/machinery/PDApainter.dm | 12 +- code/game/machinery/Sleeper.dm | 9 +- code/game/machinery/ai_slipper.dm | 10 +- code/game/machinery/airlock_control.dm | 14 +- code/game/machinery/airlock_cycle_control.dm | 9 +- code/game/machinery/announcement_system.dm | 7 +- code/game/machinery/aug_manipulator.dm | 17 +- code/game/machinery/buttons.dm | 10 +- code/game/machinery/camera/camera.dm | 13 +- code/game/machinery/camera/camera_assembly.dm | 1 + code/game/machinery/computer/_computer.dm | 2 - code/game/machinery/computer/aifixer.dm | 14 +- code/game/machinery/computer/atmos_alert.dm | 3 +- code/game/machinery/computer/atmos_control.dm | 1 + code/game/machinery/computer/camera.dm | 1 + code/game/machinery/dance_machine.dm | 6 +- code/game/machinery/dna_scanner.dm | 16 +- code/game/machinery/doors/airlock.dm | 101 ++++----- code/game/machinery/doors/brigdoors.dm | 2 +- code/game/machinery/doors/door.dm | 7 +- code/game/machinery/doors/firedoor.dm | 17 +- code/game/machinery/doors/passworddoor.dm | 6 +- code/game/machinery/doors/poddoor.dm | 6 +- code/game/machinery/doors/windowdoor.dm | 6 +- code/game/machinery/doppler_array.dm | 11 +- code/game/machinery/droneDispenser.dm | 3 + .../embedded_controller/access_controller.dm | 20 +- .../embedded_controller/airlock_controller.dm | 11 +- .../simple_vent_controller.dm | 7 +- code/game/machinery/firealarm.dm | 7 +- code/game/machinery/flasher.dm | 17 +- code/game/machinery/gulag_teleporter.dm | 9 +- code/game/machinery/harvester.dm | 18 +- code/game/machinery/hologram.dm | 11 +- code/game/machinery/hypnochair.dm | 11 +- code/game/machinery/igniter.dm | 17 +- code/game/machinery/iv_drip.dm | 13 +- code/game/machinery/lightswitch.dm | 26 ++- code/game/machinery/medical_kiosk.dm | 69 ++++--- code/game/machinery/navbeacon.dm | 4 +- code/game/machinery/newscaster.dm | 15 +- .../machinery/porta_turret/portable_turret.dm | 55 ++--- .../porta_turret/portable_turret_cover.dm | 12 +- code/game/machinery/prisonlabor.dm | 14 +- code/game/machinery/recharger.dm | 32 +-- code/game/machinery/rechargestation.dm | 12 +- code/game/machinery/recycler.dm | 2 +- code/game/machinery/requests_console.dm | 43 ++-- code/game/machinery/roulette_machine.dm | 11 +- code/game/machinery/sheetifier.dm | 1 + code/game/machinery/shieldgen.dm | 7 +- code/game/machinery/shuttle/shuttle_engine.dm | 3 + code/game/machinery/slotmachine.dm | 20 +- code/game/machinery/spaceheater.dm | 9 +- code/game/machinery/stasis.dm | 39 ++-- code/game/machinery/syndicatebomb.dm | 1 + .../telecomms/machines/message_server.dm | 9 +- .../machinery/telecomms/telecomunications.dm | 12 +- code/game/machinery/teleporter.dm | 27 +-- code/game/machinery/transformer.dm | 1 + code/game/machinery/washing_machine.dm | 11 +- code/game/mecha/mech_bay.dm | 6 +- code/game/mecha/mecha.dm | 2 + .../effects/decals/cleanable/humans.dm | 10 +- .../temporary_visuals/miscellaneous.dm | 14 +- code/game/objects/items.dm | 7 +- code/game/objects/items/RCD.dm | 1 + code/game/objects/items/RCL.dm | 6 +- code/game/objects/items/broom.dm | 6 +- code/game/objects/items/candle.dm | 2 + code/game/objects/items/cash.dm | 5 + code/game/objects/items/chrono_eraser.dm | 3 +- code/game/objects/items/cigs_lighters.dm | 1 + code/game/objects/items/crayons.dm | 1 + code/game/objects/items/credit_holochip.dm | 45 ++-- code/game/objects/items/defib.dm | 1 + code/game/objects/items/devices/aicard.dm | 4 +- code/game/objects/items/devices/flashlight.dm | 32 +-- .../objects/items/devices/geiger_counter.dm | 33 +-- .../objects/items/devices/lightreplacer.dm | 1 + .../items/devices/portable_chem_mixer.dm | 14 +- code/game/objects/items/devices/powersink.dm | 1 + .../objects/items/devices/quantum_keycard.dm | 6 +- .../objects/items/devices/radio/intercom.dm | 9 +- code/game/objects/items/devices/swapper.dm | 6 +- .../objects/items/devices/taperecorder.dm | 11 +- .../objects/items/devices/transfer_valve.dm | 38 ++-- code/game/objects/items/dualsaber.dm | 6 +- code/game/objects/items/energyhalberd.dm | 2 + code/game/objects/items/etherealdiscoball.dm | 1 + code/game/objects/items/fireaxe.dm | 11 +- code/game/objects/items/flamethrower.dm | 2 + code/game/objects/items/handcuffs.dm | 1 + code/game/objects/items/hot_potato.dm | 3 +- code/game/objects/items/hourglass.dm | 6 +- .../objects/items/implants/implantcase.dm | 6 +- .../objects/items/implants/implantchair.dm | 1 + code/game/objects/items/implants/implanter.dm | 6 +- .../game/objects/items/implants/implantpad.dm | 1 + code/game/objects/items/inducer.dm | 8 +- code/game/objects/items/melee/misc.dm | 1 + code/game/objects/items/pet_carrier.dm | 5 +- code/game/objects/items/pitchfork.dm | 6 +- code/game/objects/items/plushes.dm | 19 +- code/game/objects/items/puzzle_pieces.dm | 2 + code/game/objects/items/robot/robot_items.dm | 15 +- .../objects/items/robot/robot_upgrades.dm | 1 + code/game/objects/items/sharpener.dm | 2 +- code/game/objects/items/shields.dm | 1 + code/game/objects/items/singularityhammer.dm | 12 +- code/game/objects/items/spear.dm | 30 ++- .../objects/items/stacks/license_plates.dm | 8 +- code/game/objects/items/stacks/medical.dm | 10 +- code/game/objects/items/stacks/rods.dm | 1 + code/game/objects/items/stacks/stack.dm | 10 +- code/game/objects/items/stacks/tickets.dm | 1 + code/game/objects/items/storage/bags.dm | 1 + code/game/objects/items/storage/belt.dm | 9 +- code/game/objects/items/storage/boxes.dm | 1 + code/game/objects/items/storage/fancy.dm | 194 ++++++++++-------- code/game/objects/items/storage/lockbox.dm | 14 +- code/game/objects/items/storage/sixpack.dm | 1 + code/game/objects/items/storage/wallets.dm | 9 +- code/game/objects/items/stunbaton.dm | 17 +- code/game/objects/items/theft_tools.dm | 1 + code/game/objects/items/tools/weldingtool.dm | 2 +- code/game/objects/items/tools/wrench.dm | 1 + code/game/objects/items/toys.dm | 6 +- code/game/objects/items/weaponry.dm | 6 +- code/game/objects/structures/ai_core.dm | 1 + code/game/objects/structures/artstuff.dm | 17 +- code/game/objects/structures/bedsheet_bin.dm | 1 + .../structures/crates_lockers/closets.dm | 48 ++--- .../structures/crates_lockers/crates.dm | 1 + .../structures/crates_lockers/crates/bins.dm | 7 +- .../crates_lockers/crates/critter.dm | 10 +- .../crates_lockers/crates/secure.dm | 7 +- code/game/objects/structures/displaycase.dm | 4 +- code/game/objects/structures/divine.dm | 3 +- code/game/objects/structures/door_assembly.dm | 7 +- code/game/objects/structures/false_walls.dm | 27 +-- code/game/objects/structures/fireaxe.dm | 36 ++-- code/game/objects/structures/fireplace.dm | 27 +-- code/game/objects/structures/grille.dm | 12 +- code/game/objects/structures/guncase.dm | 5 +- code/game/objects/structures/headpike.dm | 20 +- code/game/objects/structures/ladders.dm | 11 +- code/game/objects/structures/life_candle.dm | 6 +- code/game/objects/structures/mineral_doors.dm | 1 + code/game/objects/structures/morgue.dm | 83 ++++---- code/game/objects/structures/safe.dm | 6 +- code/game/objects/structures/stairs.dm | 6 +- code/game/objects/structures/tables_racks.dm | 1 + .../transit_tubes/transit_tube_pod.dm | 6 +- code/game/objects/structures/votingbox.dm | 1 + code/game/objects/structures/watercloset.dm | 23 ++- .../objects/structures/windoor_assembly.dm | 1 + code/game/objects/structures/window.dm | 45 ++-- code/game/turfs/closed/wall/reinf_walls.dm | 5 + code/game/turfs/open/floor/light_floor.dm | 54 +++-- code/game/turfs/open/floor/mineral_floor.dm | 10 +- code/game/turfs/open/floor/misc_floor.dm | 22 +- code/game/turfs/open/floor/plasteel_floor.dm | 3 +- code/game/turfs/open/space/transit.dm | 1 + code/modules/NTNet/relays.dm | 6 +- .../abductor/equipment/abduction_gear.dm | 2 + .../abductor/machinery/experiment.dm | 6 +- .../antagonists/blob/structures/_blob.dm | 28 ++- .../antagonists/blob/structures/core.dm | 25 ++- .../antagonists/blob/structures/node.dm | 9 +- .../antagonists/blob/structures/shield.dm | 30 +-- code/modules/antagonists/cult/cult_items.dm | 7 +- .../antagonists/cult/cult_structures.dm | 1 + .../nukeop/equipment/nuclearbomb.dm | 3 +- code/modules/assembly/assembly.dm | 8 +- code/modules/assembly/bomb.dm | 9 +- code/modules/assembly/flash.dm | 29 ++- code/modules/assembly/holder.dm | 40 ++-- code/modules/assembly/infrared.dm | 25 +-- code/modules/assembly/mousetrap.dm | 14 +- code/modules/assembly/proximity.dm | 15 +- code/modules/assembly/signaler.dm | 7 +- code/modules/assembly/timer.dm | 12 +- .../atmospherics/machinery/airalarm.dm | 2 +- .../machinery/components/components_base.dm | 3 +- .../components/trinary_devices/filter.dm | 15 +- .../components/trinary_devices/mixer.dm | 16 +- .../components/unary_devices/cryo.dm | 2 +- .../unary_devices/heat_exchanger.dm | 8 +- .../components/unary_devices/thermomachine.dm | 15 +- .../atmospherics/machinery/other/miner.dm | 4 +- .../machinery/pipes/heat_exchange/junction.dm | 4 +- .../machinery/pipes/heat_exchange/manifold.dm | 10 +- .../pipes/heat_exchange/manifold4w.dm | 10 +- .../machinery/pipes/heat_exchange/simple.dm | 4 +- .../machinery/pipes/layermanifold.dm | 29 +-- .../atmospherics/machinery/pipes/manifold.dm | 11 +- .../machinery/pipes/manifold4w.dm | 8 +- .../atmospherics/machinery/pipes/pipes.dm | 4 + .../atmospherics/machinery/pipes/simple.dm | 4 +- .../machinery/portable/canister.dm | 1 + .../atmospherics/machinery/portable/pump.dm | 1 + .../machinery/portable/scrubber.dm | 2 + code/modules/atmospherics/multiz.dm | 8 +- .../awaymissions/mission_code/challenge.dm | 1 + code/modules/buildmode/buttons.dm | 2 + code/modules/cargo/gondolapod.dm | 1 + code/modules/cargo/supplypod_beacon.dm | 9 +- code/modules/client/preferences_toggles.dm | 2 +- code/modules/clothing/clothing.dm | 23 ++- code/modules/clothing/glasses/_glasses.dm | 5 +- .../clothing/glasses/engine_goggles.dm | 1 + code/modules/clothing/head/hardhat.dm | 1 + code/modules/clothing/head/misc_special.dm | 2 + code/modules/clothing/shoes/bananashoes.dm | 1 + code/modules/clothing/spacesuits/hardsuit.dm | 3 + code/modules/flufftext/Hallucination.dm | 1 + .../food_and_drinks/drinks/drinks/bottle.dm | 1 + .../modules/food_and_drinks/food/condiment.dm | 2 +- .../food_and_drinks/food/customizables.dm | 1 + .../food_and_drinks/food/snacks_frozen.dm | 6 +- .../food_and_drinks/food/snacks_pastry.dm | 21 +- .../kitchen_machinery/grill.dm | 3 +- .../kitchen_machinery/microwave.dm | 6 + .../kitchen_machinery/smartfridge.dm | 4 +- code/modules/food_and_drinks/pizzabox.dm | 1 + code/modules/games/cas.dm | 2 + code/modules/holodeck/items.dm | 1 + code/modules/hydroponics/biogenerator.dm | 1 + code/modules/hydroponics/fermenting_barrel.dm | 1 + code/modules/hydroponics/gene_modder.dm | 1 + code/modules/hydroponics/hydroponics.dm | 2 +- code/modules/library/lib_items.dm | 4 +- .../mining/equipment/kinetic_crusher.dm | 3 + .../mining/equipment/marker_beacons.dm | 2 + .../mining/equipment/regenerative_core.dm | 2 + code/modules/mining/lavaland/ash_flora.dm | 1 + .../mining/lavaland/necropolis_chests.dm | 4 +- code/modules/mining/machine_bluespaceminer.dm | 1 + code/modules/mining/machine_redemption.dm | 1 + code/modules/mob/living/brain/MMI.dm | 1 + code/modules/mob/living/brain/posibrain.dm | 1 + .../carbon/alien/humanoid/alien_powers.dm | 1 + .../carbon/alien/utilities/structures.dm | 1 + .../mob/living/carbon/hologram/em_holopads.dm | 1 + .../mob/living/simple_animal/bot/bot.dm | 1 + .../mob/living/simple_animal/bot/firebot.dm | 2 +- .../mob/living/simple_animal/bot/floorbot.dm | 2 +- .../mob/living/simple_animal/bot/medbot.dm | 1 + .../mob/living/simple_animal/bot/mulebot.dm | 1 + .../simple_animal/hostile/giant_spider.dm | 1 + .../computers/item/computer.dm | 1 + .../computers/item/tablet.dm | 1 + .../computers/machinery/modular_computer.dm | 1 + code/modules/paperwork/carbonpaper.dm | 1 + code/modules/paperwork/paper_cutter.dm | 1 + code/modules/paperwork/paperbin.dm | 1 + code/modules/paperwork/pen.dm | 1 + code/modules/paperwork/ticketmachine.dm | 1 + code/modules/photography/photos/photo.dm | 1 + code/modules/plumbing/ducts.dm | 1 + code/modules/plumbing/plumbers/acclimator.dm | 1 + code/modules/plumbing/plumbers/pumps.dm | 1 + code/modules/power/apc.dm | 7 +- code/modules/power/cable.dm | 3 +- code/modules/power/cell.dm | 1 + code/modules/power/generator.dm | 1 + code/modules/power/gravitygenerator.dm | 1 + code/modules/power/lighting.dm | 1 + code/modules/power/port_gen.dm | 1 + code/modules/power/singularity/emitter.dm | 1 + .../particle_accelerator.dm | 1 + .../particle_accelerator/particle_control.dm | 1 + .../projectiles/ammunition/_ammunition.dm | 1 + .../ammunition/ballistic/shotgun.dm | 1 + .../ammunition/caseless/_caseless.dm | 2 +- .../boxes_magazines/_box_magazine.dm | 1 + .../boxes_magazines/external/rechargable.dm | 1 + code/modules/projectiles/guns/ballistic.dm | 1 + code/modules/projectiles/guns/energy.dm | 3 +- .../projectiles/guns/energy/dueling.dm | 18 +- .../projectiles/guns/energy/energy_gun.dm | 16 +- .../projectiles/guns/energy/laser_gatling.dm | 6 +- .../projectiles/guns/energy/special.dm | 4 +- code/modules/projectiles/guns/magic/wand.dm | 11 +- .../projectiles/guns/misc/blastcannon.dm | 8 +- code/modules/projectiles/guns/misc/bow.dm | 7 +- .../projectile/reusable/foam_dart.dm | 2 + .../projectiles/projectile/special/curse.dm | 1 + .../chemistry/machinery/chem_dispenser.dm | 10 +- .../chemistry/machinery/chem_heater.dm | 7 +- .../chemistry/machinery/chem_master.dm | 7 +- .../chemistry/machinery/chem_synthesizer.dm | 1 + .../reagents/chemistry/machinery/pandemic.dm | 7 +- .../chemistry/machinery/reagentgrinder.dm | 7 +- .../chemistry/machinery/smoke_machine.dm | 11 +- code/modules/reagents/reagent_containers.dm | 28 +-- .../reagents/reagent_containers/blood_pack.dm | 7 +- .../reagents/reagent_containers/dropper.dm | 9 +- .../reagents/reagent_containers/hypospray.dm | 37 ++-- .../reagents/reagent_containers/hypovial.dm | 2 + .../reagents/reagent_containers/maunamug.dm | 31 +-- .../reagents/reagent_containers/syringes.dm | 10 +- code/modules/recycling/conveyor2.dm | 28 ++- code/modules/recycling/disposal/bin.dm | 11 +- .../recycling/disposal/construction.dm | 28 +-- code/modules/research/bepis.dm | 22 +- code/modules/research/destructive_analyzer.dm | 7 +- code/modules/research/experimentor.dm | 6 +- .../research/nanites/nanite_chamber.dm | 30 +-- .../research/nanites/public_chamber.dm | 1 + .../security_levels/keycard_authentication.dm | 4 +- code/modules/shuttle/special.dm | 7 +- code/modules/spells/spell_types/aimed.dm | 2 + .../spells/spell_types/pointed/pointed.dm | 7 +- code/modules/station_goals/shield.dm | 4 +- code/modules/surgery/organs/appendix.dm | 15 +- code/modules/surgery/organs/augments_arms.dm | 6 +- code/modules/surgery/organs/augments_chest.dm | 7 +- code/modules/surgery/organs/heart.dm | 10 +- code/modules/vending/_vending.dm | 18 +- shiptest.dme | 1 + 335 files changed, 1955 insertions(+), 1480 deletions(-) create mode 100644 code/datums/elements/world_icon.dm diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index de8d485a9383..86e6e5db1973 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -86,11 +86,15 @@ #define COMSIG_ATOM_UPDATE_DESC "atom_update_desc" ///from base of atom/update_icon(): () #define COMSIG_ATOM_UPDATE_ICON "atom_update_icon" - #define COMSIG_ATOM_NO_UPDATE_ICON_STATE (1<<0) - #define COMSIG_ATOM_NO_UPDATE_OVERLAYS (1<<1) -///from base of atom/update_overlays(): (list/new_overlays) + /// If returned from [COMSIG_ATOM_UPDATE_ICON] it prevents the atom from updating its icon state. + #define COMSIG_ATOM_NO_UPDATE_ICON_STATE UPDATE_ICON_STATE + /// If returned from [COMSIG_ATOM_UPDATE_ICON] it prevents the atom from updating its overlays. + #define COMSIG_ATOM_NO_UPDATE_OVERLAYS UPDATE_OVERLAYS +///from base of [atom/update_icon_state]: () +#define COMSIG_ATOM_UPDATE_ICON_STATE "atom_update_icon_state" +///from base of [/atom/update_overlays]: (list/new_overlays) #define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays" -///from base of atom/update_icon(): (signalOut, did_anything) +///from base of [/atom/update_icon]: (signalOut, did_anything) #define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon" ///from base of atom/Entered(): (atom/movable/entering, /atom) #define COMSIG_ATOM_ENTERED "atom_entered" @@ -185,9 +189,9 @@ #define COMSIG_ATOM_SET_OPACITY "atom_set_opacity" //from base of atom/movable/on_enter_storage(): (datum/component/storage/concrete/master_storage) -#define COMISG_STORAGE_ENTERED "storage_entered" +#define COMSIG_STORAGE_ENTERED "storage_entered" //from base of atom/movable/on_exit_storage(): (datum/component/storage/concrete/master_storage) -#define CONSIG_STORAGE_EXITED "storage_exited" +#define COMSIG_STORAGE_EXITED "storage_exited" ///from base of atom/expose_reagents(): #define COMSIG_ATOM_EXPOSE_REAGENTS "atom_expose_reagents" @@ -506,6 +510,7 @@ #define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) #define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) #define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot) +#define COMSIG_MOB_EQUIPPED_ITEM "mob_equipped_item" /// A mob has just equipped an item. Called on [/mob] from base of [/obj/item/equipped()]: (/obj/item/equipped_item, slot) #define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user) #define COMSIG_ITEM_PICKUP "item_pickup" //from base of obj/item/pickup(): (/mob/taker) #define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index e9db5aa7d9d5..53df8c0abbc4 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -155,10 +155,8 @@ /atom/movable/screen/movable/action_button/hide_toggle/update_overlays() . = ..() - if(hidden) - . += show_appearance - else - . += hide_appearance + . += hidden ? show_appearance : hide_appearance + /atom/movable/screen/movable/action_button/MouseEntered(location,control,params) . = ..() diff --git a/code/_onclick/hud/families.dm b/code/_onclick/hud/families.dm index eb4bc2239c6a..96d7fb161f4f 100644 --- a/code/_onclick/hud/families.dm +++ b/code/_onclick/hud/families.dm @@ -3,6 +3,7 @@ desc = "Shows the current level of hostility the space police is planning to rain down on you. Better be careful." icon = 'icons/obj/gang/wanted_160x32.dmi' icon_state = "wanted_0" + base_icon_state = "wanted" screen_loc = ui_wanted_lvl ///Wanted level, affects the hud icon. var/level @@ -24,5 +25,5 @@ closeToolTip(usr) /atom/movable/screen/wanted/update_icon_state() - . = ..() - icon_state = "wanted_[level][cops_arrived ? "_active" : ""]" + icon_state = "[base_icon_state]_[level][cops_arrived ? "_active" : null]" + return ..() diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 5cd8edc36871..049c85073463 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -269,6 +269,7 @@ /atom/movable/screen/robot/lamp name = "headlamp" icon_state = "lamp_off" + base_icon_state = "lamp" var/mob/living/silicon/robot/robot /atom/movable/screen/robot/lamp/Click() @@ -278,11 +279,9 @@ robot?.toggle_headlamp() update_icon() -/atom/movable/screen/robot/lamp/update_icon() - if(robot?.lamp_enabled) - icon_state = "lamp_on" - else - icon_state = "lamp_off" +/atom/movable/screen/robot/lamp/update_icon_state() + icon_state = "[base_icon_state]_[robot?.lamp_enabled ? "on" : "off"]" + return ..() /atom/movable/screen/robot/modPC name = "Modular Interface" diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 26c09f79db29..64a05d2be259 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -165,11 +165,10 @@ if(!icon_empty) icon_empty = icon_state - if(hud?.mymob && slot_id && icon_full) - if(hud.mymob.get_item_by_slot(slot_id)) - icon_state = icon_full - else - icon_state = icon_empty + if(!hud?.mymob || !slot_id || !icon_full) + return ..() + icon_state = hud.mymob.get_item_by_slot(slot_id) ? icon_full : icon_empty + return ..() /atom/movable/screen/inventory/proc/add_overlays() var/mob/user = hud?.mymob @@ -384,6 +383,7 @@ icon_state = "walking" if(MOVE_INTENT_RUN) icon_state = "running" + return ..() /atom/movable/screen/mov_intent/proc/toggle(mob/user) if(isobserver(user)) @@ -394,6 +394,7 @@ name = "stop pulling" icon = 'icons/hud/screen_midnight.dmi' icon_state = "pull" + base_icon_state = "pull" /atom/movable/screen/pull/Click() if(isobserver(usr)) @@ -401,10 +402,8 @@ usr.stop_pulling() /atom/movable/screen/pull/update_icon_state() - if(hud?.mymob?.pulling) - icon_state = "pull" - else - icon_state = "pull0" + icon_state = "[base_icon_state][hud?.mymob?.pulling ? null : 0]" + return ..() /atom/movable/screen/resist name = "resist" @@ -422,6 +421,7 @@ name = "rest" icon = 'icons/hud/screen_midnight.dmi' icon_state = "act_rest" + base_icon_state = "act_rest" layer = HUD_LAYER plane = HUD_PLANE @@ -433,11 +433,9 @@ /atom/movable/screen/rest/update_icon_state() var/mob/living/user = hud?.mymob if(!istype(user)) - return - if(!user.resting) - icon_state = "act_rest" - else - icon_state = "act_rest0" + return ..() + icon_state = "[base_icon_state][user.resting ? 0 : null]" + return ..() /atom/movable/screen/storage name = "storage" @@ -745,14 +743,15 @@ /atom/movable/screen/combo/update_icon_state(streak = "") clear_streak() - if (timerid) + if(timerid) deltimer(timerid) - if (!streak) - return + if(!streak) + return ..() timerid = addtimer(CALLBACK(src, .proc/clear_streak), 20, TIMER_UNIQUE | TIMER_STOPPABLE) icon_state = "combo" - for (var/i = 1; i <= length(streak); ++i) + for(var/i = 1; i <= length(streak); ++i) var/intent_text = copytext(streak, i, i + 1) var/image/intent_icon = image(icon,src,"combo_[intent_text]") intent_icon.pixel_x = 16 * (i - 1) - 8 * length(streak) add_overlay(intent_icon) + return ..() diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index d0f24ff5bf25..a1efb1dc74db 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -251,15 +251,15 @@ * * Updates the icon using icon_wielded if set */ -/datum/component/two_handed/proc/on_update_icon(datum/source) +/datum/component/two_handed/proc/on_update_icon(obj/item/source) SIGNAL_HANDLER - if(icon_wielded && wielded) - var/obj/item/parent_item = parent - if(parent_item) - parent_item.icon_state = icon_wielded - return COMSIG_ATOM_NO_UPDATE_ICON_STATE - + if(!wielded) + return NONE + if(!icon_wielded) + return NONE + source.icon_state = icon_wielded + return COMSIG_ATOM_NO_UPDATE_ICON_STATE /** * on_moved Triggers on item moved */ diff --git a/code/datums/elements/world_icon.dm b/code/datums/elements/world_icon.dm new file mode 100644 index 000000000000..562e979dffb2 --- /dev/null +++ b/code/datums/elements/world_icon.dm @@ -0,0 +1,123 @@ +///////////////////////////////////////////////////////////// +//////////WORLD ICON ELEMENT DIRECTORY ////////// +///////////////////////////////////////////////////////////// +// (BORROWED FROM MOJAVE SUN) (COMMENTS FROM THE MOJAVE) // +// +// Slap onto something to give it a world icon that differs from the inventory one (allows for realistically sized objects and all that) // +// To fix 25/06/2021 : Blood Decals, Mutable Overlays and other baked in bitch ass overlays that need to be remade when the icon changes // +// Fixed 07/05/2022: Now you can deal with the above by handling everything with attached_proc instead +// Fixed 12/04/2023: Icon states, Needs major tuning up by someone who can properly make it work + +/datum/element/world_icon + id_arg_index = 2 + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + /** + * If we want COMPLEX world icon behavior, this proc will handle icon updating when the item is NOT in the inventory. + * I just assumed that the default update_icon is for inventory sprites because ss13 basically focuses on how the sprites + * look on your hand, not how they realistically look in the world. + */ + var/attached_proc + /// Only used if attached_proc doesn't exist, simply changes the icon of target to this when it's in the inventory + var/inventory_icon + /// Only used if attached_proc doesn't exist, simply changes the icon of target to this when it's NOT in the inventory + var/world_icon + /// Only used when inventory state icon is different from original + var/inventory_icon_state + /// Only used when world state icon is different from original, pretty much just the original "icon_state" but if you for some reason need to flip the standard icon states for this element around you can use this + var/world_icon_state + +/datum/element/world_icon/Attach(obj/item/target, attached_proc, world_icon, inventory_icon, world_icon_state, inventory_icon_state) + . = ..() + if(!istype(target)) + return ELEMENT_INCOMPATIBLE + + src.attached_proc = attached_proc + src.world_icon = world_icon + src.world_icon_state = world_icon_state + src.inventory_icon = inventory_icon + src.inventory_icon_state = inventory_icon_state + RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, .proc/update_icon) + RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/update_icon_state) + RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_STORAGE_ENTERED, COMSIG_ITEM_DROPPED, COMSIG_STORAGE_EXITED), .proc/inventory_updated) + target.update_appearance(UPDATE_ICON) + target.update_appearance(UPDATE_ICON_STATE) + +/datum/element/world_icon/Detach(obj/item/source) + . = ..() + UnregisterSignal(source, COMSIG_ATOM_UPDATE_ICON) + UnregisterSignal(source, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/update_icon_state) + UnregisterSignal(source, list(COMSIG_ITEM_EQUIPPED, COMSIG_STORAGE_ENTERED, COMSIG_ITEM_DROPPED, COMSIG_STORAGE_EXITED)) + source.update_appearance(UPDATE_ICON) + source.update_appearance(UPDATE_ICON_STATE) + +/datum/element/world_icon/proc/update_icon(obj/item/source, updates) + SIGNAL_HANDLER + + if((source.item_flags & IN_INVENTORY) || (source.loc && SEND_SIGNAL(source.loc, COMSIG_CONTAINS_STORAGE))) + if(attached_proc) + return + return default_inventory_icon(source) + + if(attached_proc) + return call(source, attached_proc)(updates) + else + return default_world_icon(source) + +/datum/element/world_icon/proc/update_icon_state(obj/item/source, updates) + SIGNAL_HANDLER + + if((source.item_flags & IN_INVENTORY) || (source.loc && SEND_SIGNAL(source.loc, COMSIG_CONTAINS_STORAGE))) + if(attached_proc) + return + return default_inventory_icon_state(source) + + if(attached_proc) + return call(source, attached_proc)(updates) + else + return default_world_icon_state(source) + +/datum/element/world_icon/proc/inventory_updated(obj/item/source) + SIGNAL_HANDLER + + source.update_appearance(UPDATE_ICON) + source.update_appearance(UPDATE_ICON_STATE) + +/datum/element/world_icon/proc/default_inventory_icon(obj/item/source) + SIGNAL_HANDLER + + source.icon = inventory_icon + +/datum/element/world_icon/proc/default_world_icon(obj/item/source) + SIGNAL_HANDLER + + source.icon = world_icon + +/datum/element/world_icon/proc/default_inventory_icon_state(obj/item/source) + SIGNAL_HANDLER + + if(!inventory_icon_state) + source.icon_state = source.icon_state + return + + INVOKE_ASYNC(src, .proc/check_inventory_state, source) + +/datum/element/world_icon/proc/default_world_icon_state(obj/item/source) + SIGNAL_HANDLER + + if(!world_icon_state) + source.icon_state = source.icon_state + return + + INVOKE_ASYNC(src, .proc/check_world_icon_state, source) + +/datum/element/world_icon/proc/check_inventory_state(obj/item/source) + SIGNAL_HANDLER + + inventory_icon_state = source.inventory_state + source.icon_state = inventory_icon_state + +/datum/element/world_icon/proc/check_world_icon_state(obj/item/source) + SIGNAL_HANDLER + + world_icon_state = source.world_state + source.icon_state = world_icon_state diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index bde8aeb753dc..01c7e93ba516 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -181,6 +181,7 @@ attack_verb = list("smashed", "slammed", "whacked", "thwacked") icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bostaff0" + base_icon_state = "bostaff" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' block_chance = 50 @@ -193,7 +194,7 @@ /obj/item/staff/bostaff/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="bostaff1") + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/staff/bostaff/proc/on_wield(obj/item/source, mob/user) @@ -208,7 +209,8 @@ wielded = FALSE /obj/item/staff/bostaff/update_icon_state() - icon_state = "bostaff0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/staff/bostaff/attack(mob/target, mob/living/user) add_fingerprint(user) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 71989b4d0b90..ae64f382949c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -485,11 +485,13 @@ GLOBAL_LIST_EMPTY(teleportlocs) weather_icon = TRUE if(!weather_icon) icon_state = null + return ..() /** * Update the icon of the area (overridden to always be null for space */ /area/space/update_icon_state() + SHOULD_CALL_PARENT(FALSE) icon_state = null diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e0f711640db3..88fd3a3faeb6 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -694,17 +694,20 @@ return SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_DESC, updates) /// Updates the icon of the atom -/atom/proc/update_icon() +/atom/proc/update_icon(updates=ALL) SIGNAL_HANDLER + SHOULD_CALL_PARENT(TRUE) - var/signalOut = SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON) - . = FALSE - - if(!(signalOut & COMSIG_ATOM_NO_UPDATE_ICON_STATE)) + . = NONE + updates &= ~SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON, updates) + if(updates & UPDATE_ICON_STATE) update_icon_state() - . = TRUE + . |= UPDATE_ICON_STATE + + if(updates & UPDATE_OVERLAYS) + if(LAZYLEN(managed_vis_overlays)) + SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!(signalOut & COMSIG_ATOM_NO_UPDATE_OVERLAYS)) var/list/new_overlays = update_overlays() if(managed_overlays) cut_overlay(managed_overlays) @@ -712,12 +715,14 @@ if(length(new_overlays)) managed_overlays = new_overlays add_overlay(new_overlays) - . = TRUE + . |= UPDATE_OVERLAYS - SEND_SIGNAL(src, COMSIG_ATOM_UPDATED_ICON, signalOut, .) + . |= SEND_SIGNAL(src, COMSIG_ATOM_UPDATED_ICON, updates, .) /// Updates the icon state of the atom /atom/proc/update_icon_state() + SHOULD_CALL_PARENT(TRUE) + return SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON_STATE) /// Updates the overlays of the atom /atom/proc/update_overlays() diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index b27aee5e0b06..4cf410975a50 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -871,11 +871,11 @@ /// called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. /atom/movable/proc/on_exit_storage(datum/component/storage/concrete/master_storage) - SEND_SIGNAL(src, CONSIG_STORAGE_EXITED, master_storage) + SEND_SIGNAL(src, COMSIG_STORAGE_EXITED, master_storage) /// called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. /atom/movable/proc/on_enter_storage(datum/component/storage/concrete/master_storage) - SEND_SIGNAL(src, COMISG_STORAGE_ENTERED, master_storage) + SEND_SIGNAL(src, COMSIG_STORAGE_ENTERED, master_storage) /atom/movable/proc/get_spacemove_backup() var/atom/movable/dense_object_backup diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm index 8c948c9d42d4..01c270895360 100644 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm @@ -3,19 +3,21 @@ desc = "You probably shouldn't stick around to see if this is armed." icon = 'icons/obj/machines/nuke.dmi' icon_state = "bananiumbomb_base" + base_icon_state = "bananiumbomb" /obj/machinery/nuclearbomb/syndicate/bananium/update_icon_state() if(deconstruction_state != NUKESTATE_INTACT) - icon_state = "bananiumbomb_base" - return + icon_state = "[base_icon_state]_base" + return ..() switch(get_nuke_state()) if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) - icon_state = "bananiumbomb_base" + icon_state = "[base_icon_state]_base" if(NUKE_ON_TIMING) - icon_state = "bananiumbomb_timing" + icon_state = "[base_icon_state]_timing" if(NUKE_ON_EXPLODING) - icon_state = "bananiumbomb_exploding" + icon_state = "[base_icon_state]_exploding" + return ..() /obj/machinery/nuclearbomb/syndicate/bananium/get_cinematic_type(off_station) switch(off_station) diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 26556bfc0b48..f7f8841fb50b 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -35,7 +35,7 @@ if(!C.cell || (z_level && C.virtual_z() != z_level)) continue C.cell.charge = C.cell.maxcharge - C.failure_timer = 0 + COOLDOWN_RESET(C, failure_timer) for(var/obj/machinery/power/smes/S in GLOB.machines) if(z_level && S.virtual_z() != z_level) continue diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 70cb4f065969..32fcf099da1f 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -3,6 +3,7 @@ desc = "A PDA painting machine. To use, simply insert your PDA and choose the desired preset paint scheme." icon = 'icons/obj/pda.dmi' icon_state = "pdapainter" + base_icon_state = "pdapainter" density = TRUE max_integrity = 200 var/obj/item/pda/storedpda = null @@ -10,13 +11,10 @@ /obj/machinery/pdapainter/update_icon_state() if(machine_stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - return - - if(powered()) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]-off" + icon_state = "[base_icon_state]-broken" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-off"]" + return ..() /obj/machinery/pdapainter/update_overlays() . = ..() diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 6f7363ba8811..7426ea5b087a 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -9,6 +9,7 @@ desc = "An enclosed machine used to stabilize and heal patients." icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" + base_icon_state = "sleeper" density = FALSE state_open = TRUE circuit = /obj/item/circuitboard/machine/sleeper @@ -73,10 +74,8 @@ update_contents() /obj/machinery/sleeper/update_icon_state() - if(state_open) - icon_state = "[initial(icon_state)]-open" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state][state_open ? "-open" : null]" + return ..() /obj/machinery/sleeper/container_resist_act(mob/living/user) visible_message("[occupant] emerges from [src]!", @@ -367,6 +366,8 @@ /obj/machinery/sleeper/syndie icon_state = "sleeper_s" controls_inside = TRUE + base_icon_state = "sleeper_s" /obj/machinery/sleeper/old icon_state = "oldpod" + base_icon_state = "oldpod" diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 43fafb819eed..eb46da7f568b 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -3,6 +3,7 @@ desc = "A remotely-activatable dispenser for crowd-controlling foam." icon = 'icons/obj/device.dmi' icon_state = "ai-slipper0" + base_icon_state = "ai-slipper" layer = PROJECTILE_HIT_THRESHHOLD_LAYER plane = FLOOR_PLANE max_integrity = 200 @@ -19,11 +20,12 @@ /obj/machinery/ai_slipper/update_icon_state() if(machine_stat & BROKEN) - return + return ..() if((machine_stat & NOPOWER) || cooldown_time > world.time || !uses) - icon_state = "ai-slipper0" - else - icon_state = "ai-slipper1" + icon_state = "[base_icon_state]0" + return ..() + icon_state = "[base_icon_state]1" + return ..() /obj/machinery/ai_slipper/interact(mob/user) if(!allowed(user)) diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index 4d7e59c32b34..55cef2fcec10 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -5,7 +5,8 @@ var/id_tag var/frequency var/datum/radio_frequency/radio_connection - + /// The current state of the airlock, used to construct the airlock overlays + var/airlock_state /obj/machinery/door/airlock/receive_signal(datum/signal/signal) if(!signal) @@ -114,13 +115,14 @@ master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER /obj/machinery/airlock_sensor/update_icon_state() - if(on) + if(!on) + icon_state = "[base_icon_state]_off" + else if(alert) - icon_state = "airlock_sensor_alert" + icon_state = "[base_icon_state]_alert" else - icon_state = "airlock_sensor_standby" - else - icon_state = "airlock_sensor_off" + icon_state = "[base_icon_state]_standby" + return ..() /obj/machinery/airlock_sensor/attack_hand(mob/user) . = ..() diff --git a/code/game/machinery/airlock_cycle_control.dm b/code/game/machinery/airlock_cycle_control.dm index dbe5bdd5a194..0ddfd2c92940 100644 --- a/code/game/machinery/airlock_cycle_control.dm +++ b/code/game/machinery/airlock_cycle_control.dm @@ -158,7 +158,7 @@ /obj/machinery/advanced_airlock_controller/update_icon(use_hash = FALSE) var/turf/location = get_turf(src) if(!location) - return + return ..() var/pressure = 0 if(location) var/datum/gas_mixture/environment = location.return_air() @@ -169,7 +169,7 @@ var/new_overlays_hash = "[pressure_bars]-[cyclestate]-[buildstage]-[panel_open]-[machine_stat]-[shorted]-[locked]-\ref[vis_target]" if(use_hash && new_overlays_hash == overlays_hash) - return + return ..() overlays_hash = new_overlays_hash cut_overlays() @@ -181,12 +181,12 @@ icon_state = "aac_b2" if(BUILD_NO_CIRCUIT) icon_state = "aac_b1" - return + return ..() icon_state = "aac" if((machine_stat & (NOPOWER|BROKEN)) || shorted) - return + return ..() var/is_exterior_pressure = (cyclestate == AIRLOCK_CYCLESTATE_OUTCLOSING || cyclestate == AIRLOCK_CYCLESTATE_OUTOPENING || cyclestate == AIRLOCK_CYCLESTATE_OUTOPEN) add_overlay("aac_[is_exterior_pressure ? "ext" : "int"]p_[pressure_bars]") @@ -208,6 +208,7 @@ var/mutable_appearance/M = mutable_appearance(icon, "hologram-line", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE) M.transform = TR add_overlay(M) + return ..() /obj/machinery/advanced_airlock_controller/proc/reset(wire) switch(wire) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index daebe8a066f3..91c273dfbe76 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -6,6 +6,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) desc = "An automated announcement system that handles minor announcements over the radio." icon = 'icons/obj/machines/telecomms.dmi' icon_state = "AAS_On" + base_icon_state = "AAS" verb_say = "coldly states" verb_ask = "queries" @@ -33,10 +34,8 @@ GLOBAL_LIST_EMPTY(announcement_systems) update_icon() /obj/machinery/announcement_system/update_icon_state() - if(is_operational) - icon_state = (panel_open ? "AAS_On_Open" : "AAS_On") - else - icon_state = (panel_open ? "AAS_Off_Open" : "AAS_Off") + icon_state = "[base_icon_state]_[is_operational ? "On" : "Off"][panel_open ? "_Open" : null]" + return ..() /obj/machinery/announcement_system/update_overlays() . = ..() diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm index 76e662d640f1..8298b44ff963 100644 --- a/code/game/machinery/aug_manipulator.dm +++ b/code/game/machinery/aug_manipulator.dm @@ -3,6 +3,7 @@ desc = "A machine for custom fitting augmentations, with in-built spraypainter." icon = 'icons/obj/pda.dmi' icon_state = "pdapainter" + base_icon_state = "pdapainter" circuit = /obj/item/circuitboard/machine/aug_manipulator density = TRUE obj_integrity = 200 @@ -18,23 +19,21 @@ . += "Alt-click to eject the limb." /obj/machinery/aug_manipulator/Initialize() - initial_icon_state = initial(icon_state) + if(!base_icon_state) + base_icon_state = initial(icon_state) return ..() /obj/machinery/aug_manipulator/update_icon_state() if(machine_stat & BROKEN) - icon_state = "[initial_icon_state]-broken" - return - - if(powered()) - icon_state = initial_icon_state - else - icon_state = "[initial_icon_state]-off" + icon_state = "[base_icon_state]-broken" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-off"]" + return ..() /obj/machinery/aug_manipulator/update_overlays() . = ..() if(storedpart) - . += "[initial_icon_state]-closed" + . += "[base_icon_state]-closed" /obj/machinery/aug_manipulator/Destroy() QDEL_NULL(storedpart) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index d51dc571de88..d31133c0f601 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -46,10 +46,12 @@ /obj/machinery/button/update_icon_state() if(panel_open) icon_state = "button-open" - else if(machine_stat & (NOPOWER|BROKEN)) + return ..() + if(machine_stat & (NOPOWER|BROKEN)) icon_state = "[skin]-p" - else - icon_state = skin + return ..() + icon_state = skin + return ..() /obj/machinery/button/update_overlays() . = ..() @@ -179,7 +181,7 @@ device.pulsed() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_BUTTON_PRESSED,src) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 15) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 15) /obj/machinery/button/door name = "door button" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 5ecfdcb5c4f0..447d40357639 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -17,7 +17,7 @@ armor = list("melee" = 50, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 50) max_integrity = 100 integrity_failure = 0.5 - var/default_camera_icon = "camera" //the camera's base icon used by update_icon - icon_state is primarily used for mapping display purposes. + var/default_camera_icon = "camera" //the camera's base icon used by update_appearance - icon_state is primarily used for mapping display purposes. var/list/network = list("ss13") var/c_tag = null var/status = TRUE @@ -381,12 +381,15 @@ var/xray_module if(isXRay(TRUE)) xray_module = "xray" + if(!status) icon_state = "[xray_module][default_camera_icon]_off" - else if (machine_stat & EMPED) + return ..() + if(machine_stat & EMPED) icon_state = "[xray_module][default_camera_icon]_emp" - else - icon_state = "[xray_module][default_camera_icon][in_use_lights ? "_in_use" : ""]" + return ..() + icon_state = "[xray_module][default_camera_icon][in_use_lights ? "_in_use" : ""]" + return ..() /obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = 1) status = !status @@ -417,7 +420,7 @@ visible_message("\The [src] [change_msg]!") playsound(src, 'sound/items/wirecutter.ogg', 100, TRUE) - update_icon() //update Initialize() if you remove this. + update_appearance() //update Initialize() if you remove this. // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index a8e565e5b056..de1ee7ecf53a 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -70,6 +70,7 @@ /obj/structure/camera_assembly/update_icon_state() icon_state = "[xray_module ? "xray" : null][initial(icon_state)]" + return ..() /obj/structure/camera_assembly/handle_atom_del(atom/A) if(A == xray_module) diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index bfed7c72602b..0783e50552d4 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -40,8 +40,6 @@ /obj/machinery/computer/update_overlays() . = ..() - - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) if(machine_stat & BROKEN) SSvis_overlays.add_vis_overlay(src, icon, "[icon_state]_broken", layer, plane, dir) return diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 2aba0a8b6124..742b721c2c90 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -91,14 +91,14 @@ if(restoring) . += "ai-fixer-on" - if (occupier) - switch (occupier.stat) - if (CONSCIOUS) - . += "ai-fixer-full" - if (UNCONSCIOUS, HARD_CRIT) - . += "ai-fixer-404" - else + if(!occupier) . += "ai-fixer-empty" + return + switch(occupier.stat) + if(CONSCIOUS) + . += "ai-fixer-full" + if(UNCONSCIOUS, HARD_CRIT) + . += "ai-fixer-404" /obj/machinery/computer/aifixer/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(!..()) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 98ee1dc56ce0..4eecf70d588e 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -94,5 +94,6 @@ return if(priority_alarms.len) . += "alert:2" - else if(minor_alarms.len) + return + if(minor_alarms.len) . += "alert:1" diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index e2b5fd34dca3..23937947d80c 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -45,6 +45,7 @@ /obj/machinery/air_sensor/update_icon_state() icon_state = "gsensor[on]" + return ..() /obj/machinery/air_sensor/process_atmos() if(on) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 097f538666d0..3275bb33f272 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -254,6 +254,7 @@ icon_state = initial(icon_state) if(machine_stat & BROKEN) icon_state += "b" + return ..() /obj/machinery/computer/security/telescreen/entertainment name = "entertainment monitor" diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 590122505c1d..13e136aafbd2 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -54,10 +54,8 @@ return ..() /obj/machinery/jukebox/update_icon_state() - if(active) - icon_state = "[initial(icon_state)]-active" - else - icon_state = "[initial(icon_state)]" + icon_state = "[initial(icon_state)]-[active ? "active" : null]" + return ..() /obj/machinery/jukebox/ui_status(mob/user) if(!anchored) diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index c0f49c36bdab..eb3880748af6 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -3,6 +3,7 @@ desc = "It scans DNA structures." icon = 'icons/obj/machines/cloning.dmi' icon_state = "scanner" + base_icon_state = "scanner" density = TRUE use_power = IDLE_POWER_USE idle_power_usage = 50 @@ -36,20 +37,21 @@ /obj/machinery/dna_scannernew/update_icon_state() //no power or maintenance if(machine_stat & (NOPOWER|BROKEN)) - icon_state = initial(icon_state)+ (state_open ? "_open" : "") + "_unpowered" - return + icon_state = "[base_icon_state][state_open ? "_open" : null]_unpowered" + return ..() if((machine_stat & MAINT) || panel_open) - icon_state = initial(icon_state)+ (state_open ? "_open" : "") + "_maintenance" - return + icon_state = "[base_icon_state][state_open ? "_open" : null]_maintenance" + return ..() //running and someone in there if(occupant) - icon_state = initial(icon_state)+ "_occupied" - return + icon_state = "[base_icon_state]_occupied" + return ..() //running - icon_state = initial(icon_state)+ (state_open ? "_open" : "") + icon_state = "[base_icon_state][state_open ? "_open" : null]" + return ..() /obj/machinery/dna_scannernew/proc/toggle_open(mob/user) if(panel_open) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index f009f9723b8e..0373af468b85 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -530,23 +530,31 @@ else return FALSE -/obj/machinery/door/airlock/update_icon(state=0, override=0) +/obj/machinery/door/airlock/update_icon(updates=ALL, state=0, override=FALSE) if(operating && !override) return - switch(state) - if(0) - if(density) - state = AIRLOCK_CLOSED - else - state = AIRLOCK_OPEN - icon_state = "" + if(!state) + state = density ? AIRLOCK_CLOSED : AIRLOCK_OPEN + airlock_state = state + + . = ..() + + if(hasPower() && unres_sides) + set_light(2, 1) + else + set_light(0) + +/obj/machinery/door/airlock/update_icon_state() + . = ..() + switch(airlock_state) if(AIRLOCK_OPEN, AIRLOCK_CLOSED) icon_state = "" if(AIRLOCK_DENY, AIRLOCK_OPENING, AIRLOCK_CLOSING, AIRLOCK_EMAG) icon_state = "nonexistenticonstate" //MADNESS - set_airlock_overlays(state) -/obj/machinery/door/airlock/proc/set_airlock_overlays(state) +/obj/machinery/door/airlock/update_overlays() + . = ..() + var/mutable_appearance/frame_overlay var/mutable_appearance/filling_overlay var/mutable_appearance/lights_overlay @@ -559,7 +567,7 @@ var/notetype = note_type() var/mutable_appearance/hatch_overlay - switch(state) + switch(airlock_state) if(AIRLOCK_CLOSED) frame_overlay = get_airlock_overlay("closed", icon) if(airlock_material) @@ -697,64 +705,57 @@ if(has_hatch) hatch_overlay = get_airlock_overlay("hatch_opening", icon) - cut_overlays() - add_overlay(frame_overlay) - add_overlay(filling_overlay) - add_overlay(lights_overlay) - add_overlay(panel_overlay) - add_overlay(weld_overlay) - add_overlay(sparks_overlay) - add_overlay(damag_overlay) - add_overlay(note_overlay) - add_overlay(hatch_overlay) //WS edit - Drone hatches - add_overlay(seal_overlay) - check_unres() + . += frame_overlay + . += filling_overlay + . += lights_overlay + . += panel_overlay + . += weld_overlay + . += sparks_overlay + . += damag_overlay + . += note_overlay + . += seal_overlay + . += hatch_overlay -/proc/get_airlock_overlay(icon_state, icon_file) - var/obj/machinery/door/airlock/A - pass(A) //suppress unused warning - var/list/airlock_overlays = A.airlock_overlays - var/iconkey = "[icon_state][icon_file]" - if((!(. = airlock_overlays[iconkey]))) - . = airlock_overlays[iconkey] = mutable_appearance(icon_file, icon_state) - -/obj/machinery/door/airlock/proc/check_unres() //unrestricted sides. This overlay indicates which directions the player can access even without an ID if(hasPower() && unres_sides) if(unres_sides & NORTH) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") I.pixel_y = 32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I if(unres_sides & SOUTH) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") I.pixel_y = -32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I if(unres_sides & EAST) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") I.pixel_x = 32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I if(unres_sides & WEST) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") I.pixel_x = -32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I else set_light(0) +/proc/get_airlock_overlay(icon_state, icon_file) + var/obj/machinery/door/airlock/A + pass(A) //suppress unused warning + var/list/airlock_overlays = A.airlock_overlays + var/iconkey = "[icon_state][icon_file]" + if((!(. = airlock_overlays[iconkey]))) + . = airlock_overlays[iconkey] = mutable_appearance(icon_file, icon_state) + /obj/machinery/door/airlock/do_animate(animation) switch(animation) if("opening") - update_icon(AIRLOCK_OPENING) + update_icon(ALL, AIRLOCK_OPENING) if("closing") - update_icon(AIRLOCK_CLOSING) + update_icon(ALL, AIRLOCK_CLOSING) if("deny") if(!machine_stat) - update_icon(AIRLOCK_DENY) + update_icon(ALL, AIRLOCK_DENY) playsound(src, doorDeni, 50, FALSE, 3, mono_adj = TRUE) sleep(6) - update_icon(AIRLOCK_CLOSED) + update_icon(ALL, AIRLOCK_CLOSED) /obj/machinery/door/airlock/examine(mob/user) . = ..() @@ -1262,7 +1263,7 @@ if(!density) return TRUE operating = TRUE - update_icon(AIRLOCK_OPENING, 1) + update_icon(ALL, AIRLOCK_OPENING, TRUE) sleep(1) set_opacity(0) update_freelook_sight() @@ -1272,7 +1273,7 @@ air_update_turf(1) sleep(1) layer = OPEN_DOOR_LAYER - update_icon(AIRLOCK_OPEN, 1) + update_icon(ALL, AIRLOCK_OPEN, TRUE) operating = FALSE if(delayed_close_requested) delayed_close_requested = FALSE @@ -1307,7 +1308,7 @@ SSexplosions.medobj += killthis operating = TRUE - update_icon(AIRLOCK_CLOSING, 1) + update_icon(ALL, AIRLOCK_CLOSING, 1) layer = CLOSED_DOOR_LAYER if(air_tight) density = TRUE @@ -1325,7 +1326,7 @@ set_opacity(1) update_freelook_sight() sleep(1) - update_icon(AIRLOCK_CLOSED, 1) + update_icon(ALL, AIRLOCK_CLOSED, 1) operating = FALSE delayed_close_requested = FALSE if(safe) @@ -1375,13 +1376,13 @@ /obj/machinery/door/airlock/emag_act(mob/user) if(!operating && density && hasPower() && !(obj_flags & EMAGGED)) operating = TRUE - update_icon(AIRLOCK_EMAG, 1) + update_icon(ALL, AIRLOCK_EMAG, 1) sleep(6) if(QDELETED(src)) return operating = FALSE if(!open()) - update_icon(AIRLOCK_CLOSED, 1) + update_icon(ALL, AIRLOCK_CLOSED, 1) obj_flags |= EMAGGED lights = FALSE locked = TRUE diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 53f0f27e06a6..473d4d505856 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -165,8 +165,8 @@ // if BROKEN, display blue screen of death icon AI uses // if timing=true, run update display function /obj/machinery/door_timer/update_icon() + . = ..() if(machine_stat & (NOPOWER)) - icon_state = "frame" return if(machine_stat & (BROKEN)) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 7d0f5a993183..77d669124233 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -3,6 +3,7 @@ desc = "It opens and closes." icon = 'icons/obj/doors/Doorint.dmi' icon_state = "door1" + base_icon_state = "door" opacity = TRUE density = TRUE move_resist = MOVE_FORCE_VERY_STRONG @@ -301,10 +302,8 @@ secondsElectrified = MACHINE_NOT_ELECTRIFIED /obj/machinery/door/update_icon_state() - if(density) - icon_state = "door1" - else - icon_state = "door0" + icon_state = "[base_icon_state][density]" + return ..() /obj/machinery/door/proc/do_animate(animation) switch(animation) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 2053d33a3e9a..708b6f308282 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -221,19 +221,14 @@ flick("door_closing", src) /obj/machinery/door/firedoor/update_icon_state() - if(density) - icon_state = "door_closed" - else - icon_state = "door_open" + . = ..() + icon_state = "[base_icon_state]_[density ? "closed" : "open"]" /obj/machinery/door/firedoor/update_overlays() . = ..() if(!welded) return - if(density) - . += "welded" - else - . += "welded_open" + . += density ? "welded" : "welded_open" /obj/machinery/door/firedoor/open() playsound(loc, door_open_sound, 90, TRUE) @@ -489,6 +484,7 @@ desc = "A partially completed firelock." icon = 'icons/obj/doors/doorfire.dmi' icon_state = "frame1" + base_icon_state = "frame" anchored = FALSE density = TRUE var/constructionStep = CONSTRUCTION_NOCIRCUIT @@ -510,7 +506,8 @@ . += "There are no firelock electronics in the frame. The frame could be cut apart." /obj/structure/firelock_frame/update_icon_state() - icon_state = "frame[constructionStep]" + icon_state = "[base_icon_state][constructionStep]" + return ..() /obj/structure/firelock_frame/attackby(obj/item/C, mob/user) switch(constructionStep) @@ -773,7 +770,7 @@ icon_state = "door_frame" /obj/structure/firelock_frame/window/update_icon() - return + return ..() #undef CONSTRUCTION_COMPLETE diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index e2fe57e42669..a788bb603a6e 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -43,10 +43,8 @@ do_animate("deny") /obj/machinery/door/password/update_icon_state() - if(density) - icon_state = "closed" - else - icon_state = "open" + . = ..() + icon_state = density ? "closed" : "open" /obj/machinery/door/password/do_animate(animation) switch(animation) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 465bfb4672bc..1e44885f9a3e 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -135,10 +135,8 @@ playsound(src, close_sound, 30, FALSE) /obj/machinery/door/poddoor/update_icon_state() - if(density) - icon_state = "closed" - else - icon_state = "open" + . = ..() + icon_state = density ? "closed" : "open" /obj/machinery/door/poddoor/try_to_activate_door(mob/user) return diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 8aed9c5eb709..0516d38b1591 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -58,10 +58,8 @@ return ..() /obj/machinery/door/window/update_icon_state() - if(density) - icon_state = base_state - else - icon_state = "[base_state]open" + . = ..() + icon_state = "[base_state][density ? null : "open"]" /obj/machinery/door/window/proc/open_and_close() if(!open()) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index f11bb3234f66..b3e305291bd6 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -4,7 +4,7 @@ name = "tachyon-doppler array" desc = "A highly precise directional sensor array which measures the release of quants from decaying tachyons. The doppler shifting of the mirror-image formed by these quants can reveal the size, location and temporal affects of energetic disturbances within a large radius ahead of the array.\n" icon = 'icons/obj/machines/research.dmi' - icon_state = "tdoppler" + base_icon_state = "tdoppler" density = TRUE verb_say = "states coldly" var/cooldown = 10 @@ -187,11 +187,10 @@ /obj/machinery/doppler_array/update_icon_state() if(machine_stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - else if(powered()) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]-off" + icon_state = "[base_icon_state]-broken" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-off"]" + return ..() /obj/machinery/doppler_array/research name = "tachyon-doppler research array" diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index 35eee6d6d1d8..b27d7f8b00a1 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -211,6 +211,9 @@ icon_state = icon_creating else icon_state = icon_on + return ..() + +// icon_state = "["icon"]_[(mode == DRONE_RECHARGING) ? "recharging"]" /obj/machinery/droneDispenser/attackby(obj/item/I, mob/living/user) if(I.tool_behaviour == TOOL_CROWBAR) diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 6b15dc876b5c..03441dc69488 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -40,6 +40,7 @@ /obj/machinery/doorButtons/access_button icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_button_standby" + base_icon_state = "access_button" name = "access button" desc = "A button used for the explicit purpose of opening an airlock." var/idDoor @@ -86,12 +87,10 @@ /obj/machinery/doorButtons/access_button/update_icon_state() if(machine_stat & NOPOWER) - icon_state = "access_button_off" - else - if(busy) - icon_state = "access_button_cycle" - else - icon_state = "access_button_standby" + icon_state = "[base_icon_state]_off" + return ..() + icon_state = "[base_icon_state]_[busy ? "cycle" : "standby"]" + return ..() /obj/machinery/doorButtons/access_button/removeMe(obj/O) if(O == door) @@ -102,6 +101,7 @@ /obj/machinery/doorButtons/airlock_controller icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_control_standby" + base_icon_state = "access_control" name = "access console" desc = "A small console that can cycle opening between two airlocks." var/obj/machinery/door/airlock/interiorAirlock @@ -248,11 +248,9 @@ /obj/machinery/doorButtons/airlock_controller/update_icon_state() if(machine_stat & NOPOWER) icon_state = "access_control_off" - return - if(busy || lostPower) - icon_state = "access_control_process" - else - icon_state = "access_control_standby" + return ..() + icon_state = "[base_icon_state]_[(busy || lostPower) ? "process" : "standby"]" + return ..() /obj/machinery/doorButtons/airlock_controller/ui_interact(mob/user) var/datum/browser/popup = new(user, "computer", name) diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index bb47bcc5a512..a4de8908abfe 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -196,6 +196,7 @@ /obj/machinery/embedded_controller/radio/airlock_controller icon = 'icons/obj/airlock_machines.dmi' icon_state = "airlock_control_standby" + base_icon_state = "airlock_control" name = "airlock console" density = FALSE @@ -257,12 +258,10 @@ /obj/machinery/embedded_controller/radio/airlock_controller/update_icon_state() if(on && program) - if(program.memory["processing"]) - icon_state = "airlock_control_process" - else - icon_state = "airlock_control_standby" - else - icon_state = "airlock_control_off" + icon_state = "[base_icon_state]_[program.memory["processing"] ? "process" : "standby"]" + return ..() + icon_state = "[base_icon_state]_off" + return ..() /obj/machinery/embedded_controller/radio/airlock_controller/return_text() diff --git a/code/game/machinery/embedded_controller/simple_vent_controller.dm b/code/game/machinery/embedded_controller/simple_vent_controller.dm index 4de102becb00..931e9eb0f40a 100644 --- a/code/game/machinery/embedded_controller/simple_vent_controller.dm +++ b/code/game/machinery/embedded_controller/simple_vent_controller.dm @@ -55,10 +55,9 @@ program = new_prog /obj/machinery/embedded_controller/radio/simple_vent_controller/update_icon_state() - if(on && program) - icon_state = "airlock_control_standby" - else - icon_state = "airlock_control_off" + icon_state = "[base_icon_state]_[(on && program) ? "standby" : "off"]" + return ..() + /obj/machinery/embedded_controller/radio/simple_vent_controller/return_text() diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 7d87d34d2be1..fb6ee4388784 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -59,18 +59,17 @@ /obj/machinery/firealarm/update_icon_state() if(panel_open) icon_state = "fire_b[buildstage]" - return + return ..() if(machine_stat & BROKEN) icon_state = "firex" - return + return ..() icon_state = "fire0" + return ..() /obj/machinery/firealarm/update_overlays() . = ..() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(machine_stat & NOPOWER) return diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index c6a283d5aa1e..e68b3e0837f9 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -5,6 +5,7 @@ desc = "A wall-mounted flashbulb device." icon = 'icons/obj/stationobjs.dmi' icon_state = "mflash1" + base_icon_state = "mflash" max_integrity = 250 integrity_failure = 0.4 light_color = COLOR_WHITE @@ -15,7 +16,6 @@ var/range = 2 //this is roughly the size of brig cell var/last_flash = 0 //Don't want it getting spammed like regular flashes var/strength = 100 //How knocked down targets are when flashed. - var/base_state = "mflash" /obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored name = "portable flasher" @@ -23,7 +23,7 @@ icon_state = "pflash1-p" strength = 80 anchored = FALSE - base_state = "pflash" + base_icon_state = "pflash" density = TRUE light_system = MOVABLE_LIGHT //Used as a flash here. light_range = FLASH_LIGHT_RANGE @@ -52,13 +52,8 @@ return ..() /obj/machinery/flasher/update_icon_state() - if (powered()) - if(bulb.burnt_out) - icon_state = "[base_state]1-p" - else - icon_state = "[base_state]1" - else - icon_state = "[base_state]1-p" + icon_state = "[base_icon_state]1[(bulb?.burnt_out || !powered()) ? "-p" : null]" + return ..() //Don't want to render prison breaks impossible /obj/machinery/flasher/attackby(obj/item/W, mob/user, params) @@ -110,7 +105,7 @@ return playsound(src.loc, 'sound/weapons/flash.ogg', 100, TRUE) - flick("[base_state]_flash", src) + flick("[base_icon_state]_flash", src) set_light_on(TRUE) addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) @@ -183,7 +178,7 @@ if (!anchored && !isinspace()) to_chat(user, "[src] is now secured.") - add_overlay("[base_state]-s") + add_overlay("[base_icon_state]-s") set_anchored(TRUE) power_change() proximity_monitor.SetRange(range) diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 5b5e0c8a2966..09423bef77d4 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -11,6 +11,7 @@ The console is located at computer/gulag_teleporter.dm desc = "A bluespace teleporter used for teleporting prisoners to the labor camp." icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" + base_icon_state = "implantchair" state_open = FALSE density = TRUE use_power = IDLE_POWER_USE @@ -65,22 +66,22 @@ The console is located at computer/gulag_teleporter.dm return ..() /obj/machinery/gulag_teleporter/update_icon_state() - icon_state = initial(icon_state) + (state_open ? "_open" : "") + icon_state = "[base_icon_state][state_open ? "_open" : null]" //no power or maintenance if(machine_stat & (NOPOWER|BROKEN)) icon_state += "_unpowered" if((machine_stat & MAINT) || panel_open) icon_state += "_maintenance" - return + return ..() if((machine_stat & MAINT) || panel_open) icon_state += "_maintenance" - return + return ..() //running and someone in there if(occupant) icon_state += "_occupied" - return + return ..() /obj/machinery/gulag_teleporter/relaymove(mob/living/user, direction) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 924a1e95ec81..01b2594996b7 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -4,6 +4,7 @@ density = TRUE icon = 'icons/obj/machines/harvester.dmi' icon_state = "harvester" + base_icon_state = "harvester" verb_say = "states" state_open = FALSE idle_power_usage = 50 @@ -30,13 +31,16 @@ /obj/machinery/harvester/update_icon_state() if(state_open) - icon_state = initial(icon_state)+"-open" - else if(warming_up) - icon_state = initial(icon_state)+"-charging" - else if(harvesting) - icon_state = initial(icon_state)+"-active" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state]-open" + return ..() + if(warming_up) + icon_state = "[base_icon_state]-charging" + return ..() + if(harvesting) + icon_state = "[base_icon_state]-active" + return ..() + icon_state = base_icon_state + return ..() /obj/machinery/harvester/open_machine(drop = TRUE) if(panel_open) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 2e9478c040e7..fc984e3877b2 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -31,6 +31,7 @@ Possible to do for anyone motivated enough: name = "holopad" desc = "It's a floor-mounted device for projecting holographic images." icon_state = "holopad0" + base_icon_state = "holopad" layer = LOW_OBJ_LAYER plane = FLOOR_PLANE req_access = list(ACCESS_KEYCARD_AUTH) //Used to allow for forced connecting to other (not secure) holopads. Anyone can make a call, though. @@ -454,11 +455,11 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ /obj/machinery/holopad/update_icon_state() var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls) if(ringing) - icon_state = "holopad_ringing" - else if(total_users || replay_mode) - icon_state = "holopad1" - else - icon_state = "holopad0" + icon_state = "[base_icon_state]_ringing" + return ..() + icon_state = "[base_icon_state][(total_users || replay_mode) ? 1 : 0]" + return ..() + /obj/machinery/holopad/proc/set_holo(mob/living/user, obj/effect/overlay/holo_pad_hologram/h) LAZYSET(masters, user, h) diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index 89a2158a0078..41b11bb1ef2f 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -3,6 +3,7 @@ desc = "A device used to perform \"enhanced interrogation\" through invasive mental conditioning." icon = 'icons/obj/machines/implantchair.dmi' icon_state = "hypnochair" + base_icon_state = "hypnochair" circuit = /obj/item/circuitboard/machine/hypnochair density = TRUE opacity = FALSE @@ -168,14 +169,8 @@ victim = null /obj/machinery/hypnochair/update_icon_state() - icon_state = initial(icon_state) - if(state_open) - icon_state += "_open" - if(occupant) - if(interrogating) - icon_state += "_active" - else - icon_state += "_occupied" + icon_state = "[base_icon_state][state_open ? "_open" : null][occupant ? "_[interrogating ? "active" : "occupied"]" : null]" + return ..() /obj/machinery/hypnochair/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 0a3b7d562ca7..ce17ee04fb59 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -3,6 +3,7 @@ desc = "It's useful for igniting plasma." icon = 'icons/obj/stationobjs.dmi' icon_state = "igniter0" + base_icon_state = "igniter" plane = FLOOR_PLANE use_power = IDLE_POWER_USE idle_power_usage = 2 @@ -48,10 +49,8 @@ icon_state = "igniter[on]" /obj/machinery/igniter/update_icon_state() - if(machine_stat & NOPOWER) - icon_state = "igniter0" - else - icon_state = "igniter[on]" + icon_state = "[base_icon_state][(machine_stat & NOPOWER) ? 0 : on]" + return ..() /obj/machinery/igniter/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) id = "[REF(port)][id]" @@ -63,6 +62,7 @@ desc = "A wall-mounted ignition device." icon = 'icons/obj/stationobjs.dmi' icon_state = "migniter" + base_icon_state = "migniter" resistance_flags = FIRE_PROOF var/id = null var/disable = 0 @@ -84,11 +84,10 @@ /obj/machinery/sparker/update_icon_state() if(disable) - icon_state = "[initial(icon_state)]-d" - else if(powered()) - icon_state = "[initial(icon_state)]" - else - icon_state = "[initial(icon_state)]-p" + icon_state = "[base_icon_state]-d" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-p"]" + return ..() /obj/machinery/sparker/powered() if(!disable) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 0439ad3a00de..72a95a5b0e86 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -6,6 +6,7 @@ desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers. Blood packs are processed at an accelerated rate. Alt-Click to change the transfer rate." icon = 'icons/obj/iv_drip.dmi' icon_state = "iv_drip" + base_icon_state = "iv_drip" anchored = FALSE mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/mob/living/carbon/attached @@ -28,15 +29,10 @@ /obj/machinery/iv_drip/update_icon_state() if(attached) - if(mode) - icon_state = "injecting" - else - icon_state = "donating" + icon_state = "[base_icon_state]_[mode ? "injecting" : "donating"]" else - if(mode) - icon_state = "injectidle" - else - icon_state = "donateidle" + icon_state = "[base_icon_state]_[mode ? "injecting" : "donating"]" + return ..() /obj/machinery/iv_drip/update_overlays() . = ..() @@ -237,6 +233,7 @@ name = "saline drip" desc = "An all-you-can-drip saline canister designed to supply a hospital without running out, with a scary looking pump rigged to inject saline into containers, but filling people directly might be a bad idea." icon_state = "saline" + base_icon_state = "saline" density = TRUE /obj/machinery/iv_drip/saline/Initialize(mapload) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 3472a169ad37..c15d96782762 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -3,6 +3,7 @@ name = "light switch" icon = 'icons/obj/power.dmi' icon_state = "light1" + base_icon_state = "light" desc = "Make dark." power_channel = AREA_USAGE_LIGHT /// Set this to a string, path, or area instance to control that area @@ -29,20 +30,23 @@ if(!name) name = "light switch ([area.name])" - update_icon() + update_appearance() + +/obj/machinery/light_switch/update_appearance(updates=ALL) + . = ..() + luminosity = (machine_stat & NOPOWER) ? 0 : 1 /obj/machinery/light_switch/update_icon_state() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 if(machine_stat & NOPOWER) - icon_state = "light-p" - else - luminosity = 1 - SSvis_overlays.add_vis_overlay(src, icon, "light-glow", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - if(area.lightswitch) - icon_state = "light1" - else - icon_state = "light0" + icon_state = "[base_icon_state]-p" + return ..() + icon_state = "[base_icon_state][area.lightswitch ? 1 : 0]" + return ..() + +/obj/machinery/light_switch/update_overlays() + . = ..() + if(!(machine_stat & NOPOWER)) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-glow", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) /obj/machinery/light_switch/examine(mob/user) . = ..() diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index 95d6de9c0d0d..79fb5e83bdf1 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -1,12 +1,21 @@ //The Medical Kiosk is designed to act as a low access alernative to a medical analyzer, and doesn't require breaking into medical. Self Diagnose at your heart's content! //For a fee that is. Comes in 4 flavors of medical scan. +/// Shows if the machine is being used for a general scan. +#define KIOSK_SCANNING_GENERAL (1<<0) +/// Shows if the machine is being used for a disease scan. +#define KIOSK_SCANNING_SYMPTOMS (1<<1) +/// Shows if the machine is being used for a radiation/brain trauma scan. +#define KIOSK_SCANNING_NEURORAD (1<<2) +/// Shows if the machine is being used for a reagent scan. +#define KIOSK_SCANNING_REAGENTS (1<<3) /obj/machinery/medical_kiosk name = "medical kiosk" desc = "A freestanding medical kiosk, which can provide a wide range of medical analysis for diagnosis." icon = 'icons/obj/machines/medical_kiosk.dmi' icon_state = "kiosk" + base_icon_state = "kiosk" layer = ABOVE_MOB_LAYER density = TRUE circuit = /obj/item/circuitboard/machine/medical_kiosk @@ -15,10 +24,10 @@ var/active_price = 15 //Change by using a multitool on the board. var/pandemonium = FALSE //AKA: Emag mode. - var/scan_active_1 = FALSE //Shows if the machine is being used for a general scan. - var/scan_active_2 = FALSE //as above, symptom scan - var/scan_active_3 = FALSE //as above, radiological scan - var/scan_active_4 = FALSE //as above, chemical/hallucinations. + /// Shows whether the kiosk is being used to scan someone and what it's being used for. + var/scan_active = NONE + + /// Do we have someone paying to use this? var/paying_customer = FALSE //Ticked yes if passing inuse() var/datum/bank_account/account //payer's account. @@ -51,23 +60,25 @@ D.adjust_money(active_price) use_power(20) paying_customer = TRUE - icon_state = "kiosk_active" + icon_state = "[base_icon_state]_active" say("Thank you for your patronage!") RefreshParts() return /obj/machinery/medical_kiosk/proc/clearScans() //Called it enough times to be it's own proc - scan_active_1 = FALSE - scan_active_2 = FALSE - scan_active_3 = FALSE - scan_active_4 = FALSE + scan_active = NONE + update_appearance() return /obj/machinery/medical_kiosk/update_icon_state() - if(is_operational) - icon_state = "kiosk_off" - else - icon_state = "kiosk" + if(panel_open) + icon_state = "[base_icon_state]_open" + return ..() + if(!is_operational) + icon_state = "[base_icon_state]_off" + return ..() + icon_state = "[base_icon_state][scan_active ? "active" : null]" + return ..() /obj/machinery/medical_kiosk/wrench_act(mob/living/user, obj/item/I) //Allows for wrenching/unwrenching the machine. ..() @@ -81,7 +92,7 @@ return /obj/machinery/medical_kiosk/attackby(obj/item/O, mob/user, params) - if(default_deconstruction_screwdriver(user, "kiosk_open", "kiosk", O)) + if(default_deconstruction_screwdriver(user, "[base_icon_state]_open", "[base_icon_state]_off", O)) return else if(default_deconstruction_crowbar(O)) return @@ -166,7 +177,7 @@ if(!ui) ui = new(user, src, "MedicalKiosk", name) ui.open() - icon_state = "kiosk_off" + icon_state = "[base_icon_state]_active" RefreshParts() H = user C = H.get_idcard(TRUE) @@ -314,10 +325,10 @@ data["addict_list"] = addict_list data["hallucinating_status"] = hallucination_status - data["active_status_1"] = scan_active_1 // General Scan Check - data["active_status_2"] = scan_active_2 // Symptom Scan Check - data["active_status_3"] = scan_active_3 // Radio-Neuro Scan Check - data["active_status_4"] = scan_active_4 // Radio-Neuro Scan Check + data["active_status_1"] = scan_active & KIOSK_SCANNING_GENERAL // General Scan Check + data["active_status_2"] = scan_active & KIOSK_SCANNING_SYMPTOMS // Symptom Scan Check + data["active_status_3"] = scan_active & KIOSK_SCANNING_NEURORAD // Radio-Neuro Scan Check + data["active_status_4"] = scan_active & KIOSK_SCANNING_REAGENTS // Reagents/hallucination Scan Check return data /obj/machinery/medical_kiosk/ui_act(action,active) @@ -327,24 +338,28 @@ switch(action) if("beginScan_1") - inuse() + if(!(scan_active & KIOSK_SCANNING_GENERAL)) + inuse() if(paying_customer == TRUE) - scan_active_1 = TRUE + scan_active |= KIOSK_SCANNING_GENERAL paying_customer = FALSE if("beginScan_2") - inuse() + if(!(scan_active & KIOSK_SCANNING_SYMPTOMS)) + inuse() if(paying_customer == TRUE) - scan_active_2 = TRUE + scan_active |= KIOSK_SCANNING_SYMPTOMS paying_customer = FALSE if("beginScan_3") - inuse() + if(!(scan_active & KIOSK_SCANNING_NEURORAD)) + inuse() if(paying_customer == TRUE) - scan_active_3 = TRUE + scan_active |= KIOSK_SCANNING_NEURORAD paying_customer = FALSE if("beginScan_4") - inuse() + if(!(scan_active & KIOSK_SCANNING_REAGENTS)) + inuse() if(paying_customer == TRUE) - scan_active_4 = TRUE + scan_active |= KIOSK_SCANNING_REAGENTS paying_customer = FALSE if("clearTarget") altPatient = null diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 39bf5d2efe98..4d47e814002a 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/objects.dmi' icon_state = "navbeacon0-f" + base_icon_state = "navbeacon" name = "navigation beacon" desc = "A radio beacon used for bot navigation and crew wayfinding." plane = FLOOR_PLANE @@ -91,7 +92,8 @@ // update the icon_state /obj/machinery/navbeacon/update_icon_state() - icon_state = "navbeacon[open]" + icon_state = "[base_icon_state][open]" + return ..() /obj/machinery/navbeacon/attackby(obj/item/I, mob/user, params) var/turf/T = loc diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 34413dc4b923..6bec46aa483a 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -185,6 +185,7 @@ GLOBAL_LIST_EMPTY(allCasters) desc = "A standard Nanotrasen brand newsfeed handler. All the news you absolutely have no use for, in one place!" icon = 'icons/obj/terminals.dmi' icon_state = "newscaster" + base_icon_state = "newscaster" verb_say = "beeps" verb_ask = "beeps" verb_exclaim = "beeps" @@ -242,21 +243,21 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) . = ..() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) if(machine_stat & BROKEN) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_broken", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_broken", layer, plane, dir) return if(machine_stat & NOPOWER) return if(GLOB.news_network.wanted_issue.active) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_wanted", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_wanted", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_wanted", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_wanted", layer, EMISSIVE_PLANE, dir) else if(alert) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_alert", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_alert", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_alert", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_alert", layer, EMISSIVE_PLANE, dir) else - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_normal", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_normal", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_normal", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_normal", layer, EMISSIVE_PLANE, dir) /obj/machinery/newscaster/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index b85230487640..d692c630743e 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -144,21 +144,22 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/update_icon_state() if(!anchored) icon_state = "turretCover" - return + return ..() if(machine_stat & BROKEN) icon_state = "[base_icon_state]_broken" - else - if(powered()) - if(on && raised) - switch(mode) - if(TURRET_STUN) - icon_state = "[base_icon_state]_stun" - if(TURRET_LETHAL) - icon_state = "[base_icon_state]_lethal" - else - icon_state = "[base_icon_state]_off" - else - icon_state = "[base_icon_state]_unpowered" + return ..() + if(!powered()) + icon_state = "[base_icon_state]_unpowered" + return ..() + if(!on || !raised) + icon_state = "[base_icon_state]_off" + return ..() + switch(mode) + if(TURRET_STUN) + icon_state = "[base_icon_state]_stun" + if(TURRET_LETHAL) + icon_state = "[base_icon_state]_lethal" + return ..() /obj/machinery/porta_turret/proc/setup(obj/item/gun/turret_gun) if(stored_gun) @@ -340,21 +341,23 @@ DEFINE_BITFIELD(turret_flags, list( invisibility = 0 qdel(cover) //deletes the cover, and the turret instance itself becomes its own cover. - else if(I.GetID()) + if(I.GetID()) //Behavior lock/unlock mangement if(allowed(user)) locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") else to_chat(user, "Access denied.") - else if(I.tool_behaviour == TOOL_MULTITOOL && !locked) + return + + if(I.tool_behaviour == TOOL_MULTITOOL && !locked) if(!multitool_check_buffer(user, I)) return var/obj/item/multitool/M = I M.buffer = src to_chat(user, "You add [src] to multitool buffer.") - else - return ..() + return + return ..() /obj/machinery/porta_turret/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -845,6 +848,7 @@ DEFINE_BITFIELD(turret_flags, list( desc = "Used to control a room's automated defenses." icon = 'icons/obj/machines/turret_control.dmi' icon_state = "control_standby" + base_icon_state = "control" density = FALSE req_access = list(ACCESS_AI_UPLOAD) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF @@ -1004,14 +1008,13 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/turretid/update_icon_state() if(machine_stat & NOPOWER) - icon_state = "control_off" - else if (enabled) - if (lethal) - icon_state = "control_kill" - else - icon_state = "control_stun" - else - icon_state = "control_standby" + icon_state = "[base_icon_state]_off" + return ..() + if (enabled) + icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" + return ..() + icon_state = "[base_icon_state]_standby" + return ..() /obj/machinery/turretid/lethal lethal = TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm index 9508f0158db3..d44fd987a824 100644 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ b/code/game/machinery/porta_turret/portable_turret_cover.dm @@ -51,21 +51,23 @@ parent_turret.invisibility = INVISIBILITY_MAXIMUM parent_turret.update_icon() qdel(src) - - else if(I.GetID()) + return + if(I.GetID()) if(parent_turret.allowed(user)) parent_turret.locked = !parent_turret.locked to_chat(user, "Controls are now [parent_turret.locked ? "locked" : "unlocked"].") else to_chat(user, "Access denied.") - else if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) + return + + if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) if(!multitool_check_buffer(user, I)) return var/obj/item/multitool/M = I M.buffer = parent_turret to_chat(user, "You add [parent_turret] to multitool buffer.") - else - return ..() + return + return ..() /obj/machinery/porta_turret_cover/attacked_by(obj/item/I, mob/user) parent_turret.attacked_by(I, user) diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm index e8af9185552a..2efc65b66fd8 100644 --- a/code/game/machinery/prisonlabor.dm +++ b/code/game/machinery/prisonlabor.dm @@ -9,17 +9,19 @@ var/obj/item/stack/license_plates/empty/current_plate var/pressing = FALSE -/obj/machinery/plate_press/update_icon() +/obj/machinery/plate_press/update_icon_state() . = ..() if(!is_operational) icon_state = "offline" - else if(pressing) + return ..() + if(pressing) icon_state = "loop" - else if(current_plate) + return ..() + if(current_plate) icon_state = "online_loaded" - else - icon_state = "online" - + return ..() + icon_state = "online" + return ..() /obj/machinery/plate_press/Destroy() QDEL_NULL(current_plate) . = ..() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index a23e480f6ad4..32567b6bb85c 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -2,6 +2,7 @@ name = "recharger" icon = 'icons/obj/stationobjs.dmi' icon_state = "recharger" + base_icon_state = "recharger" desc = "A charging dock for energy based weaponry." use_power = IDLE_POWER_USE idle_power_usage = 4 @@ -160,21 +161,28 @@ if(B.cell) B.cell.charge = 0 + +/obj/machinery/recharger/update_appearance(updates) + . = ..() + if((machine_stat & (NOPOWER|BROKEN)) || panel_open || !anchored) + luminosity = 0 + return + luminosity = 1 + /obj/machinery/recharger/update_overlays() . = ..() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 if(machine_stat & (NOPOWER|BROKEN) || !anchored || panel_open) return luminosity = 1 - if (charging) - if(using_power) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-charging", layer, plane, dir, alpha) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-charging", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - else - SSvis_overlays.add_vis_overlay(src, icon, "recharger-full", layer, plane, dir, alpha) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-full", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - else - SSvis_overlays.add_vis_overlay(src, icon, "recharger-empty", layer, plane, dir, alpha) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-empty", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + if(!charging) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-empty", layer, plane, dir, alpha) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-empty", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + return + if(using_power) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-charging", layer, plane, dir, alpha) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-charging", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + return + + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-full", layer, plane, dir, alpha) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-full", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 8cdbcb59b3c9..acdac8715506 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -99,13 +99,11 @@ add_fingerprint(occupant) /obj/machinery/recharge_station/update_icon_state() - if(is_operational) - if(state_open) - icon_state = "borgcharger0" - else - icon_state = (occupant ? "borgcharger1" : "borgcharger2") - else - icon_state = (state_open ? "borgcharger-u0" : "borgcharger-u1") + if(!is_operational) + icon_state = "borgcharger-u[state_open ? 0 : 1]" + return ..() + icon_state = "borgcharger[state_open ? 0 : (occupant ? 1 : 2)]" + return ..() /obj/machinery/recharge_station/proc/process_occupant() if(!occupant) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index eabe2c75fa72..db7e7695bca9 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -77,11 +77,11 @@ to_chat(user, "You use the cryptographic sequencer on [src].") /obj/machinery/recycler/update_icon_state() - ..() var/is_powered = !(machine_stat & (BROKEN|NOPOWER)) if(safety_mode) is_powered = FALSE icon_state = icon_name + "[is_powered]" + "[(blood ? "bld" : "")]" // add the blood tag at the end + return ..() /obj/machinery/recycler/CanAllowThrough(atom/movable/AM) . = ..() diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index b05199508e2f..1c91c5827e0e 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -29,6 +29,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) desc = "A console intended to send requests between different vessels and settlements in a local region." icon = 'icons/obj/terminals.dmi' icon_state = "req_comp0" + base_icon_state = "req_comp" var/department = "Unknown" //The list of all departments on the station (Determined from this variable on each unit) Set this to the same thing if you want several consoles in one department var/list/messages = list() //List of all messages var/departmentType = 0 //bitflag @@ -77,28 +78,32 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) dir_amount = 8\ ) -/obj/machinery/requests_console/update_icon_state() +/obj/machinery/requests_console/update_appearance(updates=ALL) + . = ..() if(machine_stat & NOPOWER) set_light(0) - else - set_light(1.4,0.7,"#34D352")//green light + return + set_light(1.4,0.7,"#34D352")//green light + +/obj/machinery/requests_console/update_icon_state() if(open) - if(!hackState) - icon_state="req_comp_open" - else - icon_state="req_comp_rewired" - else if(machine_stat & NOPOWER) - if(icon_state != "req_comp_off") - icon_state = "req_comp_off" - else - if(emergency || (newmessagepriority == REQ_EXTREME_MESSAGE_PRIORITY)) - icon_state = "req_comp3" - else if(newmessagepriority == REQ_HIGH_MESSAGE_PRIORITY) - icon_state = "req_comp2" - else if(newmessagepriority == REQ_NORMAL_MESSAGE_PRIORITY) - icon_state = "req_comp1" - else - icon_state = "req_comp0" + icon_state="[base_icon_state]_[hackState ? "rewired" : "open"]" + return ..() + if(machine_stat & NOPOWER) + icon_state = "[base_icon_state]_off" + return ..() + + if(emergency || (newmessagepriority == REQ_EXTREME_MESSAGE_PRIORITY)) + icon_state = "[base_icon_state]3" + return ..() + if(newmessagepriority == REQ_HIGH_MESSAGE_PRIORITY) + icon_state = "[base_icon_state]2" + return ..() + if(newmessagepriority == REQ_NORMAL_MESSAGE_PRIORITY) + icon_state = "[base_icon_state]1" + return ..() + icon_state = "[base_icon_state]0" + return ..() /obj/machinery/requests_console/Initialize() . = ..() diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 5ce00a0627a0..958c7f7c7fb8 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -324,14 +324,19 @@ playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) return FALSE -/obj/machinery/roulette/update_icon(payout, color, rolled_number, is_winner = FALSE) - cut_overlays() +/obj/machinery/roulette/update_overlays() + . = ..() if(machine_stat & MAINT) return if(playing) - add_overlay("random_numbers") + . += "random_numbers" + +/obj/machinery/roulette/update_icon(updates=ALL, payout, color, rolled_number, is_winner = FALSE) + . = ..() + if(machine_stat & MAINT) + return if(!payout || !color || isnull(rolled_number)) //Don't fall for tricks. return diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm index 4728050b6bb4..394a8cb034ca 100644 --- a/code/game/machinery/sheetifier.dm +++ b/code/game/machinery/sheetifier.dm @@ -24,6 +24,7 @@ /obj/machinery/sheetifier/update_icon_state() icon_state = "base_machine[busy_processing ? "_processing" : ""]" + return ..() /obj/machinery/sheetifier/proc/CanInsertMaterials() return !busy_processing diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index f8cebcb08bac..3cf70c27c1c8 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -204,10 +204,8 @@ to_chat(user, "You short out the access controller.") /obj/machinery/shieldgen/update_icon_state() - if(active) - icon_state = (machine_stat & BROKEN) ? "shieldonbr":"shieldon" - else - icon_state = (machine_stat & BROKEN) ? "shieldoffbr":"shieldoff" + icon_state = "shield[active ? "on" : "off"][(machine_stat & BROKEN) ? "br" : null]" + return ..() #define ACTIVE_SETUPFIELDS 1 #define ACTIVE_HASFIELDS 2 @@ -294,6 +292,7 @@ icon_state = initial(icon_state) + "_on" else icon_state = initial(icon_state) + return ..() /obj/machinery/power/shieldwallgen/update_overlays() . = ..() diff --git a/code/game/machinery/shuttle/shuttle_engine.dm b/code/game/machinery/shuttle/shuttle_engine.dm index 26bfc846c5d0..ad6695c8b812 100644 --- a/code/game/machinery/shuttle/shuttle_engine.dm +++ b/code/game/machinery/shuttle/shuttle_engine.dm @@ -55,10 +55,13 @@ update_engine() //Calls this so it sets the accurate icon if(panel_open) icon_state = icon_state_open + return ..() else if(thruster_active && enabled && return_fuel()) icon_state = icon_state_closed + return ..() else icon_state = icon_state_off + return ..() /obj/machinery/power/shuttle/engine/Initialize() . = ..() diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 9e5333a7e307..076d611fe129 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -19,6 +19,7 @@ desc = "Gambling for the antisocial." icon = 'icons/obj/economy.dmi' icon_state = "slots1" + base_icon_state = "slots" density = TRUE use_power = IDLE_POWER_USE idle_power_usage = 50 @@ -68,16 +69,17 @@ /obj/machinery/computer/slot_machine/update_icon_state() if(machine_stat & NOPOWER) - icon_state = "slots0" - - else if(machine_stat & BROKEN) - icon_state = "slotsb" - - else if(working) - icon_state = "slots2" + icon_state = "[base_icon_state]0" + return ..() + if(machine_stat & BROKEN) + icon_state = "[base_icon_state]b" + return ..() + if(working) + icon_state = "[base_icon_state]2" + return ..() + icon_state = "[base_icon_state]1" + return ..() - else - icon_state = "slots1" /obj/machinery/computer/slot_machine/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/coin)) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 27e1aebf2cab..5cfc15f78853 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -8,6 +8,7 @@ interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN icon = 'icons/obj/atmos.dmi' icon_state = "sheater-off" + base_icon_state = "sheater" name = "space heater" desc = "Made by Space Amish using traditional space techniques, this heater/cooler is guaranteed* not to set the air on fire. Warranty void if used in engines." max_integrity = 250 @@ -59,16 +60,14 @@ . += "The status display reads: Temperature range at [settableTemperatureRange]°C.
Heating power at [heatingPower*0.001]kJ.
Power consumption at [(efficiency*-0.0025)+150]%.
" //100%, 75%, 50%, 25% /obj/machinery/space_heater/update_icon_state() - if(on) - icon_state = "sheater-[mode]" - else - icon_state = "sheater-off" + icon_state = "[base_icon_state]-[on ? mode : "off"]" + return ..() /obj/machinery/space_heater/update_overlays() . = ..() if(panel_open) - . += "sheater-open" + . += "[base_icon_state]-open" /obj/machinery/space_heater/process_atmos() //TODO figure out delta_time if(!on || !is_operational) diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index ec3daa91cd6c..29bb49c6e307 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -4,6 +4,7 @@ desc = "A not so comfortable looking bed with some nozzles at the top and bottom. It will keep someone in stasis." icon = 'icons/obj/machines/stasis.dmi' icon_state = "stasis" + base_icon_state = "stasis" density = FALSE can_buckle = TRUE buckle_lying = 90 @@ -68,30 +69,32 @@ /obj/machinery/stasis/update_icon_state() if(machine_stat & BROKEN) - icon_state = "stasis_broken" - return + icon_state = "[base_icon_state]_broken" + return ..() if(panel_open || machine_stat & MAINT) - icon_state = "stasis_maintenance" - return - icon_state = "stasis" + icon_state = "[base_icon_state]_maintenance" + return ..() + icon_state = base_icon_state + return ..() /obj/machinery/stasis/update_overlays() . = ..() + if(!mattress_state) + return var/_running = stasis_running() - var/list/overlays_to_remove = managed_vis_overlays - - if(mattress_state) - if(!mattress_on || !managed_vis_overlays) - mattress_on = SSvis_overlays.add_vis_overlay(src, icon, mattress_state, layer, plane, dir, alpha = 0, unique = TRUE) - - if(mattress_on.alpha ? !_running : _running) //check the inverse of _running compared to truthy alpha, to see if they differ - var/new_alpha = _running ? 255 : 0 - var/easing_direction = _running ? EASE_OUT : EASE_IN - animate(mattress_on, alpha = new_alpha, time = 50, easing = CUBIC_EASING|easing_direction) - - overlays_to_remove = managed_vis_overlays - mattress_on + if(!mattress_on) + mattress_on = SSvis_overlays.add_vis_overlay(src, icon, mattress_state, BELOW_OBJ_LAYER, plane, dir, alpha = 0, unique = TRUE) + else + vis_contents += mattress_on + if(managed_vis_overlays) + managed_vis_overlays += mattress_on + else + managed_vis_overlays = list(mattress_on) - SSvis_overlays.remove_vis_overlay(src, overlays_to_remove) + if(mattress_on.alpha ? !_running : _running) //check the inverse of _running compared to truthy alpha, to see if they differ + var/new_alpha = _running ? 255 : 0 + var/easing_direction = _running ? EASE_OUT : EASE_IN + animate(mattress_on, alpha = new_alpha, time = 50, easing = CUBIC_EASING|easing_direction) /obj/machinery/stasis/obj_break(damage_flag) . = ..() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 4e4ab6714e0c..c9295d6ab57d 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -102,6 +102,7 @@ /obj/machinery/syndicatebomb/update_icon_state() icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]" + return ..() /obj/machinery/syndicatebomb/proc/seconds_remaining() if(active) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 8f37befee68e..fc538e45bcde 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -52,12 +52,9 @@ new /obj/effect/decal/cleanable/oil(loc) return ..() -/obj/machinery/blackbox_recorder/update_icon() - . = ..() - if(!stored) - icon_state = "blackbox_b" - else - icon_state = "blackbox" +/obj/machinery/blackbox_recorder/update_icon_state() + icon_state = "blackbox[stored ? null : "_b"]" + return ..() /obj/item/blackbox name = "\proper the blackbox" diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 891c19acc607..18ab6d82da1a 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -111,16 +111,8 @@ GLOBAL_LIST_EMPTY(telecomms_list) /obj/machinery/telecomms/update_icon_state() - if(on) - if(panel_open) - icon_state = "[initial(icon_state)]_o" - else - icon_state = initial(icon_state) - else - if(panel_open) - icon_state = "[initial(icon_state)]_o_off" - else - icon_state = "[initial(icon_state)]_off" + icon_state = "[initial(icon_state)][panel_open ? "_o" : null][on ? null : "_off"]" + return ..() /obj/machinery/telecomms/proc/update_power() diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index e97df7e7450f..ff1477160801 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -7,6 +7,7 @@ name = "teleporter hub" desc = "It's the hub of a teleporting machine." icon_state = "tele0" + base_icon_state = "tele" use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 2000 @@ -87,12 +88,8 @@ return /obj/machinery/teleport/hub/update_icon_state() - if(panel_open) - icon_state = "tele-o" - else if(is_ready()) - icon_state = "tele1" - else - icon_state = "tele0" + icon_state = "[base_icon_state][panel_open ? "-o" : (is_ready() ? 1 : 0)]" + return ..() /obj/machinery/teleport/hub/proc/is_ready() . = !panel_open && !(machine_stat & (BROKEN|NOPOWER)) && power_station && power_station.engaged && !(power_station.machine_stat & (BROKEN|NOPOWER)) @@ -107,6 +104,7 @@ name = "teleporter station" desc = "The power control station for a bluespace teleporter. Used for toggling power, and can activate a test-fire to prevent malfunctions." icon_state = "controller" + base_icon_state = "controller" use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 2000 @@ -212,10 +210,13 @@ /obj/machinery/teleport/station/update_icon_state() if(panel_open) - icon_state = "controller-o" - else if(machine_stat & (BROKEN|NOPOWER)) - icon_state = "controller-p" - else if(teleporter_console && teleporter_console.calibrating) - icon_state = "controller-c" - else - icon_state = "controller" + icon_state = "[base_icon_state]-o" + return ..() + if(machine_stat & (BROKEN|NOPOWER)) + icon_state = "[base_icon_state]-p" + return ..() + if(teleporter_console?.calibrating) + icon_state = "[base_icon_state]-c" + return ..() + icon_state = base_icon_state + return ..() diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 4b22b6b31e0c..a07cf6f942bd 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -39,6 +39,7 @@ icon_state = "separator-AO0" else icon_state = initial(icon_state) + return ..() /obj/machinery/transformer/Bumped(atom/movable/AM) if(cooldown == 1) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 476e8faf72fb..f8a4f234dc16 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -281,11 +281,14 @@ GLOBAL_LIST_INIT(dye_registry, list( /obj/machinery/washing_machine/update_icon_state() if(busy) icon_state = "wm_running_[bloody_mess]" - else if(bloody_mess) + return ..() + if(bloody_mess) icon_state = "wm_[state_open]_blood" - else - var/full = contents.len ? 1 : 0 - icon_state = "wm_[state_open]_[full]" + return ..() + + var/full = contents.len ? 1 : 0 + icon_state = "wm_[state_open]_[full]" + return ..() /obj/machinery/washing_machine/update_overlays() . = ..() diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index 5c752b1e3cc3..d464ca656418 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -148,7 +148,11 @@ /obj/machinery/computer/mech_bay_power_console/update_overlays() . = ..() - if(!recharge_port || !recharge_port.recharging_mech || !recharge_port.recharging_mech.cell || !(recharge_port.recharging_mech.cell.charge < recharge_port.recharging_mech.cell.maxcharge) || machine_stat & (NOPOWER|BROKEN)) + if(machine_stat & (NOPOWER|BROKEN)) + return + if(!recharge_port?.recharging_mech?.cell) + return + if(recharge_port.recharging_mech.cell.charge >= recharge_port.recharging_mech.cell.maxcharge) return . += "recharge_comp_on" diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 35ea91edfa51..9d6f0083c733 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -151,6 +151,8 @@ /obj/mecha/update_icon_state() if(silicon_pilot && silicon_icon_state) icon_state = silicon_icon_state + return ..() + return ..() /obj/mecha/get_cell() return cell diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 5e4f4978b75a..b6d7a96d2b58 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -229,19 +229,23 @@ return ..() /obj/effect/decal/cleanable/blood/footprints/update_icon() - cut_overlays() + . = ..() + alpha = min(BLOODY_FOOTPRINT_BASE_ALPHA + (255 - BLOODY_FOOTPRINT_BASE_ALPHA) * bloodiness / (BLOOD_ITEM_MAX / 2), 255) +/obj/effect/decal/cleanable/blood/footprints/update_overlays() + . = ..() for(var/Ddir in GLOB.cardinals) if(entered_dirs & Ddir) var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"] if(!bloodstep_overlay) GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]1", dir = Ddir) - add_overlay(bloodstep_overlay) + . += bloodstep_overlay + if(exited_dirs & Ddir) var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"] if(!bloodstep_overlay) GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]2", dir = Ddir) - add_overlay(bloodstep_overlay) + . += bloodstep_overlay alpha = min(BLOODY_FOOTPRINT_BASE_ALPHA + (255 - BLOODY_FOOTPRINT_BASE_ALPHA) * bloodiness / (BLOOD_ITEM_MAX / 2), 255) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 4c3e4397e73f..7f91fe93bfea 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -502,7 +502,7 @@ status = rcd_status delay = rcd_delay if (status == RCD_DECONSTRUCT) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 11) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 1.1 SECONDS) delay -= 11 icon_state = "rcd_end_reverse" else @@ -510,14 +510,18 @@ /obj/effect/constructing_effect/update_icon_state() icon_state = "rcd" - if (delay < 10) + if(delay < 10) icon_state += "_shortest" - else if (delay < 20) + return ..() + if (delay < 20) icon_state += "_shorter" - else if (delay < 37) + return ..() + if (delay < 37) icon_state += "_short" - if (status == RCD_DECONSTRUCT) + return ..() + if(status == RCD_DECONSTRUCT) icon_state += "_reverse" + return ..() /obj/effect/constructing_effect/proc/end_animation() if (status == RCD_DECONSTRUCT) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 2db11c27731a..e99783bfeb2c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -190,6 +190,10 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/canMouseDown = FALSE + //You can change world and inventory states on the go with these if you need to(example: cigar sprites being changed as they burn down) + var/inventory_state + var/world_state + /obj/item/Initialize() if(attack_verb) @@ -512,12 +516,13 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/equipped(mob/user, slot, initial = FALSE) SHOULD_CALL_PARENT(1) visual_equipped(user, slot, initial) - SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED, user, slot) for(var/X in actions) var/datum/action/A = X if(item_action_slot_check(slot, user)) //some items only give their actions buttons when in a specific slot. A.Grant(user) item_flags |= IN_INVENTORY + SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED, user, slot) + SEND_SIGNAL(user, COMSIG_MOB_EQUIPPED_ITEM, src, slot) if(!initial) if(equip_sound && (slot_flags & slot)) playsound(src, equip_sound, EQUIP_SOUND_VOLUME, TRUE, ignore_walls = FALSE) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 493fd78e69cd..04afc181c3d3 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -683,6 +683,7 @@ RLD /obj/item/construction/rld/update_icon_state() icon_state = "rld-[round(matter/matter_divisor)]" + return ..() /obj/item/construction/rld/attack_self(mob/user) ..() diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index b72a01394ff9..2dd5ae386d6d 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -116,7 +116,7 @@ if(!loaded) icon_state = "rcl-0" item_state = "rcl-0" - return + return ..() switch(loaded.amount) if(61 to INFINITY) icon_state = "rcl-30" @@ -130,6 +130,7 @@ else icon_state = "rcl-0" item_state = "rcl-0" + return ..() /obj/item/rcl/proc/is_empty(mob/user, loud = 1) update_icon() @@ -335,7 +336,7 @@ if(!loaded) icon_state = "rclg-0" item_state = "rclg-0" - return + return ..() switch(loaded.amount) if(1 to INFINITY) icon_state = "rclg-1" @@ -343,3 +344,4 @@ else icon_state = "rclg-1" item_state = "rclg-1" + return ..() diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 14ab77ca43ea..6ef0dc8d87d2 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -3,6 +3,7 @@ desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." icon = 'icons/obj/janitor.dmi' icon_state = "broom0" + base_icon_state = "broom" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' force = 8 @@ -21,10 +22,11 @@ /obj/item/pushbroom/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12, icon_wielded="broom1") + AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12, icon_wielded="[base_icon_state]1") /obj/item/pushbroom/update_icon_state() - icon_state = "broom0" + icon_state = "[base_icon_state]0" + return ..() /// triggered on wield of two handed item /obj/item/pushbroom/proc/on_wield(obj/item/source, mob/user) diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 85606d74e10a..a3365a464f34 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -21,6 +21,7 @@ /obj/item/candle/update_icon_state() icon_state = "candle[(wax > 400) ? ((wax > 750) ? 1 : 2) : 3][lit ? "_lit" : ""]" + return ..() /obj/item/candle/attackby(obj/item/W, mob/user, params) var/msg = W.ignition_effect(src, user) @@ -121,5 +122,6 @@ /obj/item/candle/tribal_torch/update_icon() icon_state = "torch[lit ? "_lit" : "_unlit"]" item_state = "torch[lit ? "-on" : ""]" + return ..() #undef CANDLE_LUMINOSITY diff --git a/code/game/objects/items/cash.dm b/code/game/objects/items/cash.dm index 0ec1885ed7e6..3ed1736bda0d 100644 --- a/code/game/objects/items/cash.dm +++ b/code/game/objects/items/cash.dm @@ -84,6 +84,7 @@ M.Translate(rand(-6, 6), rand(-4, 8)) coin.transform = M overlays += coin + return ..() if(coins_only) if(value == 1) @@ -91,12 +92,14 @@ desc = "Heavier then it looks." drop_sound = 'sound/items/handling/coin_drop.ogg' pickup_sound = 'sound/items/handling/coin_pickup.ogg' + return ..() else name = "[value] credits" desc = "Heavier than they look." gender = PLURAL drop_sound = 'sound/items/handling/coin_drop.ogg' pickup_sound = 'sound/items/handling/coin_pickup.ogg' + return ..() else if(value <= 3000) name = "[value] credits" @@ -104,12 +107,14 @@ desc = "Some cold, hard cash." drop_sound = 'sound/items/handling/dosh_drop.ogg' pickup_sound = 'sound/items/handling/dosh_pickup.ogg' + return ..() else name = "[value] credits" gender = NEUTER desc = "That's a lot of dosh." drop_sound = 'sound/items/handling/dosh_drop.ogg' pickup_sound = 'sound/items/handling/dosh_pickup.ogg' + return ..() /obj/item/spacecash/bundle/attack_self() var/cashamount = input(usr, "How many credits do you want to take? (0 to [value])", "Take Money", 20) as num diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 28ff54d0f6d8..5daa26121345 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -201,7 +201,8 @@ gun.field_disconnect(src) return ..() -/obj/structure/chrono_field/update_icon() +/obj/structure/chrono_field/update_overlays() + . = ..() var/ttk_frame = 1 - (tickstokill / initial(tickstokill)) ttk_frame = clamp(CEILING(ttk_frame * CHRONO_FRAME_COUNT, 1), 1, CHRONO_FRAME_COUNT) if(ttk_frame != RPpos) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index daad46ce51cf..8aea822cb55c 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -620,6 +620,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/lighter/update_icon_state() icon_state = "[initial(icon_state)][lit ? "-on" : ""]" + return ..() /obj/item/lighter/proc/create_lighter_overlay() return mutable_appearance(icon, "lighter_overlay_[overlay_state][lit ? "-on" : ""]") diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 16da84d485b7..3e875a47fd93 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -756,6 +756,7 @@ /obj/item/toy/crayon/spraycan/update_icon_state() icon_state = is_capped ? icon_capped : icon_uncapped + return ..() /obj/item/toy/crayon/spraycan/update_overlays() . = ..() diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index 52af27b5d819..7892e0c1cfaa 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -3,6 +3,7 @@ desc = "A hard-light chip encoded with an amount of credits. It is a modern replacement for physical money that can be directly converted to virtual currency and viceversa. Keep away from magnets." icon = 'icons/obj/economy.dmi' icon_state = "holochip" + base_icon_state = "holochip" throwforce = 0 force = 0 w_class = WEIGHT_CLASS_TINY @@ -21,21 +22,36 @@ /obj/item/holochip/get_item_credit_value() return credits -/obj/item/holochip/update_icon() +/obj/item/holochip/update_name() name = "\improper [credits] credit holochip" - var/rounded_credits = credits + return ..() + +/obj/item/holochip/update_icon_state() + var/icon_suffix = "" + switch(credits) + if(1e3 to (1e6 - 1)) + icon_suffix = "_kilo" + if(1e6 to (1e9 - 1)) + icon_suffix = "_mega" + if(1e9 to INFINITY) + icon_suffix = "_giga" + + icon_state = "[base_icon_state][icon_suffix]" + return ..() + +/obj/item/holochip/update_overlays() + . = ..() + var/rounded_credits switch(credits) - if(1 to 999) - icon_state = "holochip" - if(1000 to 999999) - icon_state = "holochip_kilo" - rounded_credits = round(rounded_credits * 0.001) - if(1000000 to 999999999) - icon_state = "holochip_mega" - rounded_credits = round(rounded_credits * 0.000001) - if(1000000000 to INFINITY) - icon_state = "holochip_giga" - rounded_credits = round(rounded_credits * 0.000000001) + if(0 to (1e3 - 1)) + rounded_credits = round(credits) + if(1e3 to (1e6 - 1)) + rounded_credits = round(credits * 1e-3) + if(1e6 to (1e9 - 1)) + rounded_credits = round(credits * 1e-6) + if(1e9 to INFINITY) + rounded_credits = round(credits * 1e-9) + var/overlay_color = "#914792" switch(rounded_credits) if(0 to 4) @@ -54,10 +70,9 @@ overlay_color = "#0153C1" if(500 to INFINITY) overlay_color = "#2C2C2C" - cut_overlays() var/mutable_appearance/holochip_overlay = mutable_appearance('icons/obj/economy.dmi', "[icon_state]-color") holochip_overlay.color = overlay_color - add_overlay(holochip_overlay) + . += holochip_overlay /obj/item/holochip/proc/spend(amount, pay_anyway = FALSE) if(credits >= amount) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 43c9c0d1941a..c8da63dccf9f 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -391,6 +391,7 @@ item_state = icon_state if(cooldown) icon_state = "[base_icon_state][wielded]_cooldown" + return ..() /obj/item/shockpaddles/dropped(mob/user) if(!req_defib) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 2852a78b34bf..aa4c4e8accc8 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -38,8 +38,7 @@ log_combat(user, AI, "carded", src) update_icon() //Whatever happened, update the card's state (icon, name) to match. -/obj/item/aicard/update_icon() - cut_overlays() +/obj/item/aicard/update_icon_state() if(AI) name = "[initial(name)] - [AI.name]" if(AI.stat == DEAD) @@ -52,6 +51,7 @@ else name = initial(name) icon_state = initial(icon_state) + return ..() /obj/item/aicard/ui_state(mob/user) return GLOB.hands_state diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 313411d640ba..222861f7841a 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -474,6 +474,7 @@ light_range = 4 light_system = MOVABLE_LIGHT color = LIGHT_COLOR_GREEN + base_icon_state = "glowstick" icon_state = "glowstick" item_state = "glowstick" grind_results = list(/datum/reagent/phenol = 15, /datum/reagent/hydrogen = 10, /datum/reagent/oxygen = 5) //Meth-in-a-stick @@ -504,22 +505,29 @@ on = FALSE update_icon() -/obj/item/flashlight/glowstick/update_icon() - item_state = "glowstick" - cut_overlays() +/obj/item/flashlight/glowstick/update_appearance(updates=ALL) + . = ..() if(!fuel) - icon_state = "glowstick-empty" - cut_overlays() set_light_on(FALSE) else if(on) - var/mutable_appearance/glowstick_overlay = mutable_appearance(icon, "glowstick-glow") - glowstick_overlay.color = color - add_overlay(glowstick_overlay) - item_state = "glowstick-on" + return + if(on) set_light_on(TRUE) - else - icon_state = "glowstick" - cut_overlays() + return + +/obj/item/flashlight/glowstick/update_icon_state() + icon_state = "[base_icon_state][(fuel <= 0) ? "-empty" : ""]" + item_state = "[base_icon_state][((fuel > 0) && on) ? "-on" : ""]" + return ..() + +/obj/item/flashlight/glowstick/update_overlays() + . = ..() + if(fuel <= 0 && !on) + return + + var/mutable_appearance/glowstick_overlay = mutable_appearance(icon, "glowstick-glow") + glowstick_overlay.color = color + . += glowstick_overlay /obj/item/flashlight/glowstick/attack_self(mob/user) if(!fuel) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index f9399a8f40c4..6b0c3a74fb95 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -90,22 +90,25 @@ /obj/item/geiger_counter/update_icon_state() if(!scanning) icon_state = "geiger_off" - else if(obj_flags & EMAGGED) + return ..() + if(obj_flags & EMAGGED) icon_state = "geiger_on_emag" - else - switch(radiation_count) - if(-INFINITY to RAD_LEVEL_NORMAL) - icon_state = "geiger_on_1" - if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) - icon_state = "geiger_on_2" - if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) - icon_state = "geiger_on_3" - if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) - icon_state = "geiger_on_4" - if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - icon_state = "geiger_on_4" - if(RAD_LEVEL_CRITICAL + 1 to INFINITY) - icon_state = "geiger_on_5" + return ..() + + switch(radiation_count) + if(-INFINITY to RAD_LEVEL_NORMAL) + icon_state = "geiger_on_1" + if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) + icon_state = "geiger_on_2" + if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) + icon_state = "geiger_on_3" + if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) + icon_state = "geiger_on_4" + if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) + icon_state = "geiger_on_4" + if(RAD_LEVEL_CRITICAL + 1 to INFINITY) + icon_state = "geiger_on_5" + return ..() /obj/item/geiger_counter/proc/update_sound() var/datum/looping_sound/geiger/loop = soundloop diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index ff92f7564b07..90ab66f15557 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -154,6 +154,7 @@ /obj/item/lightreplacer/update_icon_state() icon_state = "lightreplacer[(obj_flags & EMAGGED ? 1 : 0)]" + return ..() /obj/item/lightreplacer/proc/status_string() return "It has [uses] light\s remaining (plus [bulb_shards] fragment\s)." diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm index 3999e67c1952..767a069621db 100644 --- a/code/game/objects/items/devices/portable_chem_mixer.dm +++ b/code/game/objects/items/devices/portable_chem_mixer.dm @@ -80,18 +80,18 @@ return /obj/item/storage/portable_chem_mixer/update_icon_state() - var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - if (!locked) + if(!SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) icon_state = "portablechemicalmixer_open" - else if (beaker) + return ..() + if(beaker) icon_state = "portablechemicalmixer_full" - else - icon_state = "portablechemicalmixer_empty" - + return ..() + icon_state = "portablechemicalmixer_empty" + return ..() /obj/item/storage/portable_chem_mixer/AltClick(mob/living/user) var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - if (!locked) + if(!locked) return ..() if(!can_interact(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 342a7ab675b8..6869c3069934 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -28,6 +28,7 @@ /obj/item/powersink/update_icon_state() icon_state = "powersink[mode == OPERATING]" + return ..() /obj/item/powersink/set_anchored(anchorvalue) . = ..() diff --git a/code/game/objects/items/devices/quantum_keycard.dm b/code/game/objects/items/devices/quantum_keycard.dm index 3a4dd7177c83..86051885c65c 100644 --- a/code/game/objects/items/devices/quantum_keycard.dm +++ b/code/game/objects/items/devices/quantum_keycard.dm @@ -26,7 +26,5 @@ qpad = null /obj/item/quantum_keycard/update_icon_state() - if(qpad) - icon_state = "quantum_keycard_on" - else - icon_state = initial(icon_state) + icon_state = qpad ? "quantum_keycard_on" : initial(icon_state) + return ..() diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index efbd31771b80..01f794238832 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -109,12 +109,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) . = ..() AreaPowerCheck() // Make sure the area/local APC is powered first before we actually turn back on. -/obj/item/radio/intercom/update_icon() - . = ..() - if(on) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]-p" +/obj/item/radio/intercom/update_icon_state() + icon_state = on ? initial(icon_state) : "intercom-p" + return ..() /** * Proc called whenever the intercom's area loses or gains power. Responsible for setting the `on` variable and calling `update_icon()`. diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index 42224d9cd23a..b2a45581fb10 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -21,10 +21,8 @@ return ..() /obj/item/swapper/update_icon_state() - if(linked_swapper) - icon_state = "swapper-linked" - else - icon_state = "swapper" + icon_state = "swapper[linked_swapper ? "-linked" : null]" + return ..() /obj/item/swapper/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/swapper)) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 416ce3cff19c..ea4b47374536 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -87,12 +87,15 @@ /obj/item/taperecorder/update_icon_state() if(!mytape) icon_state = "taperecorder_empty" - else if(recording) + return ..() + if(recording) icon_state = "taperecorder_recording" - else if(playing) + return ..() + if(playing) icon_state = "taperecorder_playing" - else - icon_state = "taperecorder_idle" + return ..() + icon_state = "taperecorder_idle" + return ..() /obj/item/taperecorder/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods = list()) diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 8a3550962b39..4671bafcc9fe 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -3,6 +3,7 @@ name = "tank transfer valve" icon_state = "valve_1" item_state = "ttv" + base_icon_state = "valve" lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi' desc = "Regulates the transfer of air between two tanks." @@ -88,30 +89,33 @@ /obj/item/transfer_valve/proc/toggle_off() toggle = TRUE -/obj/item/transfer_valve/update_icon() - cut_overlays() - - if(!tank_one && !tank_two && !attached_device) - icon_state = "valve_1" - return - icon_state = "valve" +/obj/item/transfer_valve/update_icon_state() + icon_state = "[base_icon_state][(!tank_one && !tank_two && !attached_device) ? "_1" : null]" + return ..() +/obj/item/transfer_valve/update_overlays() + . = ..() if(tank_one) - add_overlay("[tank_one.icon_state]") - if(tank_two) + . += "[tank_one.icon_state]" + + if(!tank_two) + underlays = null + else var/mutable_appearance/J = mutable_appearance(icon, icon_state = "[tank_two.icon_state]") var/matrix/T = matrix() T.Translate(-13, 0) J.transform = T underlays = list(J) - else - underlays = null - if(attached_device) - add_overlay("device") - if(istype(attached_device, /obj/item/assembly/infra)) - var/obj/item/assembly/infra/sensor = attached_device - if(sensor.on && sensor.visible) - add_overlay("proxy_beam") + + if(!attached_device) + return + + . += "device" + if(!istype(attached_device, /obj/item/assembly/infra)) + return + var/obj/item/assembly/infra/sensor = attached_device + if(sensor.on && sensor.visible) + . += "proxy_beam" /obj/item/transfer_valve/proc/merge_gases(datum/gas_mixture/target, change_volume = TRUE) var/target_self = FALSE diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index bbe473dcefa4..7d76e12787cd 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -65,10 +65,8 @@ /obj/item/dualsaber/update_icon_state() - if(wielded) - icon_state = "dualsaber[saber_color]" - else - icon_state = "dualsaber" + icon_state = wielded ? "dualsaber[saber_color][wielded]" : "dualsaber0" + return ..() /obj/item/dualsaber/suicide_act(mob/living/carbon/user) if(wielded) diff --git a/code/game/objects/items/energyhalberd.dm b/code/game/objects/items/energyhalberd.dm index bebafa763fc3..da15f9fa9892 100644 --- a/code/game/objects/items/energyhalberd.dm +++ b/code/game/objects/items/energyhalberd.dm @@ -69,8 +69,10 @@ /obj/item/energyhalberd/update_icon_state() if(wielded) icon_state = "halberd[halberd_color]" + return ..() else icon_state = "halberd" + return ..() /obj/item/energyhalberd/suicide_act(mob/living/carbon/user) if(wielded) diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index db35c246db23..f9e37b972a95 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -63,6 +63,7 @@ /obj/structure/etherealball/update_icon_state() icon_state = "ethdisco_head_[TurnedOn]" + return ..() /obj/structure/etherealball/update_overlays() . = ..() diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 9087ef2aab2e..48114b5bee74 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -3,6 +3,7 @@ */ /obj/item/fireaxe // DEM AXES MAN, marker -Agouri icon_state = "fireaxe0" + base_icon_state = "fireaxe" lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' name = "fire axe" @@ -28,7 +29,7 @@ /obj/item/fireaxe/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools - AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="fireaxe1") + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/fireaxe/proc/on_wield(obj/item/source, mob/user) @@ -43,7 +44,8 @@ wielded = FALSE /obj/item/fireaxe/update_icon_state() - icon_state = "fireaxe0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/fireaxe/suicide_act(mob/user) user.visible_message("[user] axes [user.p_them()]self from head to toe! It looks like [user.p_theyre()] trying to commit suicide!") @@ -63,13 +65,12 @@ */ /obj/item/fireaxe/boneaxe // Blatant imitation of the fireaxe, but made out of bone. icon_state = "bone_axe0" + base_icon_state = "bone_axe" name = "bone axe" desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." icon = 'icons/obj/items_and_weapons.dmi' /obj/item/fireaxe/boneaxe/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=23, icon_wielded="bone_axe1") + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=23, icon_wielded="[base_icon_state]1") -/obj/item/fireaxe/boneaxe/update_icon_state() - icon_state = "bone_axe0" diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index b6bb3a6c2541..51bde023501c 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -60,6 +60,7 @@ /obj/item/flamethrower/update_icon_state() item_state = "flamethrower_[lit]" + return ..() /obj/item/flamethrower/update_overlays() . = ..() @@ -277,6 +278,7 @@ /obj/item/flamethrower/full/update_icon_state() item_state = "prebuilt_flamethrower_[lit]" + return ..() /obj/item/flamethrower/full/tank create_with_tank = TRUE diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 8982cca96c40..48d6e8b28d67 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -250,6 +250,7 @@ /obj/item/restraints/legcuffs/beartrap/update_icon_state() icon_state = "[initial(icon_state)][armed]" + return ..() /obj/item/restraints/legcuffs/beartrap/suicide_act(mob/user) user.visible_message("[user] is sticking [user.p_their()] head in the [src.name]! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index ac238a85a336..7d7559b50598 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -158,7 +158,8 @@ active = FALSE /obj/item/hot_potato/update_icon_state() - icon_state = active? icon_on : icon_off + icon_state = active ? icon_on : icon_off + return ..() /obj/item/hot_potato/syndicate detonate_light_range = 4 diff --git a/code/game/objects/items/hourglass.dm b/code/game/objects/items/hourglass.dm index f4997089c685..aa4ba66601e0 100644 --- a/code/game/objects/items/hourglass.dm +++ b/code/game/objects/items/hourglass.dm @@ -30,10 +30,8 @@ stop() /obj/item/hourglass/update_icon_state() - if(timing_id) - icon_state = "hourglass_active" - else - icon_state = "hourglass_idle" + icon_state = "hourglass_[timing_id ? "active" : "idle"]" + return ..() /obj/item/hourglass/proc/start() finish_time = world.time + time diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 70baa76a7fe6..677e545553e3 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -15,10 +15,8 @@ /obj/item/implantcase/update_icon_state() - if(imp) - icon_state = "implantcase-[imp.implant_color]" - else - icon_state = "implantcase-0" + icon_state = "implantcase-[imp ? imp.implant_color : 0]" + return ..() /obj/item/implantcase/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index bac1528e3da1..d51e1d942a95 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -104,6 +104,7 @@ icon_state += "_open" if(occupant) icon_state += "_occupied" + return ..() /obj/machinery/implantchair/update_overlays() . = ..() diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index 6731673d1c16..b6d6e730c1a4 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -15,10 +15,8 @@ /obj/item/implanter/update_icon_state() - if(imp) - icon_state = "implanter1" - else - icon_state = "implanter0" + icon_state = "implanter[imp ? 1 : 0]" + return ..() /obj/item/implanter/attack(mob/living/M, mob/user) diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index 13d1a5302726..9867c08fbdc5 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -13,6 +13,7 @@ /obj/item/implantpad/update_icon_state() icon_state = "implantpad-[!QDELETED(case)]" + return ..() /obj/item/implantpad/examine(mob/user) . = ..() diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index 7ba7217c1d6d..0aaf756c4b84 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -164,11 +164,9 @@ /obj/item/inducer/update_overlays() . = ..() - if(opened) - if(!cell) - . += "inducer-nobat" - else - . += "inducer-bat" + if(!opened) + return + . += "inducer-[cell ? "bat" : "nobat"]" /obj/item/inducer/sci icon_state = "inducer-sci" diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index f247aabb0031..b07b5ad63257 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -905,6 +905,7 @@ else icon_state += "-blade" item_state += "-sabre" + return ..() /obj/item/storage/belt/weebstick/PopulateContents() //Time to generate names now that we have the sword diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 00ba8536ba34..2b908d321875 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -141,8 +141,9 @@ /obj/item/pet_carrier/update_icon_state() if(open) icon_state = initial(icon_state) - else - icon_state = "pet_carrier_[!occupants.len ? "closed" : "occupied"]" + return ..() + icon_state = "pet_carrier_[!occupants.len ? "closed" : "occupied"]" + return ..() /obj/item/pet_carrier/update_overlays() . = ..() diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm index a06f6ae0ce4e..a56c1ed3fdb8 100644 --- a/code/game/objects/items/pitchfork.dm +++ b/code/game/objects/items/pitchfork.dm @@ -1,5 +1,6 @@ /obj/item/pitchfork icon_state = "pitchfork0" + base_icon_state = "pitchfork" lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' name = "pitchfork" @@ -22,7 +23,7 @@ /obj/item/pitchfork/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=15, icon_wielded="pitchfork1") + AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=15, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/pitchfork/proc/on_wield(obj/item/source, mob/user) @@ -37,7 +38,8 @@ wielded = FALSE /obj/item/pitchfork/update_icon_state() - icon_state = "pitchfork0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/pitchfork/demonic name = "demonic pitchfork" diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 725e668b33a1..78ccfbba93c6 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -254,7 +254,7 @@ vowbroken = TRUE mood_message = pick(vowbroken_message) - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/scorned_by(obj/item/toy/plush/Outmoded) scorned_by.Add(Outmoded) @@ -268,7 +268,7 @@ lover.cheer_up() mood_message = pick(love_message) - update_plush_desc() + update_desc() if(partner) //who? partner = null //more like who cares @@ -285,7 +285,7 @@ partner.heal_memories() mood_message = pick(partner_message) - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/plop(obj/item/toy/plush/Daddy) if(partner != Daddy) @@ -310,12 +310,12 @@ young = TRUE name = "[Mama] Jr" //Icelandic naming convention pending normal_desc = "[src] is a little baby of [maternal_parent] and [paternal_parent]!" //original desc won't be used so the child can have moods - update_plush_desc() + update_desc() Mama.mood_message = pick(Mama.parent_message) - Mama.update_plush_desc() + Mama.update_desc() Dada.mood_message = pick(Dada.parent_message) - Dada.update_plush_desc() + Dada.update_desc() /obj/item/toy/plush/proc/bad_news(obj/item/toy/plush/Deceased) //cotton to cotton, sawdust to sawdust var/is_that_letter_for_me = FALSE @@ -354,7 +354,7 @@ if(is_that_letter_for_me) heartbroken = TRUE mood_message = pick(heartbroken_message) - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/cheer_up() //it'll be all right if(!heartbroken) @@ -366,7 +366,7 @@ if(mood_message in heartbroken_message) mood_message = null - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/heal_memories() //time fixes all wounds if(!vowbroken) @@ -375,8 +375,9 @@ mood_message = null cheer_up() -/obj/item/toy/plush/proc/update_plush_desc() +/obj/item/toy/plush/update_desc() desc = normal_desc + . = ..() if(mood_message) desc += mood_message diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 77440f89b7ee..2582f91860b2 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -150,8 +150,10 @@ /obj/machinery/door/keycard/gates/update_icon_state() if(density) icon_state = "closed" + return ..() else icon_state = "open" + return ..() /obj/machinery/door/keycard/gates/drakelair puzzle_id = "drakelairkey" diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 91dcf5f25e0d..b6bbb91e815a 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -155,6 +155,7 @@ /obj/item/borg/charger/update_icon_state() icon_state = "charger_[mode]" + return ..() /obj/item/borg/charger/attack_self(mob/user) if(mode == "draw") @@ -594,6 +595,7 @@ /obj/item/borg/projectile_dampen/update_icon_state() icon_state = "[initial(icon_state)][active]" + return ..() /obj/item/borg/projectile_dampen/proc/activate_field() if(istype(dampening_field)) @@ -803,14 +805,19 @@ var/obj/item/O = A O.forceMove(src) stored = O - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, /atom/.proc/update_icon) - update_icon() + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + update_appearance() return else stored.melee_attack_chain(user, A, params) return . = ..() +/// Exists to eat signal args +/obj/item/borg/apparatus/proc/on_update_icon(datum/source, updates) + SIGNAL_HANDLER + return on_update_icon(updates) + /obj/item/borg/apparatus/attackby(obj/item/W, mob/user, params) if(stored) W.melee_attack_chain(user, stored, params) @@ -831,7 +838,7 @@ /obj/item/borg/apparatus/beaker/Initialize() . = ..() stored = new /obj/item/reagent_containers/glass/beaker/large(src) - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, /atom/.proc/update_icon) + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) update_icon() /obj/item/borg/apparatus/beaker/Destroy() @@ -891,7 +898,7 @@ /obj/item/borg/apparatus/beaker/service/Initialize() . = ..() stored = new /obj/item/reagent_containers/food/drinks/drinkingglass(src) - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, /atom/.proc/update_icon) + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) update_icon() //////////////////// diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index bf583e0d7caa..68135fc8abdb 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -316,6 +316,7 @@ icon_state = "selfrepair_[on ? "on" : "off"]" else icon_state = "cyborg_upgrade5" + return ..() /obj/item/borg/upgrade/selfrepair/proc/activate_sr() START_PROCESSING(SSobj, src) diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index 8b74e8ba23f1..f9d429b55a3e 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -45,7 +45,7 @@ name = "worn out [name]" desc = "[desc] At least, it used to." used = 1 - update_icon() + update_appearance() /obj/item/sharpener/super name = "super whetstone" diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 991277d7d819..779e5729179b 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -180,6 +180,7 @@ else icon_state = "flashshield" item_state = "flashshield" + return ..() /obj/item/shield/riot/flash/examine(mob/user) . = ..() diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 63dd64031258..e2803060e4eb 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -2,6 +2,7 @@ name = "singularity hammer" desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows." icon_state = "singularity0" + base_icon_state = "singularity_hammer" lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' flags_1 = CONDUCT_1 @@ -24,7 +25,7 @@ /obj/item/singularityhammer/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_multiplier=4, icon_wielded="singularity1") + AddComponent(/datum/component/two_handed, force_multiplier=4, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/singularityhammer/proc/on_wield(obj/item/source, mob/user) @@ -39,7 +40,8 @@ wielded = FALSE /obj/item/singularityhammer/update_icon_state() - icon_state = "singularity0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/singularityhammer/Destroy() STOP_PROCESSING(SSobj, src) @@ -88,6 +90,7 @@ name = "Mjolnir" desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy." icon_state = "mjollnir0" + base_icon_state = "mjollnir" lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' flags_1 = CONDUCT_1 @@ -105,7 +108,7 @@ /obj/item/mjollnir/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_multiplier=5, icon_wielded="mjollnir1", attacksound="sparks") + AddComponent(/datum/component/two_handed, force_multiplier=5, icon_wielded="[base_icon_state]1", attacksound="sparks") /// triggered on wield of two handed item /obj/item/mjollnir/proc/on_wield(obj/item/source, mob/user) @@ -116,7 +119,8 @@ wielded = FALSE /obj/item/mjollnir/update_icon_state() - icon_state = "mjollnir0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/mjollnir/proc/shock(mob/living/target) target.Stun(60) diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index daac0211cd14..dce7af9814cc 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -30,6 +30,7 @@ /obj/item/spear/update_icon_state() icon_state = "[icon_prefix]0" + return ..() /obj/item/spear/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins to sword-swallow \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -47,6 +48,9 @@ /obj/item/spear/explosive name = "explosive lance" + icon_state = "spearbomb0" + base_icon_state = "spearbomb" + icon_prefix = "spearbomb" var/obj/item/grenade/explosive = null var/wielded = FALSE // track wielded status on item @@ -58,7 +62,7 @@ /obj/item/spear/explosive/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="spearbomb1") + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]1") /// triggered on wield of two handed item /obj/item/spear/explosive/proc/on_wield(obj/item/source, mob/user) @@ -72,9 +76,6 @@ wielded = FALSE -/obj/item/spear/explosive/update_icon_state() - icon_state = "spearbomb0" - /obj/item/spear/explosive/proc/set_explosive(obj/item/grenade/G) if(explosive) QDEL_NULL(explosive) @@ -162,6 +163,8 @@ /obj/item/spear/bonespear //Blatant imitation of spear, but made out of bone. Not valid for explosive modification. icon_state = "bone_spear0" name = "bone spear" + base_icon_state = "bone_spear0" + icon_prefix = "bone_spear" desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." icon = 'icons/obj/items_and_weapons.dmi' lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' @@ -173,11 +176,7 @@ /obj/item/spear/bonespear/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=20, icon_wielded="bone_spear1") - -/obj/item/spear/bonespear/update_icon_state() - icon_state = "bone_spear0" - + AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=20, icon_wielded="[icon_prefix]1") /obj/item/spear/dragonspear//version of the bone spear crafted from the trophy dropped by the Ash Drake. High damage, high ap, burns. name = "dragonslayer's spear" desc = "A bone spear crafted from the leading spine of a fully-grown drake, razor-sharp and hotter then magma. Wielded by the deranged, pyromaniacs, and champions of lavaland." @@ -191,6 +190,8 @@ armour_penetration = 30 embedding = list("impact_pain_mult" = 5) icon_prefix = "dragonspear" + base_icon_state = "dragonspear0" + icon_state = "dragonspear0" var/list/nemesis_factions = list("mining", "boss") var/faction_bonus_force = 25 attack_verb = list("seared", "braided", "impaled", "smote", "gored") @@ -220,10 +221,6 @@ . = ..() AddComponent(/datum/component/two_handed, force_unwielded=20, force_wielded=25, icon_wielded="[icon_prefix]1") AddComponent(/datum/component/butchering, 60, 150) - icon_state = "[icon_prefix]0" - -/obj/item/spear/dragonspear/update_icon_state() - icon_state = "[icon_prefix]0" /obj/item/spear/dragonspear/attack(atom/target, blocked = FALSE) if(iscarbon(target)) @@ -243,6 +240,8 @@ name = "crystal spear" desc = "While more 'sharp stick' than spear, this thing is extremely dangerous neverless. Crafted out of the mysterous crystals, it can hit for very high damage, although it will break with repeated use." icon = 'icons/obj/items_and_weapons.dmi' + base_icon_state = "crystal_spear" + icon_prefix = "crystal_spear" lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' mob_overlay_icon = 'icons/mob/clothing/back.dmi' @@ -254,10 +253,7 @@ /obj/item/spear/crystal/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=30, icon_wielded="crystal_spear1") //4 hit crit - -/obj/item/spear/crystal/update_icon_state() - icon_state = "crystal_spear0" + AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=30, icon_wielded="[icon_prefix]1") //4 hit crit /obj/item/spear/crystal/examine(mob/user) . = ..() diff --git a/code/game/objects/items/stacks/license_plates.dm b/code/game/objects/items/stacks/license_plates.dm index 06dc86ee6152..1a5cb1b05eeb 100644 --- a/code/game/objects/items/stacks/license_plates.dm +++ b/code/game/objects/items/stacks/license_plates.dm @@ -20,11 +20,13 @@ ///Override to allow for variations /obj/item/stack/license_plates/filled/update_icon_state() + . = ..() if(novariants) return if(amount <= (max_amount * (1/3))) icon_state = "filled_plate_[rand(1,6)]_1" - else if (amount <= (max_amount * (2/3))) + return + if (amount <= (max_amount * (2/3))) icon_state = "filled_plate_[rand(1,6)]_2" - else - icon_state = "filled_plate_[rand(1,6)]_3" + return + icon_state = "filled_plate_[rand(1,6)]_3" diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 511eb82f67d8..3d29da752373 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -281,10 +281,9 @@ update_icon() /obj/item/stack/medical/mesh/update_icon_state() - if(!is_open) - icon_state = "regen_mesh_closed" - else + if(is_open) return ..() + icon_state = "regen_mesh_closed" /obj/item/stack/medical/mesh/heal(mob/living/M, mob/user) . = ..() @@ -334,10 +333,9 @@ grind_results = list(/datum/reagent/consumable/aloejuice = 1) /obj/item/stack/medical/mesh/advanced/update_icon_state() - if(!is_open) - icon_state = "aloe_mesh_closed" - else + if(is_open) return ..() + icon_state = "aloe_mesh_closed" /obj/item/stack/medical/aloe name = "aloe cream" diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 51f0d9793c61..cb476daa8403 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -43,6 +43,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ . += GLOB.rod_recipes /obj/item/stack/rods/update_icon_state() + . = ..() var/amount = get_amount() if(amount <= 5) icon_state = "rods-[amount]" diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 396ebb114075..38b0a260e4e3 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -93,13 +93,15 @@ /obj/item/stack/update_icon_state() if(novariants) - return + return ..() if(amount <= (max_amount * (1/3))) icon_state = initial(icon_state) - else if (amount <= (max_amount * (2/3))) + return ..() + if (amount <= (max_amount * (2/3))) icon_state = "[initial(icon_state)]_2" - else - icon_state = "[initial(icon_state)]_3" + return ..() + icon_state = "[initial(icon_state)]_3" + return ..() /obj/item/stack/examine(mob/user) . = ..() diff --git a/code/game/objects/items/stacks/tickets.dm b/code/game/objects/items/stacks/tickets.dm index f525794a6e4e..f4958f96d676 100644 --- a/code/game/objects/items/stacks/tickets.dm +++ b/code/game/objects/items/stacks/tickets.dm @@ -12,6 +12,7 @@ update_icon() /obj/item/stack/arcadeticket/update_icon_state() + . = ..() var/amount = get_amount() switch(amount) if(12 to INFINITY) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index fc964bbfff89..a20ecfba67ea 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -65,6 +65,7 @@ icon_state = "[initial(icon_state)]1" else icon_state = "[initial(icon_state)]" + return ..() /obj/item/storage/bag/trash/cyborg insertable = FALSE diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 857ffd1f47ce..84c8859cfe7c 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -21,9 +21,11 @@ /obj/item/storage/belt/update_overlays() . = ..() - if(content_overlays) - for(var/obj/item/I in contents) - . += I.get_belt_overlay() + if(!content_overlays) + return + for(var/obj/item/I in contents) + . += I.get_belt_overlay() + /obj/item/storage/belt/Initialize() . = ..() @@ -785,6 +787,7 @@ if(contents.len) icon_state += "-sabre" item_state += "-sabre" + return ..() /obj/item/storage/belt/sabre/PopulateContents() new /obj/item/melee/sabre(src) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 672cb5ab9fdb..4a4cba38317b 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -945,6 +945,7 @@ icon_state = "[item_state]" else icon_state = "[item_state]_closed" + return ..() /obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index b3e32f2be8a6..7d3c5fa6e74e 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -2,9 +2,6 @@ * The 'fancy' path is for objects like donut boxes that show how many items are in the storage item on the sprite itself * .. Sorry for the shitty path name, I couldnt think of a better one. * - * WARNING: var/icon_type is used for both examine text and sprite name. Please look at the procs below and adjust your sprite names accordingly - * TODO: Cigarette boxes should be ported to this standard - * * Contains: * Donut Box * Egg Box @@ -16,43 +13,49 @@ /obj/item/storage/fancy icon = 'icons/obj/food/containers.dmi' + icon_state = "donutbox" + base_icon_state = "donutbox" resistance_flags = FLAMMABLE - var/icon_type = "donut" + /// Used by examine to report what this thing is holding. + var/contents_tag = "errors" + /// What type of thing to fill this storage with. var/spawn_type = null - var/fancy_open = FALSE + /// Whether the container is open or not + var/is_open = FALSE /obj/item/storage/fancy/PopulateContents() + if(!spawn_type) + return var/datum/component/storage/STR = GetComponent(/datum/component/storage) for(var/i = 1 to STR.max_items) new spawn_type(src) /obj/item/storage/fancy/update_icon_state() - if(fancy_open) - icon_state = "[icon_type]box[contents.len]" - else - icon_state = "[icon_type]box" + icon_state = "[base_icon_state][is_open ? contents.len : null]" + return ..() /obj/item/storage/fancy/examine(mob/user) . = ..() - if(fancy_open) - if(length(contents) == 1) - . += "There is one [icon_type] left." - else - . += "There are [contents.len <= 0 ? "no" : "[contents.len]"] [icon_type]s left." + if(!is_open) + return + if(length(contents) == 1) + . += "There is one [contents_tag] left." + else + . += "There are [contents.len <= 0 ? "no" : "[contents.len]"] [contents_tag]s left." /obj/item/storage/fancy/attack_self(mob/user) - fancy_open = !fancy_open - update_icon() + is_open = !is_open + update_appearance() . = ..() /obj/item/storage/fancy/Exited() . = ..() - fancy_open = TRUE + is_open = TRUE update_icon() /obj/item/storage/fancy/Entered() . = ..() - fancy_open = TRUE + is_open = TRUE update_icon() #define DONUT_INBOX_SPRITE_WIDTH 3 @@ -66,10 +69,11 @@ desc = "Mmm. Donuts." icon = 'icons/obj/food/donuts.dmi' icon_state = "donutbox_inner" - icon_type = "donut" + base_icon_state = "donutbox" spawn_type = /obj/item/reagent_containers/food/snacks/donut - fancy_open = TRUE + is_open = TRUE appearance_flags = KEEP_TOGETHER + contents_tag = "donut" /obj/item/storage/fancy/donut_box/ComponentInitialize() . = ..() @@ -82,20 +86,18 @@ update_icon() /obj/item/storage/fancy/donut_box/update_icon_state() - if(fancy_open) - icon_state = "donutbox_inner" - else - icon_state = "donutbox" + . = ..() + icon_state = "[base_icon_state][is_open ? "_inner" : null]" /obj/item/storage/fancy/donut_box/update_overlays() . = ..() - if (!fancy_open) + if(!is_open) return var/donuts = 0 - for (var/_donut in contents) + for(var/_donut in contents) var/obj/item/reagent_containers/food/snacks/donut/donut = _donut if (!istype(donut)) continue @@ -103,7 +105,7 @@ . += image(icon = initial(icon), icon_state = donut.in_box_sprite(), pixel_x = donuts * DONUT_INBOX_SPRITE_WIDTH) donuts += 1 - . += image(icon = initial(icon), icon_state = "donutbox_top") + . += image(icon = initial(icon), icon_state = "[base_icon_state]_top") #undef DONUT_INBOX_SPRITE_WIDTH @@ -115,12 +117,13 @@ icon = 'icons/obj/food/containers.dmi' item_state = "eggbox" icon_state = "eggbox" - icon_type = "egg" + base_icon_state = "eggbox" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' name = "egg box" desc = "A carton for containing eggs." spawn_type = /obj/item/reagent_containers/food/snacks/egg + contents_tag = "egg" /obj/item/storage/fancy/egg_box/ComponentInitialize() . = ..() @@ -137,12 +140,13 @@ desc = "A pack of red candles." icon = 'icons/obj/candle.dmi' icon_state = "candlebox5" - icon_type = "candle" + base_icon_state = "candlebox" item_state = "candlebox5" throwforce = 2 slot_flags = ITEM_SLOT_BELT spawn_type = /obj/item/candle - fancy_open = TRUE + is_open = TRUE + contents_tag = "candle" /obj/item/storage/fancy/candle_box/ComponentInitialize() . = ..() @@ -159,15 +163,16 @@ name = "\improper Space Cigarettes packet" desc = "The most popular brand of cigarettes, sponsors of the Space Olympics." icon = 'icons/obj/cigarettes.dmi' + base_icon_state = "cig" icon_state = "cig" item_state = "cigpacket" w_class = WEIGHT_CLASS_TINY throwforce = 0 slot_flags = ITEM_SLOT_BELT - icon_type = "cigarette" spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette var/candy = FALSE //for cigarette overlay custom_price = 75 + contents_tag = "cigarette" /obj/item/storage/fancy/cigarettes/ComponentInitialize() . = ..() @@ -189,99 +194,108 @@ contents -= W to_chat(user, "You take \a [W] out of the pack.") else - to_chat(user, "There are no [icon_type]s left in the pack.") + to_chat(user, "There are no [contents_tag]s left in the pack.") /obj/item/storage/fancy/cigarettes/update_icon_state() - if(fancy_open || !contents.len) - if(!contents.len) - icon_state = "[initial(icon_state)]_empty" - else - icon_state = initial(icon_state) + . = ..() + icon_state = "[base_icon_state][contents.len ? null : "_empty"]" + return /obj/item/storage/fancy/cigarettes/update_overlays() . = ..() - if(fancy_open && contents.len) - . += "[icon_state]_open" - var/cig_position = 1 - for(var/C in contents) - var/mutable_appearance/inserted_overlay = mutable_appearance(icon) - - if(istype(C, /obj/item/lighter/greyscale)) - inserted_overlay.icon_state = "lighter_in" - else if(istype(C, /obj/item/lighter)) - inserted_overlay.icon_state = "zippo_in" - else if(candy) - inserted_overlay.icon_state = "candy" - else - inserted_overlay.icon_state = "cigarette" - - inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]" - . += inserted_overlay - cig_position++ - -/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - if(!ismob(M)) + if(!is_open || !contents.len) return - var/obj/item/clothing/mask/cigarette/cig = locate(/obj/item/clothing/mask/cigarette) in contents - if(cig) - if(M == user && contents.len > 0 && !user.wear_mask) - var/obj/item/clothing/mask/cigarette/W = cig - SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, W, M) - M.equip_to_slot_if_possible(W, ITEM_SLOT_MASK) - contents -= W - to_chat(user, "You take \a [W] out of the pack.") + + . += "[icon_state]_open" + var/cig_position = 1 + for(var/C in contents) + var/mutable_appearance/inserted_overlay = mutable_appearance(icon) + + if(istype(C, /obj/item/lighter/greyscale)) + inserted_overlay.icon_state = "lighter_in" + else if(istype(C, /obj/item/lighter)) + inserted_overlay.icon_state = "zippo_in" + else if(candy) + inserted_overlay.icon_state = "candy" else - ..() - else - to_chat(user, "There are no [icon_type]s left in the pack.") + inserted_overlay.icon_state = "cigarette" + + inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]" + . += inserted_overlay + cig_position++ + +/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/target, mob/living/carbon/user) + if(!istype(target)) + return + + var/obj/item/clothing/mask/cigarette/cig = locate() in contents + if(!cig) + to_chat(user, "There are no [contents_tag]s left in the pack.") + return + if(target != user || !contents.len || user.wear_mask) + return ..() + + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, cig, target) + target.equip_to_slot_if_possible(cig, ITEM_SLOT_MASK) + contents -= cig + to_chat(user, "You take \a [cig] out of the pack.") + return /obj/item/storage/fancy/cigarettes/dromedaryco name = "\improper DromedaryCo packet" desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" icon_state = "dromedary" + base_icon_state = "dromedary" spawn_type = /obj/item/clothing/mask/cigarette/dromedary /obj/item/storage/fancy/cigarettes/cigpack_uplift name = "\improper Uplift Smooth packet" desc = "Your favorite brand, now menthol flavored." icon_state = "uplift" + base_icon_state = "uplift" spawn_type = /obj/item/clothing/mask/cigarette/uplift /obj/item/storage/fancy/cigarettes/cigpack_robust name = "\improper Robust packet" desc = "Smoked by the robust." icon_state = "robust" + base_icon_state = "robust" spawn_type = /obj/item/clothing/mask/cigarette/robust /obj/item/storage/fancy/cigarettes/cigpack_robustgold name = "\improper Robust Gold packet" desc = "Smoked by the truly robust." icon_state = "robustg" + base_icon_state = "robustg" spawn_type = /obj/item/clothing/mask/cigarette/robustgold /obj/item/storage/fancy/cigarettes/cigpack_carp name = "\improper Carp Classic packet" desc = "Since 2313." icon_state = "carp" + base_icon_state = "carp" spawn_type = /obj/item/clothing/mask/cigarette/carp /obj/item/storage/fancy/cigarettes/cigpack_syndicate name = "cigarette packet" desc = "An obscure brand of cigarettes." icon_state = "syndie" + base_icon_state = "syndie" spawn_type = /obj/item/clothing/mask/cigarette/syndicate /obj/item/storage/fancy/cigarettes/cigpack_midori name = "\improper Midori Tabako packet" desc = "You can't understand the runes, but the packet smells funny." icon_state = "midori" + base_icon_state = "midori" spawn_type = /obj/item/clothing/mask/cigarette/rollie/nicotine /obj/item/storage/fancy/cigarettes/cigpack_candy name = "\improper Timmy's First Candy Smokes packet" desc = "Unsure about smoking? Want to bring your children safely into the family tradition? Look no more with this special packet! Includes 100%* Nicotine-Free candy cigarettes." icon_state = "candy" - icon_type = "candy cigarette" + base_icon_state = "candy" + contents_tag = "candy cigarette" spawn_type = /obj/item/clothing/mask/cigarette/candy candy = TRUE @@ -294,24 +308,28 @@ name = "\improper Shady Jim's Super Slims packet" desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" icon_state = "shadyjim" + base_icon_state = "shadyjim" spawn_type = /obj/item/clothing/mask/cigarette/shadyjims /obj/item/storage/fancy/cigarettes/cigpack_xeno name = "\improper Xeno Filtered packet" desc = "Loaded with 100% pure slime. And also nicotine." icon_state = "slime" + base_icon_state = "slime" spawn_type = /obj/item/clothing/mask/cigarette/xeno /obj/item/storage/fancy/cigarettes/cigpack_cannabis name = "\improper Freak Brothers' Special packet" desc = "A label on the packaging reads, \"Endorsed by Phineas, Freddy and Franklin.\"" icon_state = "midori" + base_icon_state = "midori" spawn_type = /obj/item/clothing/mask/cigarette/rollie/cannabis /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker name = "\improper Leary's Delight packet" desc = "Banned in over 36 galaxies." icon_state = "shadyjim" + base_icon_state = "shadyjim" spawn_type = /obj/item/clothing/mask/cigarette/rollie/mindbreaker /obj/item/storage/fancy/rollingpapers @@ -320,8 +338,8 @@ w_class = WEIGHT_CLASS_TINY icon = 'icons/obj/cigarettes.dmi' icon_state = "cig_paper_pack" - ///The value in here has NOTHING to do with icons. It needs to be this for the proper examine. - icon_type = "rolling paper" + base_icon_state = "cig_paper_pack" + contents_tag = "rolling paper" spawn_type = /obj/item/rollingpaper custom_price = 25 @@ -333,12 +351,13 @@ ///Overrides to do nothing because fancy boxes are fucking insane. /obj/item/storage/fancy/rollingpapers/update_icon_state() + SHOULD_CALL_PARENT(FALSE) return /obj/item/storage/fancy/rollingpapers/update_overlays() . = ..() if(!contents.len) - . += "[icon_state]_empty" + . += "[base_icon_state]_empty" /obj/item/storage/fancy/cigarettes/derringer name = "\improper Robust packet" @@ -389,7 +408,7 @@ icon = 'icons/obj/cigarettes.dmi' icon_state = "cigarcase" w_class = WEIGHT_CLASS_NORMAL - icon_type = "premium cigar" + base_icon_state = "cigarcase" spawn_type = /obj/item/clothing/mask/cigarette/cigar /obj/item/storage/fancy/cigarettes/cigars/ComponentInitialize() @@ -399,30 +418,31 @@ STR.set_holdable(list(/obj/item/clothing/mask/cigarette/cigar)) /obj/item/storage/fancy/cigarettes/cigars/update_icon_state() - if(fancy_open) - icon_state = "[initial(icon_state)]_open" - else - icon_state = "[initial(icon_state)]" + . = ..() + icon_state = "[base_icon_state][is_open ? "_open" : null]" /obj/item/storage/fancy/cigarettes/cigars/update_overlays() . = ..() - if(fancy_open) - var/cigar_position = 1 //generate sprites for cigars in the box - for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) - var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]_[cigar_position]") - . += cigar_overlay - cigar_position++ + if(!is_open) + return + var/cigar_position = 1 //generate sprites for cigars in the box + for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) + var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]_[cigar_position]") + . += cigar_overlay + cigar_position++ /obj/item/storage/fancy/cigarettes/cigars/cohiba name = "\improper Cohiba Robusto cigar case" desc = "A case of imported Cohiba cigars, renowned for their strong flavor." icon_state = "cohibacase" + base_icon_state = "cohibacase" spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba /obj/item/storage/fancy/cigarettes/cigars/havana name = "\improper premium Havanian cigar case" desc = "A case of classy Havanian cigars." icon_state = "cohibacase" + base_icon_state = "cohibacase" spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana /* @@ -435,10 +455,11 @@ icon = 'icons/obj/food/containers.dmi' item_state = "chocolatebox" icon_state = "chocolatebox" - icon_type = "chocolate" + base_icon_state = "chocolatebox" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' spawn_type = /obj/item/reagent_containers/food/snacks/tinychocolate + contents_tag = "chocolate" /obj/item/storage/fancy/heart_box/ComponentInitialize() . = ..() @@ -452,7 +473,8 @@ desc = "A cardboard box used for holding chicken nuggies." icon = 'icons/obj/food/containers.dmi' icon_state = "nuggetbox" - icon_type = "nugget" + base_icon_state = "nuggetbox" + contents_tag = "nugget" spawn_type = /obj/item/reagent_containers/food/snacks/nugget /obj/item/storage/fancy/nugget_box/ComponentInitialize() diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index 505db0812137..10f6ec682178 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -131,12 +131,14 @@ var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) if(locked) icon_state = "medalbox+l" - else - icon_state = "medalbox" - if(open) - icon_state += "open" - if(broken) - icon_state += "+b" + return ..() + + icon_state = "medalbox" + if(open) + icon_state += "open" + if(broken) + icon_state += "+b" + return ..() /obj/item/storage/lockbox/medal/update_overlays() . = ..() diff --git a/code/game/objects/items/storage/sixpack.dm b/code/game/objects/items/storage/sixpack.dm index aa668377b5fc..aded143b5878 100644 --- a/code/game/objects/items/storage/sixpack.dm +++ b/code/game/objects/items/storage/sixpack.dm @@ -15,6 +15,7 @@ /obj/item/storage/cans/update_icon_state() icon_state = "[initial(icon_state)][contents.len]" + return ..() /obj/item/storage/cans/Initialize() . = ..() diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 62c2e0c2ecbf..7552ec200417 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -66,10 +66,11 @@ /obj/item/storage/wallet/update_overlays() . = ..() cached_flat_icon = null - if(front_id) - . += mutable_appearance(front_id.icon, front_id.icon_state) - . += front_id.overlays - . += mutable_appearance(icon, "wallet_overlay") + if(!front_id) + return + . += mutable_appearance(front_id.icon, front_id.icon_state) + . += front_id.overlays + . += mutable_appearance(icon, "wallet_overlay") /obj/item/storage/wallet/proc/get_cached_flat_icon() if(!cached_flat_icon) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 92d5103d48b9..a7b96a9f105d 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -109,10 +109,12 @@ /obj/item/melee/baton/update_icon_state() if(turned_on) icon_state = "[initial(icon_state)]_active" - else if(!cell) + return ..() + if(!cell) icon_state = "[initial(icon_state)]_nocell" - else - icon_state = "[initial(icon_state)]" + return ..() + icon_state = "[initial(icon_state)]" + return ..() /obj/item/melee/baton/examine(mob/user) . = ..() @@ -334,14 +336,5 @@ else return ..() - -/obj/item/melee/baton/boomerang/update_icon_state() - if(turned_on) - icon_state = "[initial(icon_state)]_active" - else if(!cell) - icon_state = "[initial(icon_state)]_nocell" - else - icon_state = "[initial(icon_state)]" - /obj/item/melee/baton/boomerang/loaded //Same as above, comes with a cell. preload_cell_type = /obj/item/stock_parts/cell/high diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 96f3a42952d1..9947919ce469 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -229,6 +229,7 @@ icon_state = "supermatter_tongs_loaded" else icon_state = "supermatter_tongs" + return ..() /obj/item/hemostat/supermatter/afterattack(atom/O, mob/user, proximity) . = ..() diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index f1503957ff23..18b20cd04683 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -60,7 +60,7 @@ item_state = "[initial(item_state)]1" else item_state = "[initial(item_state)]" - + return ..() /obj/item/weldingtool/update_overlays() . = ..() diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index f9d36d30d8ff..95713e6d6eba 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -120,6 +120,7 @@ else icon_state = "[initial(icon_state)]" item_state = "[initial(item_state)]" + return ..() /obj/item/wrench/syndie name = "suspicious-looking wrench" diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 820edcc30e78..d70994554b16 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -106,13 +106,13 @@ qdel(src) /obj/item/toy/waterballoon/update_icon_state() - if(src.reagents.total_volume >= 1) + if(reagents.total_volume >= 1) icon_state = "waterballoon" item_state = "balloon" else icon_state = "waterballoon-e" item_state = "balloon-empty" - + return ..() #define BALLOON_COLORS list("red", "blue", "green", "yellow") /obj/item/toy/balloon @@ -298,6 +298,7 @@ /obj/item/toy/ammo/gun/update_icon_state() icon_state = "357OLD-[amount_left]" + return ..() /obj/item/toy/ammo/gun/examine(mob/user) . = ..() @@ -721,6 +722,7 @@ icon_state = "deck_[deckstyle]_low" else icon_state = "deck_[deckstyle]_empty" + return ..() /obj/item/toy/cards/deck/attack_self(mob/user) if(cooldown < world.time - 50) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index c149b001fb98..4c4942b5dae1 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -782,6 +782,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 //HF blade /obj/item/vibro_weapon icon_state = "hfrequency0" + base_icon_state = "hfrequency" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' name = "vibro sword" @@ -806,7 +807,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/vibro_weapon/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 20, 105) - AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="hfrequency1") + AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/vibro_weapon/proc/on_wield(obj/item/source, mob/user) @@ -821,7 +822,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 wielded = FALSE /obj/item/vibro_weapon/update_icon_state() - icon_state = "hfrequency0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/vibro_weapon/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(wielded) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index d684ebef34a2..0f5a69e30c07 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -272,6 +272,7 @@ icon_state = "4" if(AI_READY_CORE) icon_state = "ai-empty" + return ..() /obj/structure/AIcore/deconstruct(disassembled = TRUE) if(state == GLASS_CORE) diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index cab897e263fb..56b8aedcad48 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -132,17 +132,19 @@ /obj/item/canvas/update_overlays() . = ..() - if(!icon_generated) - if(used) - var/mutable_appearance/detail = mutable_appearance(icon,"[icon_state]wip") - detail.pixel_x = 1 - detail.pixel_y = 1 - . += detail - else + if(icon_generated) var/mutable_appearance/detail = mutable_appearance(generated_icon) detail.pixel_x = 1 detail.pixel_y = 1 . += detail + return + if(!used) + return + + var/mutable_appearance/detail = mutable_appearance(icon, "[icon_state]wip") + detail.pixel_x = 1 + detail.pixel_y = 1 + . += detail /obj/item/canvas/proc/generate_proper_overlay() if(icon_generated) @@ -295,6 +297,7 @@ icon_state = null else icon_state = "frame-empty" + return ..() /obj/structure/sign/painting/update_overlays() . = ..() diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index fe6bd364bae1..15f7684f2169 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -434,6 +434,7 @@ LINEN BINS icon_state = "linenbin-half" else icon_state = "linenbin-full" + return ..() /obj/structure/bedsheetbin/fire_act(exposed_temperature, exposed_volume) if(amount) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 1525ccd62994..612992c84c7c 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -62,12 +62,17 @@ dump_contents() return ..() +/obj/structure/closet/update_appearance(updates=ALL) + . = ..() + if(opened || broken || !secure) + luminosity = 0 + return + luminosity = 1 + /obj/structure/closet/update_icon() . = ..() - if(!opened) - layer = OBJ_LAYER - else - layer = BELOW_OBJ_LAYER + + layer = opened ? BELOW_OBJ_LAYER : OBJ_LAYER /obj/structure/closet/update_overlays() . = ..() @@ -75,28 +80,19 @@ /obj/structure/closet/proc/closet_update_overlays(list/new_overlays) . = new_overlays - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 - if(!opened) - if(icon_door) - . += "[icon_door]_door" - else - . += "[icon_state]_door" - if(welded) - . += icon_welded - if(secure && !broken) - //Overlay is similar enough for both that we can use the same mask for both - luminosity = 1 - SSvis_overlays.add_vis_overlay(src, icon, "locked", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - if(locked) - . += "locked" - else - . += "unlocked" - else - if(icon_door_override) - . += "[icon_door]_open" - else - . += "[icon_state]_open" + if(opened) + . += "[icon_door_override ? icon_door : icon_state]_open" + return + + . += "[icon_door || icon_state]_door" + if(welded) + . += icon_welded + + if(broken || !secure) + return + //Overlay is similar enough for both that we can use the same mask for both + SSvis_overlays.add_vis_overlay(src, icon, "locked", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + . += locked ? "locked" : "unlocked" /obj/structure/closet/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index d8f53246fc23..365d618131a4 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -37,6 +37,7 @@ /obj/structure/closet/crate/update_icon_state() icon_state = "[initial(icon_state)][opened ? "open" : ""]" + return ..() /obj/structure/closet/crate/closet_update_overlays(list/new_overlays) . = new_overlays diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm index 6b8e3ac6586e..8e0f91d56b9d 100644 --- a/code/game/objects/structures/crates_lockers/crates/bins.dm +++ b/code/game/objects/structures/crates_lockers/crates/bins.dm @@ -16,10 +16,11 @@ . = ..() if(contents.len == 0) . += "largebing" - else if(contents.len >= storage_capacity) + return + if(contents.len >= storage_capacity) . += "largebinr" - else - . += "largebino" + return + . += "largebino" /obj/structure/closet/crate/bin/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/storage/bag/trash)) diff --git a/code/game/objects/structures/crates_lockers/crates/critter.dm b/code/game/objects/structures/crates_lockers/crates/critter.dm index 78bb1b06234a..8ca58d9e20a5 100644 --- a/code/game/objects/structures/crates_lockers/crates/critter.dm +++ b/code/game/objects/structures/crates_lockers/crates/critter.dm @@ -27,16 +27,18 @@ return ..() /obj/structure/closet/crate/critter/update_icon_state() + SHOULD_CALL_PARENT(FALSE) return /obj/structure/closet/crate/critter/update_overlays() . = ..() if(opened) . += "crittercrate_door_open" - else - . += "crittercrate_door" - if(manifest) - . += "manifest" + return + + . += "crittercrate_door" + if(manifest) + . += "manifest" /obj/structure/closet/crate/critter/return_air() if(tank) diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 93a11342e274..254ed51c4c43 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -13,10 +13,11 @@ . = ..() if(broken) . += "securecrateemag" - else if(locked) + return + if(locked) . += "securecrater" - else - . += "securecrateg" + return + . += "securecrateg" /obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) if(prob(tamperproof) && damage_amount >= DAMAGE_PRECISION) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 368026e4146f..ff083b199a76 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -98,7 +98,7 @@ S.Scale(17,17) I.Blend(S,ICON_UNDERLAY,8,8) src.icon = I - return + return ..() /obj/structure/displaycase/attackby(obj/item/W, mob/user, params) if(W.GetID() && !broken && openable) @@ -396,7 +396,7 @@ S.Scale(17,17) I.Blend(S,ICON_UNDERLAY,8,12) src.icon = I - return + return ..() /obj/structure/displaycase/forsale/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm index d81a6ac4a863..cf1ebfee616e 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -41,7 +41,7 @@ to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20) update_icon() - addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), time_between_uses) /obj/structure/healingfountain/update_icon_state() @@ -49,3 +49,4 @@ icon_state = "fountain" else icon_state = "fountain-red" + return ..() diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 61aa5929d55f..5845c44c6fe5 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -23,7 +23,7 @@ /obj/structure/door_assembly/Initialize() . = ..() update_icon() - update_door_name() + update_name() /obj/structure/door_assembly/examine(mob/user) . = ..() @@ -286,7 +286,7 @@ . += get_airlock_overlay("glass_construction", overlays_file) . += get_airlock_overlay("panel_c[state+1]", overlays_file) -/obj/structure/door_assembly/proc/update_door_name() +/obj/structure/door_assembly/update_name() name = "" switch(state) if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) @@ -297,6 +297,7 @@ if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) name = "near finished " name += "[heat_proof_finished ? "heat-proofed " : ""][glass ? "window " : ""][base_name] assembly" + return ..() /obj/structure/door_assembly/proc/transfer_assembly_vars(obj/structure/door_assembly/source, obj/structure/door_assembly/target, previous = FALSE) target.glass = source.glass @@ -310,7 +311,7 @@ target.electronics = source.electronics source.electronics.forceMove(target) target.update_icon() - target.update_door_name() + target.update_name() qdel(source) /obj/structure/door_assembly/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 0cc0adf3e35a..410f9d2ec73a 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -55,20 +55,23 @@ air_update_turf(TRUE) /obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open + . = ..() + if(!density) + return + if(opening) - if(density) - icon_state = "fwall_opening" - smoothing_flags = NONE - clear_smooth_overlays() - else - icon_state = "fwall_closing" + smoothing_flags = NONE + clear_smooth_overlays() else - if(density) - icon_state = "[base_icon_state]-[smoothing_junction]" - smoothing_flags = SMOOTH_BITMASK - QUEUE_SMOOTH(src) - else - icon_state = "fwall_open" + smoothing_flags = SMOOTH_BITMASK + QUEUE_SMOOTH(src) + +/obj/structure/falsewall/update_icon_state() + if(opening) + icon_state = "fwall_[density ? "opening" : "closing"]" + return ..() + icon_state = density ? "[base_icon_state]-[smoothing_junction]" : "fwall_open" + return ..() /obj/structure/falsewall/proc/ChangeToWall(delete = 1) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 2410e478d557..3d5230c299ed 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -144,26 +144,24 @@ . = ..() if(fireaxe) . += "axe" - if(!open) - var/hp_percent = obj_integrity/max_integrity * 100 - if(broken) - . += "glass4" - else - switch(hp_percent) - if(-INFINITY to 40) - . += "glass3" - if(40 to 60) - . += "glass2" - if(60 to 80) - . += "glass1" - if(80 to INFINITY) - . += "glass" - if(locked) - . += "locked" - else - . += "unlocked" - else + if(open) . += "glass_raised" + return + var/hp_percent = obj_integrity/max_integrity * 100 + if(broken) + . += "glass4" + else + switch(hp_percent) + if(-INFINITY to 40) + . += "glass3" + if(40 to 60) + . += "glass2" + if(60 to 80) + . += "glass1" + if(80 to INFINITY) + . += "glass" + + . += locked ? "locked" : "unlocked" /obj/structure/fireaxecabinet/proc/toggle_lock(mob/user) to_chat(user, "Resetting circuitry...") diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index e761ae2dbc44..bb9af6fece33 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -71,20 +71,21 @@ /obj/structure/fireplace/update_overlays() . = ..() - if(lit) - switch(burn_time_remaining()) - if(0 to 500) - . += "fireplace_fire0" - if(500 to 1000) - . += "fireplace_fire1" - if(1000 to 1500) - . += "fireplace_fire2" - if(1500 to 2000) - . += "fireplace_fire3" - if(2000 to MAXIMUM_BURN_TIMER) - . += "fireplace_fire4" - . += "fireplace_glow" + if(!lit) + return + switch(burn_time_remaining()) + if(0 to 500) + . += "fireplace_fire0" + if(500 to 1000) + . += "fireplace_fire1" + if(1000 to 1500) + . += "fireplace_fire2" + if(1500 to 2000) + . += "fireplace_fire3" + if(2000 to MAXIMUM_BURN_TIMER) + . += "fireplace_fire4" + . += "fireplace_glow" /obj/structure/fireplace/proc/adjust_light() if(!lit) set_light(0) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index a77d857e020f..088b3c613f0b 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -3,6 +3,7 @@ name = "grille" icon = 'icons/obj/structures.dmi' icon_state = "grille" + base_icon_state = "grille" density = TRUE anchored = TRUE pass_flags_self = PASSGRILLE @@ -31,19 +32,18 @@ . = ..() update_icon() -/obj/structure/grille/update_icon() +/obj/structure/grille/update_appearance(updates) if(QDELETED(src) || broken) return - var/ratio = obj_integrity / max_integrity - ratio = CEILING(ratio*4, 1) * 25 + . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) - if(ratio > 50) - return - icon_state = "grille50_[rand(0,3)]" +/obj/structure/grille/update_icon_state() + icon_state = "[base_icon_state][((obj_integrity / max_integrity) <= 0.5) ? "50_[rand(0, 3)]" : null]" + return ..() /obj/structure/grille/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index 9588691c214e..be4fc6a464c6 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -29,10 +29,7 @@ for(var/i in 1 to contents.len) gun_overlay.pixel_x = 3 * (i - 1) . += new /mutable_appearance(gun_overlay) - if(open) - . += "[icon_state]_open" - else - . += "[icon_state]_door" + . += "[icon_state]_[open ? "open" : "door"]" /obj/structure/guncase/attackby(obj/item/I, mob/user, params) if(iscyborg(user) || isalien(user)) diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index ffdaf86bde55..9ed1af58974f 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -16,7 +16,6 @@ /obj/structure/headpike/CheckParts(list/parts_list) ..() victim = locate(/obj/item/bodypart/head) in parts_list - name = "[victim.name] on a spear" update_icon() if(bonespear) spear = locate(/obj/item/spear/bonespear) in parts_list @@ -27,6 +26,11 @@ . = ..() pixel_x = rand(-8, 8) +/obj/structure/headpike/Destroy() + QDEL_NULL(victim) + QDEL_NULL(spear) + return ..() + /obj/structure/headpike/update_overlays() . = ..() var/obj/item/bodypart/head/H = locate() in contents @@ -47,3 +51,17 @@ spear.forceMove(drop_location()) spear = null qdel(src) + +/obj/structure/headpike/update_name() + name = "[victim.real_name] on a [spear]" + return ..() + +/obj/structure/headpike/update_overlays() + . = ..() + if(!victim) + return + var/mutable_appearance/MA = new() + MA.copy_overlays(victim) + MA.pixel_y = 12 + MA.pixel_x = pixel_x + . += victim diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 088c7fdcae79..5a9282d1e371 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -60,14 +60,9 @@ up = down = null /obj/structure/ladder/update_icon_state() - if(up && down) - icon_state = "ladder11" - else if(up) - icon_state = "ladder10" - else if(down) - icon_state = "ladder01" - else //wtf make your ladders properly assholes - icon_state = "ladder00" + icon_state = "ladder[up ? 1 : 0][down ? 1 : 0]" + return ..() + /obj/structure/ladder/singularity_pull() if (!(resistance_flags & INDESTRUCTIBLE)) diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index 3a0cb6bd6db5..de2582bbb705 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -47,10 +47,8 @@ set_light(0) /obj/structure/life_candle/update_icon_state() - if(linked_minds.len) - icon_state = icon_state_active - else - icon_state = icon_state_inactive + icon_state = linked_minds.len ? icon_state_active : icon_state_inactive + return ..() /obj/structure/life_candle/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 34f42398d27b..6506d3151eb2 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -121,6 +121,7 @@ /obj/structure/mineral_door/update_icon_state() icon_state = "[initial(icon_state)][door_opened ? "open":""]" + return ..() /obj/structure/mineral_door/attackby(obj/item/I, mob/user) if(pickaxe_door(user, I)) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 3a467ebe5c41..3dcc815e2a3c 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -37,16 +37,12 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an GLOB.bodycontainers -= src open() if(connected) - qdel(connected) - connected = null + QDEL_NULL(connected) return ..() /obj/structure/bodycontainer/on_log(login) ..() - update_icon() - -/obj/structure/bodycontainer/update_icon() - return + update_appearance() /obj/structure/bodycontainer/relaymove(mob/living/user, direction) if(user.stat || !isturf(loc)) @@ -154,9 +150,12 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an desc = "Used to keep bodies in until someone fetches them. Now includes a high-tech alert system." icon_state = "morgue1" dir = EAST + /// Whether or not this morgue beeps to alert parameds of revivable corpses. var/beeper = TRUE - var/beep_cooldown = 50 - var/next_beep = 0 + /// The minimum time between beeps. + var/beep_cooldown = 5 SECONDS + /// The cooldown to prevent this from spamming beeps. + COOLDOWN_DECLARE(next_beep) /obj/structure/bodycontainer/morgue/Initialize() . = ..() @@ -174,28 +173,32 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an beeper = !beeper to_chat(user, "You turn the speaker function [beeper ? "on" : "off"].") -/obj/structure/bodycontainer/morgue/update_icon() - if (!connected || connected.loc != src) // Open or tray is gone. +/obj/structure/bodycontainer/morgue/update_icon_state() + if(!connected || connected.loc != src) // Open or tray is gone. icon_state = "morgue0" - else - if(contents.len == 1) // Empty - icon_state = "morgue1" - else - icon_state = "morgue2" // Dead, brainded mob. - var/list/compiled = GetAllContents(/mob/living) // Search for mobs in all contents. - if(!length(compiled)) // No mobs? - icon_state = "morgue3" - return - - for(var/mob/living/M in compiled) - var/mob/living/mob_occupant = get_mob_or_brainmob(M) - if(mob_occupant.client && !mob_occupant.suiciding && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)) && !mob_occupant.hellbound) - icon_state = "morgue4" // Revivable - if(mob_occupant.stat == DEAD && beeper) - if(world.time > next_beep) - playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks - next_beep = world.time + beep_cooldown - break + return ..() + + if(contents.len == 1) // Empty + icon_state = "morgue1" + return ..() + + var/list/compiled = GetAllContents(/mob/living) // Search for mobs in all contents. + if(!length(compiled)) // No mobs? + icon_state = "morgue3" + return ..() + + for(var/mob/living/M in compiled) + var/mob/living/mob_occupant = get_mob_or_brainmob(M) + if(mob_occupant.client && !mob_occupant.suiciding && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA))) + icon_state = "morgue4" // Revivable + if(mob_occupant.stat == DEAD && beeper && COOLDOWN_FINISHED(src, next_beep)) + playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks + COOLDOWN_START(src, next_beep, beep_cooldown) + return ..() + + icon_state = "morgue2" // Dead, brainded mob. + return ..() + /obj/item/paper/guides/jobs/medical/morgue @@ -210,6 +213,7 @@ GLOBAL_LIST_EMPTY(crematoriums) name = "crematorium" desc = "A human incinerator. Works well on barbecue nights." icon_state = "crema1" + base_icon_state = "crema" dir = SOUTH var/id = 1 @@ -233,20 +237,15 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/bodycontainer/crematorium/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) id = "[REF(port)][id]" -/obj/structure/bodycontainer/crematorium/update_icon() +/obj/structure/bodycontainer/crematorium/update_icon_state() if(!connected || connected.loc != src) - icon_state = "crema0" - else - - if(src.contents.len > 1) - src.icon_state = "crema2" - else - src.icon_state = "crema1" - - if(locked) - src.icon_state = "crema_active" - - return + icon_state = "[base_icon_state]0" + return ..() + if(locked) + icon_state = "[base_icon_state]_active" + return ..() + icon_state = "[base_icon_state][(contents.len > 1) ? 2 : 1]" + return ..() /obj/structure/bodycontainer/crematorium/proc/cremate(mob/user) if(locked) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 38cc7d7942d4..1ee85d8ae696 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -57,10 +57,8 @@ FLOOR SAFES I.forceMove(src) /obj/structure/safe/update_icon_state() - if(open) - icon_state = "[initial(icon_state)]-open" - else - icon_state = initial(icon_state) + icon_state = "[initial(icon_state)][open ? "-open" : null]" + return ..() /obj/structure/safe/attackby(obj/item/I, mob/user, params) if(open) diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index dcbbc63b0090..43774e62814a 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -75,10 +75,8 @@ return ..() /obj/structure/stairs/update_icon_state() - if(isTerminator()) - icon_state = "stairs_t" - else - icon_state = "stairs" + icon_state = "stairs[isTerminator() ? "_t" : null]" + return ..() /obj/structure/stairs/proc/stair_ascend(atom/movable/AM) var/turf/checking = get_step_multiz(get_turf(src), UP) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index e1b01e43df9b..0d540477684f 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -51,6 +51,7 @@ return "The top is screwed on, but the main bolts are also visible." /obj/structure/table/update_icon() + . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) QUEUE_SMOOTH_NEIGHBORS(src) diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index c557c9037ee5..d17d8445998f 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -21,10 +21,8 @@ return ..() /obj/structure/transit_tube_pod/update_icon_state() - if(contents.len) - icon_state = occupied_icon_state - else - icon_state = initial(icon_state) + icon_state = contents.len ? occupied_icon_state : initial(icon_state) + return ..() /obj/structure/transit_tube_pod/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_CROWBAR) diff --git a/code/game/objects/structures/votingbox.dm b/code/game/objects/structures/votingbox.dm index 197988c45650..9219fe8c2104 100644 --- a/code/game/objects/structures/votingbox.dm +++ b/code/game/objects/structures/votingbox.dm @@ -211,6 +211,7 @@ /obj/structure/votebox/update_icon_state() icon_state = "votebox_[voting_active ? "active" : "maint"]" + return ..() #undef VOTE_TEXT_LIMIT #undef MAX_VOTES diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 511473f06d1c..0187faa1a3d0 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -76,6 +76,7 @@ /obj/structure/toilet/update_icon_state() icon_state = "toilet[open][cistern]" + return ..() /obj/structure/toilet/deconstruct() if(!(flags_1 & NODECONSTRUCT_1)) @@ -436,20 +437,20 @@ /obj/structure/curtain/proc/toggle() open = !open - update_icon() - -/obj/structure/curtain/update_icon() - if(!open) - icon_state = "[icon_type]-closed" + if(open) + layer = SIGN_LAYER + density = FALSE + set_opacity(FALSE) + else layer = WALL_OBJ_LAYER - open = FALSE if(opaque_closed) set_opacity(TRUE) - else - icon_state = "[icon_type]-open" - layer = SIGN_LAYER - open = TRUE - set_opacity(FALSE) + + update_appearance() + +/obj/structure/curtain/update_icon_state() + icon_state = "[icon_type]-[open ? "open" : "closed"]" + return ..() /obj/structure/curtain/attackby(obj/item/W, mob/user) if (istype(W, /obj/item/toy/crayon)) diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index a187b49db9b9..d7fd66553a29 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -55,6 +55,7 @@ /obj/structure/windoor_assembly/update_icon_state() icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]" + return ..() /obj/structure/windoor_assembly/CanAllowThrough(atom/movable/mover, turf/target) . = ..() diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 8c6d1f5c18a8..a4867024b04f 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -327,21 +327,19 @@ //merges adjacent full-tile windows into one /obj/structure/window/update_overlays() . = ..() - if(!QDELETED(src)) - if(!fulltile) - return - - var/ratio = obj_integrity / max_integrity - ratio = CEILING(ratio*4, 1) * 25 + if(QDELETED(src) || !fulltile) + return - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) - QUEUE_SMOOTH(src) + if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + QUEUE_SMOOTH(src) - cut_overlay(crack_overlay) - if(ratio > 75) - return - crack_overlay = mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1)) - . += crack_overlay + var/ratio = obj_integrity / max_integrity + ratio = CEILING(ratio*4, 1) * 25 + cut_overlay(crack_overlay) + if(ratio > 75) + return + crack_overlay = mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1)) + . += crack_overlay /obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) @@ -782,24 +780,25 @@ user.visible_message("[user] knocks on [src].") playsound(src, "pageturn", 50, TRUE) else - take_damage(4,BRUTE,"melee", 0) + take_damage(4, BRUTE, "melee", 0) playsound(src, hitsound, 50, TRUE) if(!QDELETED(src)) user.visible_message("[user] tears a hole in [src].") - update_icon() + update_appearance() + +/obj/structure/window/paperframe/update_appearance(updates) + . = ..() + set_opacity(obj_integrity >= max_integrity) + /obj/structure/window/paperframe/update_icon() - if(obj_integrity < max_integrity) - cut_overlay(paper) - add_overlay(torn) - set_opacity(FALSE) - else - cut_overlay(torn) - add_overlay(paper) - set_opacity(TRUE) + . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) +/obj/structure/window/paperframe/update_overlays() + . = ..() + . += (obj_integrity < max_integrity) ? torn : paper /obj/structure/window/paperframe/attackby(obj/item/W, mob/user) if(W.get_temperature()) diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index a0f803ddc983..0ffdc3667edb 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -220,16 +220,21 @@ switch(d_state) if(SUPPORT_LINES, COVER) icon = 'icons/turf/walls/rwalls/reinforced_wall_2.dmi' + return ..() if(CUT_COVER) icon = 'icons/turf/walls/rwalls/reinforced_wall_3.dmi' + return ..() if(ANCHOR_BOLTS, SUPPORT_RODS) icon = 'icons/turf/walls/rwalls/reinforced_wall_4.dmi' + return ..() if(SHEATH) icon = 'icons/turf/walls/rwalls/reinforced_wall_5.dmi' + return ..() else icon = initial(icon) base_icon_state = initial(base_icon_state) icon_state = "[base_icon_state]-[smoothing_junction]" + return ..() /turf/closed/wall/r_wall/wall_singularity_pull(current_size) if(current_size >= STAGE_FIVE) diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index 2eb01418bf8b..ef9a22462b08 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -58,29 +58,41 @@ state = pick(LIGHTFLOOR_FLICKER, LIGHTFLOOR_BREAKING, LIGHTFLOOR_BROKEN)/// pick a broken state update_icon() -/turf/open/floor/light/update_icon() - ..() - if(on) - switch(state) - if(LIGHTFLOOR_FINE) - icon_state = "light_on-[LAZYFIND(coloredlights, currentcolor)]" - set_light_color(currentcolor) - set_light(5) - light_range = 3 - if(LIGHTFLOOR_FLICKER) - icon_state = "light_on_flicker-[LAZYFIND(coloredlights, currentcolor)]" - set_light_color(currentcolor) - set_light(3) - light_range = 2 - if(LIGHTFLOOR_BREAKING) - icon_state = "light_on_broken" - set_light(1) - if(LIGHTFLOOR_BROKEN) - icon_state = "light_off" - set_light(0) - else +/turf/open/floor/light/update_appearance(updates) + . = ..() + if(!on) set_light(0) + return + + switch(state) + if(LIGHTFLOOR_FINE) + set_light_color(currentcolor) + set_light(5) + light_range = 3 + if(LIGHTFLOOR_FLICKER) + set_light_color(currentcolor) + set_light(3) + light_range = 2 + if(LIGHTFLOOR_BREAKING) + set_light(1) + if(LIGHTFLOOR_BROKEN) + set_light(0) + +/turf/open/floor/light/update_icon_state() + if(!on) icon_state = "light_off" + return ..() + + switch(state) + if(LIGHTFLOOR_FINE) + icon_state = "light_on-[LAZYFIND(coloredlights, currentcolor)]" + if(LIGHTFLOOR_FLICKER) + icon_state = "light_on_flicker-[LAZYFIND(coloredlights, currentcolor)]" + if(LIGHTFLOOR_BREAKING) + icon_state = "light_on_broken" + if(LIGHTFLOOR_BROKEN) + icon_state = "light_off" + return ..() /turf/open/floor/light/ChangeTurf(path, new_baseturf, flags) set_light(0) diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm index 55bc1404b0b9..476a69fa468d 100644 --- a/code/game/turfs/open/floor/mineral_floor.dm +++ b/code/game/turfs/open/floor/mineral_floor.dm @@ -23,12 +23,10 @@ icons = typelist("icons", icons) -/turf/open/floor/mineral/update_icon() - if(!..()) - return 0 - if(!broken && !burnt) - if(!(icon_state in icons)) - icon_state = initial(icon_state) +/turf/open/floor/mineral/update_icon_state() + if(!broken && !burnt && !(icon_state in icons)) + icon_state = initial(icon_state) + return ..() //PLASMA diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index 8f9185d16ba9..e4018b3bbbe3 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -27,18 +27,18 @@ SSmapping.nuke_tiles -= src return ..() -/turf/open/floor/circuit/update_icon() - if(on) - if(LAZYLEN(SSmapping.nuke_threats)) - icon_state = "rcircuitanim" - set_light_color(LIGHT_COLOR_FLARE) - else - icon_state = icon_normal - set_light_color(initial(light_color)) - set_light(1.4, 0.5) - else - icon_state = "[icon_normal]off" +/turf/open/floor/circuit/update_appearance(updates) + . = ..() + if(!on) set_light(0) + return + + set_light_color(LAZYLEN(SSmapping.nuke_threats) ? LIGHT_COLOR_FLARE : initial(light_color)) + set_light(1.4, 0.5) + +/turf/open/floor/circuit/update_icon_state() + icon_state = on ? (LAZYLEN(SSmapping.nuke_threats) ? "rcircuitanim" : icon_normal) : "[icon_normal]off" + return ..() /turf/open/floor/circuit/off icon_state = "bcircuitoff" diff --git a/code/game/turfs/open/floor/plasteel_floor.dm b/code/game/turfs/open/floor/plasteel_floor.dm index 3f0c6a662055..10760b3af5cf 100644 --- a/code/game/turfs/open/floor/plasteel_floor.dm +++ b/code/game/turfs/open/floor/plasteel_floor.dm @@ -12,8 +12,9 @@ /turf/open/floor/plasteel/update_icon_state() if(broken || burnt) - return + return ..() icon_state = base_icon_state + return ..() /turf/open/floor/plasteel/airless initial_gas_mix = AIRLESS_ATMOS diff --git a/code/game/turfs/open/space/transit.dm b/code/game/turfs/open/space/transit.dm index 629433bb81a1..117d054c8c37 100644 --- a/code/game/turfs/open/space/transit.dm +++ b/code/game/turfs/open/space/transit.dm @@ -58,6 +58,7 @@ /turf/open/space/transit/update_icon_state() icon_state = "speedspace_ns_[get_transit_state(src)]" + return ..() /proc/get_transit_state(turf/T) var/p = 9 diff --git a/code/modules/NTNet/relays.dm b/code/modules/NTNet/relays.dm index 54fd9d3f370a..55df449d8c2b 100644 --- a/code/modules/NTNet/relays.dm +++ b/code/modules/NTNet/relays.dm @@ -59,10 +59,8 @@ /obj/machinery/ntnet_relay/update_icon_state() - if(is_operational) - icon_state = "bus" - else - icon_state = "bus_off" + icon_state = "bus[is_operational ? null : "_off"]" + return ..() /obj/machinery/ntnet_relay/process() if(is_operational) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 6551632978ba..5871ae981b6c 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -488,6 +488,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} update_icon() /obj/item/melee/baton/abductor/update_icon_state() + . = ..() switch(mode) if(BATON_STUN) icon_state = "wonderprodStun" @@ -501,6 +502,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(BATON_PROBE) icon_state = "wonderprodProbe" item_state = "wonderprodProbe" + return ..() /obj/item/melee/baton/abductor/attack(mob/target, mob/living/user) if(!AbductorCheck(user)) diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index 0f8b770db4be..f0e68a84a95f 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -183,7 +183,5 @@ return /obj/machinery/abductor/experiment/update_icon_state() - if(state_open) - icon_state = "experiment-open" - else - icon_state = "experiment" + icon_state = "experiment[state_open ? "-open" : null]" + return ..() diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 1fb0b0b12142..a2ddefdfc9c1 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -72,6 +72,7 @@ return !atmosblock /obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. + . = ..() if(overmind) add_atom_colour(overmind.blobstrain.color, FIXED_COLOUR_PRIORITY) else @@ -334,20 +335,27 @@ return "Currently weak to brute damage." return "N/A" -/obj/structure/blob/normal/update_icon() - ..() +/obj/structure/blob/normal/update_name() + . = ..() + name = "[(obj_integrity <= 15) ? "fragile " : (overmind ? null : "dead ")][initial(name)]" + +/obj/structure/blob/normal/update_desc() + . = ..() if(obj_integrity <= 15) - icon_state = "blob_damaged" - name = "fragile blob" desc = "A thin lattice of slightly twitching tendrils." + else if(overmind) + desc = "A thick wall of writhing tendrils." + else + desc = "A thick wall of lifeless tendrils." + +/obj/structure/blob/normal/update_icon_state() + icon_state = "blob[(obj_integrity <= 15) ? "_damaged" : null]" + + /// - [] TODO: Move this elsewhere + if(obj_integrity <= 15) brute_resist = 0.5 else if (overmind) - icon_state = "blob" - name = "blob" - desc = "A thick wall of writhing tendrils." brute_resist = 0.25 else - icon_state = "blob" - name = "dead blob" - desc = "A thick wall of lifeless tendrils." brute_resist = 0.25 + return ..() diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm index 37c5cf42a90d..8931001e3cbc 100644 --- a/code/modules/antagonists/blob/structures/core.dm +++ b/code/modules/antagonists/blob/structures/core.dm @@ -21,24 +21,27 @@ update_icon() . = ..() +/obj/structure/blob/special/core/Destroy() + GLOB.blob_cores -= src + if(overmind) + overmind.blob_core = null + overmind = null + STOP_PROCESSING(SSobj, src) + return ..() + /obj/structure/blob/core/scannerreport() return "Directs the blob's expansion, gradually expands, and sustains nearby blob spores and blobbernauts." -/obj/structure/blob/core/update_icon() - cut_overlays() - color = null +/obj/structure/blob/special/core/update_overlays() + . = ..() var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") if(overmind) blob_overlay.color = overmind.blobstrain.color - add_overlay(blob_overlay) - add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay")) + . += blob_overlay + . += mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay") -/obj/structure/blob/core/Destroy() - GLOB.blob_cores -= src - if(overmind) - overmind.blob_core = null - overmind = null - STOP_PROCESSING(SSobj, src) +/obj/structure/blob/special/core/update_icon() + color = null GLOB.poi_list -= src return ..() diff --git a/code/modules/antagonists/blob/structures/node.dm b/code/modules/antagonists/blob/structures/node.dm index 8a8645c1518d..de7c674b807c 100644 --- a/code/modules/antagonists/blob/structures/node.dm +++ b/code/modules/antagonists/blob/structures/node.dm @@ -19,13 +19,16 @@ return "Gradually expands and sustains nearby blob spores and blobbernauts." /obj/structure/blob/node/update_icon() - cut_overlays() color = null + return ..() + +/obj/structure/blob/special/node/update_overlays() + . = ..() var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") if(overmind) blob_overlay.color = overmind.blobstrain.color - add_overlay(blob_overlay) - add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay")) + . += blob_overlay + . += mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay") /obj/structure/blob/node/Destroy() GLOB.blob_nodes -= src diff --git a/code/modules/antagonists/blob/structures/shield.dm b/code/modules/antagonists/blob/structures/shield.dm index bd0e8c62c683..f0a01f70e1a8 100644 --- a/code/modules/antagonists/blob/structures/shield.dm +++ b/code/modules/antagonists/blob/structures/shield.dm @@ -19,19 +19,23 @@ /obj/structure/blob/shield/core point_return = 0 -/obj/structure/blob/shield/update_icon() - ..() - if(obj_integrity < max_integrity * 0.5) - icon_state = "[initial(icon_state)]_damaged" - name = "weakened [initial(name)]" - desc = "[damaged_desc]" - atmosblock = FALSE - else - icon_state = initial(icon_state) - name = initial(name) - desc = initial(desc) - atmosblock = TRUE - air_update_turf(1) +/obj/structure/blob/shield/update_name(updates) + . = ..() + name = "[(obj_integrity < (max_integrity * 0.5)) ? "weakened " : null][initial(name)]" + +/obj/structure/blob/shield/update_desc(updates) + . = ..() + desc = (obj_integrity < (max_integrity * 0.5)) ? "[damaged_desc]" : initial(desc) + +/obj/structure/blob/shield/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir) + . = ..() + if(. && obj_integrity > 0) + atmosblock = obj_integrity < (max_integrity * 0.5) + air_update_turf(TRUE, atmosblock) + +/obj/structure/blob/shield/update_icon_state() + icon_state = "[initial(icon_state)][(obj_integrity < (max_integrity * 0.5)) ? "_damaged" : null]" + return ..() /obj/structure/blob/shield/reflective name = "reflective blob" diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 8a8736d32c5a..7eb00197b742 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -379,6 +379,7 @@ /obj/item/sharpener/cult/update_icon_state() icon_state = "cult_sharpener[used ? "_used" : ""]" + return ..() /obj/item/clothing/suit/hooded/cultrobes/cult_shield name = "empowered cultist armor" @@ -580,6 +581,7 @@ name = "blood halberd" desc = "A sickening spear composed entirely of crystallized blood." icon_state = "bloodspear0" + base_icon_state = "occultpoleaxe" lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' slot_flags = 0 @@ -602,7 +604,7 @@ /obj/item/cult_spear/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 100, 90) - AddComponent(/datum/component/two_handed, force_unwielded=17, force_wielded=24, icon_wielded="bloodspear1") + AddComponent(/datum/component/two_handed, force_unwielded=17, force_wielded=24, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/cult_spear/proc/on_wield(obj/item/source, mob/user) @@ -617,7 +619,8 @@ wielded = FALSE /obj/item/cult_spear/update_icon_state() - icon_state = "bloodspear0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/cult_spear/Destroy() if(spear_act) diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index f2f6856755d6..ccd2238d2fa9 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -62,6 +62,7 @@ /obj/structure/destructible/cult/update_icon_state() icon_state = "[initial(icon_state)][anchored ? null : "_off"]" + return ..() /obj/structure/destructible/cult/attackby(obj/I, mob/user, params) if(istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user)) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 3b7d0ea15e70..94c3d7febee9 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -180,7 +180,7 @@ /obj/machinery/nuclearbomb/update_icon_state() if(deconstruction_state != NUKESTATE_INTACT) icon_state = "nuclearbomb_base" - return + return ..() switch(get_nuke_state()) if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) icon_state = "nuclearbomb_base" @@ -188,6 +188,7 @@ icon_state = "nuclearbomb_timing" if(NUKE_ON_EXPLODING) icon_state = "nuclearbomb_exploding" + return ..() /obj/machinery/nuclearbomb/update_overlays() . += ..() diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index b040be6b05d9..9cfd066479dc 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -18,8 +18,12 @@ throw_range = 7 drop_sound = 'sound/items/handling/component_drop.ogg' pickup_sound = 'sound/items/handling/component_pickup.ogg' - var/is_position_sensitive = FALSE //set to true if the device has different icons for each position. - //This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_icon() + + /** + * Set to true if the device has different icons for each position. + * This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance() + */ + var/is_position_sensitive = FALSE var/secured = TRUE var/list/attached_overlays = null var/obj/item/assembly_holder/holder = null diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index bbbd54feed12..2109ce75c1cc 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -26,10 +26,13 @@ /obj/item/onetankbomb/examine(mob/user) return bombtank.examine(user) +/obj/item/onetankbomb/update_icon(updates) + icon = bombtank?.icon || initial(icon) + return ..() + /obj/item/onetankbomb/update_icon_state() - if(bombtank) - icon = bombtank.icon - icon_state = bombtank.icon_state + icon_state = bombtank?.icon_state || initial(icon_state) + return ..() /obj/item/onetankbomb/update_overlays() . = ..() diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 3b61fbdd3317..75ffa592ca11 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -14,6 +14,9 @@ light_color = COLOR_WHITE light_power = FLASH_LIGHT_POWER light_on = FALSE + /// Whether we currently have the flashing overlay. + var/flashing = FALSE + /// The overlay we use for flashing. var/flashing_overlay = "flash-f" var/times_used = 0 //Number of times it's been used. var/burnt_out = FALSE //Is the flash burnt out? @@ -34,18 +37,22 @@ attack(user,user) return FIRELOSS -/obj/item/assembly/flash/update_icon(flash = FALSE) - cut_overlays() +/obj/item/assembly/flash/update_icon(updates=ALL, flash = FALSE) + flashing = flash + . = ..() + if(flash) + addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) + holder?.update_icon(updates) + +/obj/item/assembly/flash/update_overlays() attached_overlays = list() + . = ..() if(burnt_out) - add_overlay("flashburnt") + . += "flashburnt" attached_overlays += "flashburnt" - if(flash) - add_overlay(flashing_overlay) + if(flashing) + . += flashing_overlay attached_overlays += flashing_overlay - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) - if(holder) - holder.update_icon() /obj/item/assembly/flash/proc/clown_check(mob/living/carbon/human/user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) @@ -105,7 +112,7 @@ addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) times_used++ flash_recharge() - update_icon(TRUE) + update_icon(ALL, TRUE) if(user && !clown_check(user)) return FALSE return TRUE @@ -156,7 +163,7 @@ else if(issilicon(M)) var/mob/living/silicon/robot/R = M log_combat(user, R, "flashed", src) - update_icon(1) + update_icon(ALL, TRUE) R.Paralyze(rand(80,120)) var/diff = 5 * CONFUSION_STACK_MAX_MULTIPLIER - M.confused R.confused += min(5, diff) @@ -253,7 +260,7 @@ overheat = TRUE addtimer(CALLBACK(src, .proc/cooldown), flashcd) playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) - update_icon(1) + update_icon(ALL, TRUE) return TRUE diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index cf517fa4eb55..b216433e6cb2 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -51,27 +51,31 @@ a_right = A A.holder_movement() -/obj/item/assembly_holder/update_icon() - cut_overlays() +/obj/item/assembly_holder/update_appearance(updates=ALL) + . = ..() + master?.update_appearance(updates) + +/obj/item/assembly_holder/update_overlays() + . = ..() if(a_left) - add_overlay("[a_left.icon_state]_left") - for(var/O in a_left.attached_overlays) - add_overlay("[O]_l") + . += "[a_left.icon_state]_left" + for(var/left_overlay in a_left.attached_overlays) + . += "[left_overlay]_l" + if(!a_right) + return - if(a_right) - if(a_right.is_position_sensitive) - add_overlay("[a_right.icon_state]_right") - for(var/O in a_right.attached_overlays) - add_overlay("[O]_r") - else - var/mutable_appearance/right = mutable_appearance(icon, "[a_right.icon_state]_left") - right.transform = matrix(-1, 0, 0, 0, 1, 0) - for(var/O in a_right.attached_overlays) - right.add_overlay("[O]_l") - add_overlay(right) + if(a_right.is_position_sensitive) + . += "[a_right.icon_state]_right" + for(var/right_overlay in a_right.attached_overlays) + . += "[right_overlay]_r" + return + + var/mutable_appearance/right = mutable_appearance(icon, "[a_right.icon_state]_left") + right.transform = matrix(-1, 0, 0, 0, 1, 0) + for(var/right_overlay in a_right.attached_overlays) + right.add_overlay("[right_overlay]_l") + . += right - if(master) - master.update_icon() /obj/item/assembly_holder/proc/on_entered(datum/source, atom/movable/AM as mob|obj) SIGNAL_HANDLER diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 734a14220c2a..bbb8a5631ba0 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -56,19 +56,20 @@ update_icon() return secured -/obj/item/assembly/infra/update_icon() - cut_overlays() - attached_overlays = list() - if(on) - add_overlay("infrared_on") - attached_overlays += "infrared_on" - if(visible && secured) - add_overlay("infrared_visible") - attached_overlays += "infrared_visible" +/obj/item/assembly/infra/update_appearance(updates=ALL) + . = ..() + holder?.update_appearance(updates) - if(holder) - holder.update_icon() - return +/obj/item/assembly/infra/update_overlays() + . = ..() + attached_overlays = list() + if(!on) + return + . += "infrared_on" + attached_overlays += "infrared_on" + if(visible && secured) + . += "infrared_visible" + attached_overlays += "infrared_visible" /obj/item/assembly/infra/dropped() . = ..() diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index e96d602c3cae..ee6a967be956 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -27,13 +27,13 @@ update_icon() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) -/obj/item/assembly/mousetrap/update_icon() - if(armed) - icon_state = "mousetraparmed" - else - icon_state = "mousetrap" - if(holder) - holder.update_icon() +/obj/item/assembly/mousetrap/update_icon_state() + icon_state = "mousetrap[armed ? "armed" : ""]" + return ..() + +/obj/item/assembly/mousetrap/update_icon(updates=ALL) + . = ..() + holder?.update_icon(updates) /obj/item/assembly/mousetrap/proc/triggered(mob/target, type = "feet") if(!armed) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 5877f1d9c687..ee114181017e 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -93,18 +93,19 @@ if(scanning && proximity_monitor.SetRange(sense)) sense() -/obj/item/assembly/prox_sensor/update_icon() - cut_overlays() +/obj/item/assembly/prox_sensor/update_appearance() + . = ..() + holder?.update_appearance() + +/obj/item/assembly/prox_sensor/update_overlays() + . = ..() attached_overlays = list() if(timing) add_overlay("prox_timing") - attached_overlays += "prox_timing" + . += "prox_timing" if(scanning) add_overlay("prox_scanning") - attached_overlays += "prox_scanning" - if(holder) - holder.update_icon() - return + . += "prox_scanning" /obj/item/assembly/prox_sensor/ui_status(mob/user) if(is_secured(user)) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index a5be27f88526..9e1dcd1e3144 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -58,10 +58,9 @@ signal() return TRUE -/obj/item/assembly/signaler/update_icon() - if(holder) - holder.update_icon() - return +/obj/item/assembly/signaler/update_appearance() + . = ..() + holder?.update_appearance() /obj/item/assembly/signaler/ui_status(mob/user) if(is_secured(user)) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 2d4fef6464b3..a6ceb35859e7 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -73,14 +73,16 @@ timer_end() time = saved_time -/obj/item/assembly/timer/update_icon() - cut_overlays() +/obj/item/assembly/timer/update_appearance() + . = ..() + holder?.update_appearance() + +/obj/item/assembly/timer/update_overlays() + . = ..() attached_overlays = list() if(timing) - add_overlay("timer_timing") + . += "timer_timing" attached_overlays += "timer_timing" - if(holder) - holder.update_icon() /obj/item/assembly/timer/ui_status(mob/user) if(is_secured(user)) diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index cc9e94b91567..f0fc9a2e4fbc 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -656,7 +656,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) icon_state = "alarm_b2" if(0) icon_state = "alarm_b1" - return + return ..() icon_state = "alarm" return ..() diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 46ecc06af84b..324819339e35 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -45,7 +45,7 @@ plane = showpipe ? FLOOR_PLANE : FLOOR_PLANE if(!showpipe) - return + return ..() var/connected = 0 //Direction bitset @@ -62,6 +62,7 @@ if(!shift_underlay_only) PIPING_LAYER_SHIFT(src, piping_layer) + return ..() /obj/machinery/atmospherics/components/proc/get_pipe_underlay(state, dir, color = null) if(color) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 1797b361539b..357681700d92 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -39,22 +39,13 @@ SSradio.remove_object(src,frequency) return ..() -/obj/machinery/atmospherics/components/trinary/filter/update_icon() - cut_overlays() +/obj/machinery/atmospherics/components/trinary/filter/update_overlays() + . = ..() for(var/direction in GLOB.cardinals) if(!(direction & initialize_directions)) continue var/obj/machinery/atmospherics/node = findConnecting(direction) - - var/image/cap - if(node) - cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer, trinary = TRUE) - else - cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer, trinary = TRUE) - - add_overlay(cap) - - return ..() + . += getpipeimage(icon, "cap", direction, node?.pipe_color, piping_layer, TRUE) /obj/machinery/atmospherics/components/trinary/filter/update_icon_nopipes() var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 47ec5369254a..08e529b6c7c9 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -31,22 +31,14 @@ update_icon() return ..() -/obj/machinery/atmospherics/components/trinary/mixer/update_icon() - cut_overlays() +/obj/machinery/atmospherics/components/trinary/mixer/update_overlays() + . = ..() for(var/direction in GLOB.cardinals) if(!(direction & initialize_directions)) continue - var/obj/machinery/atmospherics/node = findConnecting(direction) - - var/image/cap - if(node) - cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer, trinary = TRUE) - else - cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer, trinary = TRUE) - add_overlay(cap) - - return ..() + var/obj/machinery/atmospherics/node = findConnecting(direction) + . += getpipeimage(icon, "cap", direction, node?.pipe_color, piping_layer, TRUE) /obj/machinery/atmospherics/components/trinary/mixer/update_icon_nopipes() var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 2fccbc914f91..be1c6993a2a7 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -102,7 +102,7 @@ beaker = null /obj/machinery/atmospherics/components/unary/cryo_cell/update_icon() - + . = ..() cut_overlays() if(panel_open) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm b/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm index 26c473c975f7..a73d70bb99f7 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm @@ -23,13 +23,15 @@ piping_layer = 4 icon_state = "he_map-4" +/obj/machinery/atmospherics/components/unary/heat_exchanger/update_icon_state() + icon_state = "he[nodes[1] ? 1 : 0]" + return ..() + /obj/machinery/atmospherics/components/unary/heat_exchanger/update_icon() + . = ..() if(nodes[1]) - icon_state = "he1" var/obj/machinery/atmospherics/node = nodes[1] add_atom_colour(node.color, FIXED_COLOUR_PRIORITY) - else - icon_state = "he0" PIPING_LAYER_SHIFT(src, piping_layer) /obj/machinery/atmospherics/components/unary/heat_exchanger/atmosinit() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index 71828ab24921..f64f31a52382 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -41,17 +41,20 @@ B += M.rating heat_capacity = 5000 * ((B - 1) ** 2) -/obj/machinery/atmospherics/components/unary/thermomachine/update_icon() - cut_overlays() +/obj/machinery/atmospherics/components/unary/thermomachine/update_icon_state() if(panel_open) icon_state = icon_state_open - else if(on && is_operational) + return ..() + if(on && is_operational) icon_state = icon_state_on - else - icon_state = icon_state_off + return ..() + icon_state = icon_state_off + return ..() - add_overlay(getpipeimage(icon, "pipe", dir, , piping_layer)) +/obj/machinery/atmospherics/components/unary/thermomachine/update_overlays() + . = ..() + . += getpipeimage(icon, "pipe", dir, , piping_layer) /obj/machinery/atmospherics/components/unary/thermomachine/update_icon_nopipes() cut_overlays() diff --git a/code/modules/atmospherics/machinery/other/miner.dm b/code/modules/atmospherics/machinery/other/miner.dm index 5500e1bed375..538508e74908 100644 --- a/code/modules/atmospherics/machinery/other/miner.dm +++ b/code/modules/atmospherics/machinery/other/miner.dm @@ -113,7 +113,9 @@ . = ..() if(broken) . += "broken" - else if(active) + return + + if(active) var/mutable_appearance/on_overlay = mutable_appearance(icon, "on") on_overlay.color = overlay_color . += on_overlay diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm index ebb23870d2af..b7fca049449c 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm @@ -30,9 +30,9 @@ return ..(target, given_layer, FALSE) //we want a normal pipe instead return ..(target, given_layer, TRUE) -/obj/machinery/atmospherics/pipe/heat_exchanging/junction/update_icon() +/obj/machinery/atmospherics/pipe/heat_exchanging/junction/update_icon_state() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" - update_layer() + return ..() /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm index 675ef020ba22..61d909c7fc71 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm @@ -26,18 +26,16 @@ initialize_directions = ALL_CARDINALS initialize_directions &= ~dir -/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/update_overlays() + . = ..() PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) - - update_layer() + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) /obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm index 366edcece03f..57e9b6ea797b 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm @@ -24,18 +24,16 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/SetInitDirections() initialize_directions = initial(initialize_directions) -/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/manifold4w/update_overlays() + . = ..() PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) - - update_layer() + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm index d80caf175a12..debbe9350c14 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm @@ -24,9 +24,9 @@ if(EAST, WEST) initialize_directions = EAST|WEST -/obj/machinery/atmospherics/pipe/heat_exchanging/simple/update_icon() +/obj/machinery/atmospherics/pipe/heat_exchanging/simple/update_icon_state() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" - update_layer() + return ..() /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index 4e838eee617f..98bd8cf2f162 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -42,34 +42,35 @@ /obj/machinery/atmospherics/pipe/layer_manifold/proc/get_all_connected_nodes() return front_nodes + back_nodes + nodes -/obj/machinery/atmospherics/pipe/layer_manifold/update_icon() //HEAVILY WIP FOR UPDATE ICONS!! +/obj/machinery/atmospherics/pipe/layer_manifold/update_layer() cut_overlays() layer = initial(layer) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE) //This is above everything else. +/obj/machinery/atmospherics/pipe/layer_manifold/update_overlays() + . = ..() + for(var/node in front_nodes) - add_attached_images(node) + . += get_attached_images(node) for(var/node in back_nodes) - add_attached_images(node) + . += get_attached_images(node) -/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_images(obj/machinery/atmospherics/A) +/obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_images(obj/machinery/atmospherics/A) if(!A) return + + . = list() if(istype(A, /obj/machinery/atmospherics/pipe/layer_manifold)) for(var/i in PIPING_LAYER_MIN to PIPING_LAYER_MAX) - add_attached_image(get_dir(src, A), i) - return - add_attached_image(get_dir(src, A), A.piping_layer, A.pipe_color) + . += get_attached_image(get_dir(src, A), i) + return + . += get_attached_image(get_dir(src, A), A.piping_layer, A.pipe_color) -/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_image(p_dir, p_layer, p_color = null) - var/image/I +/obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_image(p_dir, p_layer, p_color = null) - if(p_color) - I = getpipeimage(icon, "pipe", p_dir, p_color, piping_layer = p_layer) - else - I = getpipeimage(icon, "pipe", p_dir, piping_layer = p_layer) + var/image/I = getpipeimage(icon, "pipe-3", p_dir, p_color, p_layer) I.layer = layer - 0.01 - add_overlay(I) + return I /obj/machinery/atmospherics/pipe/layer_manifold/SetInitDirections() switch(dir) diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index 9316e14d398a..e67beb38eb4b 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -35,16 +35,15 @@ initialize_directions = ALL_CARDINALS initialize_directions &= ~dir -/obj/machinery/atmospherics/pipe/manifold/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/manifold/update_overlays() + . = ..() + if(!center) center = mutable_appearance(icon, "manifold_center") PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) - - update_layer() + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm index c00f36cdbfff..f52f0daa53b7 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm @@ -29,16 +29,16 @@ /obj/machinery/atmospherics/pipe/manifold4w/SetInitDirections() initialize_directions = initial(initialize_directions) -/obj/machinery/atmospherics/pipe/manifold4w/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_overlays() + . = ..() if(!center) center = mutable_appearance(icon, "manifold_center") PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) update_layer() diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 720d22f6bff2..fcadc8cd4ff6 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -95,6 +95,10 @@ qdel(meter) . = ..() +/obj/machinery/atmospherics/pipe/update_icon() + . = ..() + update_layer() + /obj/machinery/atmospherics/pipe/proc/update_node_icon() for(var/i in 1 to device_type) if(nodes[i]) diff --git a/code/modules/atmospherics/machinery/pipes/simple.dm b/code/modules/atmospherics/machinery/pipes/simple.dm index 3c945933dd18..0fdba0c1dd0b 100644 --- a/code/modules/atmospherics/machinery/pipes/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/simple.dm @@ -31,6 +31,6 @@ if(EAST, WEST) initialize_directions = EAST|WEST -/obj/machinery/atmospherics/pipe/simple/update_icon() +/obj/machinery/atmospherics/pipe/simple/update_icon_state() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" - update_layer() + return ..() diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 18601d8efc9c..7c3e96b5e24d 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -219,6 +219,7 @@ /obj/machinery/portable_atmospherics/canister/update_icon_state() if(machine_stat & BROKEN) icon_state = "[icon_state]-1" + return ..() /obj/machinery/portable_atmospherics/canister/update_overlays() . = ..() diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 317a55e47d55..300d6dcf7f44 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -32,6 +32,7 @@ /obj/machinery/portable_atmospherics/pump/update_icon_state() icon_state = "psiphon:[on]" + return ..() /obj/machinery/portable_atmospherics/pump/update_overlays() . = ..() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index fddd2d362fa7..74564970256d 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -18,6 +18,7 @@ /obj/machinery/portable_atmospherics/scrubber/update_icon_state() icon_state = "pscrubber:[on]" + return ..() /obj/machinery/portable_atmospherics/scrubber/update_overlays() . = ..() @@ -130,6 +131,7 @@ /obj/machinery/portable_atmospherics/scrubber/huge/update_icon_state() icon_state = "scrubber:[on]" + return ..() /obj/machinery/portable_atmospherics/scrubber/huge/process_atmos() if((!anchored && !movable) || !is_operational) diff --git a/code/modules/atmospherics/multiz.dm b/code/modules/atmospherics/multiz.dm index ab2753809f70..f4363ee88286 100644 --- a/code/modules/atmospherics/multiz.dm +++ b/code/modules/atmospherics/multiz.dm @@ -4,14 +4,16 @@ icon_state = "multiz_pipe" icon = 'icons/obj/atmos.dmi' -/obj/machinery/atmospherics/pipe/simple/multiz/update_icon() +/obj/machinery/atmospherics/pipe/multiz/update_layer() + return // Noop because we're moving this to /obj/machinery/atmospherics/pipe + +/obj/machinery/atmospherics/pipe/multiz/update_overlays() . = ..() - cut_overlays() //This adds the overlay showing it's a multiz pipe. This should go above turfs and such var/image/multiz_overlay_node = new(src) //If we have a firing state, light em up! multiz_overlay_node.icon = 'icons/obj/atmos.dmi' multiz_overlay_node.icon_state = "multiz_pipe" multiz_overlay_node.layer = HIGH_OBJ_LAYER - add_overlay(multiz_overlay_node) + . += multiz_overlay_node ///Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet /obj/machinery/atmospherics/pipe/simple/multiz/pipeline_expansion() diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index 4df8fbf32f89..05d079220151 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -20,6 +20,7 @@ desc = "A heavy duty industrial laser." icon = 'icons/obj/singularity.dmi' icon_state = "emitter_+a" + base_icon_state = "emitter_+a" anchored = TRUE density = TRUE resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF diff --git a/code/modules/buildmode/buttons.dm b/code/modules/buildmode/buttons.dm index 25132f957a96..c983ce90a0db 100644 --- a/code/modules/buildmode/buttons.dm +++ b/code/modules/buildmode/buttons.dm @@ -29,6 +29,7 @@ /atom/movable/screen/buildmode/mode/update_icon_state() icon_state = bd.mode.get_button_iconstate() + return ..() /atom/movable/screen/buildmode/help icon_state = "buildhelp" @@ -46,6 +47,7 @@ /atom/movable/screen/buildmode/bdir/update_icon_state() dir = bd.build_dir + return ..() /atom/movable/screen/buildmode/bdir/Click() bd.toggle_dirswitch() diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 31998df93f41..7f754ebaa097 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -39,6 +39,7 @@ icon_state = "gondolapod_open" else icon_state = "gondolapod" + return ..() /mob/living/simple_animal/pet/gondola/gondolapod/verb/deliver() set name = "Release Contents" diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 31cb4a7f82a1..808310047800 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -33,12 +33,15 @@ /obj/item/supplypod_beacon/update_overlays() . = ..() - if (launched) + if(launched) . += "sp_green" - else if (ready) + return + if(ready) . += "sp_yellow" - else if (linked) + return + if(linked) . += "sp_orange" + return /obj/item/supplypod_beacon/proc/endLaunch() launched = FALSE diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index f3a851c848f1..3a368ce476b0 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -323,7 +323,7 @@ GLOBAL_LIST_INIT(ghost_forms, sortList(list("ghost","ghostking","ghostian2","ske prefs.save_preferences() if(isobserver(mob)) var/mob/dead/observer/O = mob - O.update_icon(new_form) + O.update_icon(ALL, new_form) GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOST_ORBIT_SQUARE,GHOST_ORBIT_HEXAGON,GHOST_ORBIT_PENTAGON)) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 9a90d6b750b7..a30d605df6d0 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -262,18 +262,19 @@ /obj/item/clothing/update_overlays() . = ..() - if(damaged_clothes) - var/index = "[REF(initial(icon))]-[initial(icon_state)]" - var/static/list/damaged_clothes_icons = list() - var/icon/damaged_clothes_icon = damaged_clothes_icons[index] - if(!damaged_clothes_icon) - damaged_clothes_icon = icon(initial(icon), initial(icon_state), , 1) //we only want to apply damaged effect to the initial icon_state for each object - damaged_clothes_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) - damaged_clothes_icon.Blend(icon('icons/effects/item_damage.dmi', "itemdamaged"), ICON_MULTIPLY) //adds damage effect and the remaining white areas become transparant - damaged_clothes_icon = fcopy_rsc(damaged_clothes_icon) - damaged_clothes_icons[index] = damaged_clothes_icon - . += damaged_clothes_icon + if(!damaged_clothes) + return + var/index = "[REF(initial(icon))]-[initial(icon_state)]" + var/static/list/damaged_clothes_icons = list() + var/icon/damaged_clothes_icon = damaged_clothes_icons[index] + if(!damaged_clothes_icon) + damaged_clothes_icon = icon(initial(icon), initial(icon_state), , 1) //we only want to apply damaged effect to the initial icon_state for each object + damaged_clothes_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) + damaged_clothes_icon.Blend(icon('icons/effects/item_damage.dmi', "itemdamaged"), ICON_MULTIPLY) //adds damage effect and the remaining white areas become transparant + damaged_clothes_icon = fcopy_rsc(damaged_clothes_icon) + damaged_clothes_icons[index] = damaged_clothes_icon + . += damaged_clothes_icon /* * SEE_SELF // can see self, no matter what * SEE_MOBS // can see all mobs, no matter what diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 118a8ded5587..f8967daabd9e 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -340,11 +340,12 @@ /obj/item/clothing/glasses/blindfold/white/visual_equipped(mob/living/carbon/human/user, slot) if(ishuman(user) && slot == ITEM_SLOT_EYES) - update_icon(user) + update_icon(ALL, user) user.update_inv_glasses() //Color might have been changed by update_icon. ..() -/obj/item/clothing/glasses/blindfold/white/update_icon(mob/living/carbon/human/user) +/obj/item/clothing/glasses/blindfold/white/update_icon(updates = ALL, mob/living/carbon/human/user) + . = ..() if(ishuman(user) && !colored_before) add_atom_colour("#[user.eye_color]", FIXED_COLOUR_PRIORITY) colored_before = TRUE diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index db7611262a96..41fae944c2a0 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -133,6 +133,7 @@ /obj/item/clothing/glasses/meson/engine/update_icon_state() icon_state = item_state = "trayson-[mode]" + return ..() /obj/item/clothing/glasses/meson/engine/tray //atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves name = "optical t-ray scanner" diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 6cfbbd0921a8..fe190caf570d 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -55,6 +55,7 @@ else icon_state = "[initial(icon_state)]" item_state = "[initial(icon_state)]" + return ..() /obj/item/clothing/head/hardhat/proc/turn_on(mob/user) set_light_on(TRUE) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 39e2d3e6059b..53c2f56ae0d3 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -180,6 +180,7 @@ /obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user) if(ishuman(user)) add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) + return ..() /obj/item/clothing/head/kitty/genuine desc = "A pair of kitty ears. A tag on the inside says \"Hand made from real cats.\"" @@ -242,6 +243,7 @@ else icon = S.icon icon_state = S.icon_state + return ..() /obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, file2use) . = list() diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index 28bbd8b969d7..35cb36632f03 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -65,3 +65,4 @@ icon_state = "clown_prototype_on" else icon_state = "clown_prototype_off" + return ..() diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index e6ff7a1a15b5..8d16af1a277f 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -331,6 +331,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon_state() icon_state = "hardsuit[on]-[hardsuit_type]" + return ..() /obj/item/clothing/head/helmet/space/hardsuit/syndi/Initialize() . = ..() @@ -995,6 +996,7 @@ else icon_state = "[initial(icon_state)]" item_state = "[initial(icon_state)]" + return ..() /obj/item/clothing/head/helmet/space/light/proc/turn_on(mob/user) set_light_on(TRUE) @@ -1118,6 +1120,7 @@ /obj/item/clothing/head/helmet/space/pilot/update_icon_state() icon_state = "space-pilot-[skin][up]" + return ..() /obj/item/clothing/head/helmet/space/pilot/New() ..() diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index fc128a052f03..793cf91616d1 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -132,6 +132,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( px = new_px py = new_py Show() + return ..() /obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir) . = ..() diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 88c743afd278..578329033214 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -681,6 +681,7 @@ icon_state = "[initial(icon_state)]_seal" else icon_state = "[initial(icon_state)]_[contents.len]" + return ..() /obj/item/storage/bottles/examine(mob/user) . = ..() diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 08f865d4b3e8..c27dac4e27e3 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -248,7 +248,7 @@ ) /obj/item/reagent_containers/food/condiment/pack/update_icon() - return + return ..() /obj/item/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. return diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index e17257a6505b..711b2a3d432d 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -330,6 +330,7 @@ /obj/item/reagent_containers/glass/bowl/update_icon_state() if(!reagents || !reagents.total_volume) icon_state = "bowl" + return ..() /obj/item/reagent_containers/glass/bowl/update_overlays() . = ..() diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index ce0aef118ce1..279370dc48f9 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -222,10 +222,10 @@ /obj/item/reagent_containers/food/snacks/popsicle/update_overlays() . = ..() - if(bitecount) - . += "[initial(overlay_state)]_[min(bitecount, 3)]" - else + if(!bitecount) . += initial(overlay_state) + return + . += "[initial(overlay_state)]_[min(bitecount, 3)]" /obj/item/reagent_containers/food/snacks/popsicle/On_Consume(mob/living/eater) . = ..() diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index e27e92e402af..a912c93c5280 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -769,15 +769,22 @@ /obj/item/reagent_containers/food/snacks/pancakes/Initialize() . = ..() - update_icon() + update_appearance() + +/obj/item/food/pancakes/update_name() + name = contents.len ? "stack of pancakes" : initial(name) + return ..() + +/obj/item/food/pancakes/update_icon(updates=ALL) + if(!(updates & UPDATE_OVERLAYS)) + return ..() + + updates &= ~UPDATE_OVERLAYS + . = ..() // Don't update overlays. We're doing that here -/obj/item/reagent_containers/food/snacks/pancakes/update_icon() - if(contents.len) - name = "stack of pancakes" - else - name = initial(name) if(contents.len < LAZYLEN(overlays)) - overlays-=overlays[overlays.len] + overlays -= overlays[overlays.len] + . |= UPDATE_OVERLAYS /obj/item/reagent_containers/food/snacks/pancakes/examine(mob/user) var/ingredients_listed = "" diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index 89efb1b1cf8d..313bd3f09b80 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -24,7 +24,7 @@ icon_state = "grill_on" else icon_state = "grill_open" - + return ..() /obj/machinery/grill/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood)) var/obj/item/stack/S = I @@ -161,6 +161,7 @@ icon_state = "catgrill_on" else icon_state = "catgrill_open" + return ..() /obj/machinery/grill/cat/proc/owoify() var/static/regex/owo = new("r|l", "g") diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 237d4ad2c832..94b922f601fe 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -90,16 +90,22 @@ /obj/machinery/microwave/update_icon_state() if(broken) icon_state = "mwb" + return ..() else if(dirty_anim_playing) icon_state = "mwbloody1" + return ..() else if(dirty == 100) icon_state = "mwbloody" + return ..() else if(operating) icon_state = "mw1" + return ..() else if(panel_open) icon_state = "mw-o" + return ..() else icon_state = "mw" + return ..() /obj/machinery/microwave/attackby(obj/item/O, mob/user, params) if(operating) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 9b7298c0d69c..32c73b0c0677 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -57,7 +57,7 @@ icon_state = "[initial(icon_state)]" else icon_state = "[initial(icon_state)]-off" - + return ..() /******************* @@ -523,7 +523,7 @@ return FALSE /obj/machinery/smartfridge/bloodbank/update_icon_state() - return + return ..() /obj/machinery/smartfridge/bloodbank/preloaded initial_contents = list( diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 209a8c93b772..db1db0040038 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -85,6 +85,7 @@ var/mutable_appearance/tag_overlay = mutable_appearance(icon, "pizzabox_tag") tag_overlay.pixel_y = boxes.len * 3 add_overlay(tag_overlay) + return ..() /obj/item/pizzabox/worn_overlays(isinhands, icon_file) . = list() diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm index 339e64c8771d..209acb8110df 100644 --- a/code/modules/games/cas.dm +++ b/code/modules/games/cas.dm @@ -98,6 +98,7 @@ /obj/item/toy/cards/deck/cas/update_icon_state() if(cards.len < 26) icon_state = "deck_[deckstyle]_low" + return ..() /obj/item/toy/cards/singlecard/cas name = "CAS card" @@ -141,6 +142,7 @@ icon_state = "[card_face]_flipped" else icon_state = "[card_face]" + return ..() /obj/item/toy/cards/singlecard/cas/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/pen)) diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index a8c43df1376f..1689f24452ff 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -202,6 +202,7 @@ icon_state = "auth_on" else icon_state = "auth_off" + return ..() /obj/machinery/readybutton/proc/begin_event() diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index ca61d071e0b5..aaa8aae9ee7f 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -74,6 +74,7 @@ icon_state = "biogen-stand" else icon_state = "biogen-work" + return ..() /obj/machinery/biogenerator/attackby(obj/item/O, mob/user, params) if(user.a_intent == INTENT_HARM) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 8d996e6b17d9..a8e17833af14 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -73,6 +73,7 @@ icon_state = "barrel_open" else icon_state = "barrel" + return ..() /datum/crafting_recipe/fermenting_barrel name = "Wooden Barrel" diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 250d33be2e77..8be27a802e3e 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -58,6 +58,7 @@ icon_state = "dnamod-off" else icon_state = "dnamod" + return ..() /obj/machinery/plantgenes/update_overlays() . = ..() diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index d53303e6d201..fe6658a38135 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -296,7 +296,7 @@ else set_light(0) - return + return ..() /obj/machinery/hydroponics/proc/update_icon_plant() var/mutable_appearance/plant_overlay = mutable_appearance(myseed.growing_icon, layer = OBJ_LAYER + 0.01) diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index e616f8ff8985..fc4b72bfa679 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -168,13 +168,13 @@ /obj/structure/bookcase/update_icon_state() if(state == BOOKCASE_UNANCHORED) icon_state = "bookempty" - return + return ..() var/amount = contents.len if(load_random_books) amount += books_to_load icon_state = "book-[clamp(amount, 0, 5)]" - + return ..() /obj/structure/bookcase/manuals/engineering name = "engineering manuals bookcase" diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index b4ba46715900..f24e6436f179 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -153,6 +153,7 @@ /obj/item/kinetic_crusher/update_icon_state() item_state = "crusher[wielded]" // this is not icon_state and not supported by 2hcomponent + return ..() /obj/item/kinetic_crusher/update_overlays() . = ..() @@ -749,6 +750,7 @@ /obj/item/kinetic_crusher/old/update_icon_state() item_state = "crusherold[wielded]" // still not supported by 2hcomponent + return ..() //100% original syndicate oc, plz do not steal. More effective against human targets then the typical crusher, with a bit of block chance. /obj/item/kinetic_crusher/syndie_crusher @@ -807,6 +809,7 @@ /obj/item/kinetic_crusher/syndie_crusher/update_icon_state() item_state = "crushersyndie[wielded]" // this is not icon_state and not supported by 2hcomponent + return ..() /obj/item/kinetic_crusher/syndie_crusher/update_overlays() . = ..() diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index d80607239061..a65bf603f2bb 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -43,6 +43,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/update_icon_state() icon_state = "[initial(icon_state)][lowertext(picked_color)]" + return ..() /obj/item/stack/marker_beacon/attack_self(mob/user) if(!isturf(user.loc)) @@ -98,6 +99,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( . += "Alt-click to select a color. Current color is [picked_color]." /obj/structure/marker_beacon/update_icon() + . = ..() while(!picked_color || !GLOB.marker_beacon_colors[picked_color]) picked_color = pick(GLOB.marker_beacon_colors) icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index c1ae174aa970..b57607449014 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -143,6 +143,7 @@ /obj/item/organ/regenerative_core/update_icon_state() icon_state = inert ? "legion_soul_inert" : "legion_soul" + return ..() /obj/item/organ/regenerative_core/update_overlays() . = ..() @@ -193,3 +194,4 @@ icon_state = inert ? "crystal_heart_inert" : "crystal_heart" if(preserved) icon_state = "crystal_heart_preserved" + return ..() diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 1311968c9f38..ec7c69a7f3a3 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -465,6 +465,7 @@ /obj/item/reagent_containers/glass/bowl/mushroom_bowl/update_icon_state() if(!reagents || !reagents.total_volume) icon_state = "mushroom_bowl" + return ..() /obj/item/reagent_containers/glass/bowl/mushroom_bowl/attackby(obj/item/I,mob/user, params) if(istype(I, /obj/item/reagent_containers/food/snacks)) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index be558170c752..fd5840067ca0 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -1022,7 +1022,8 @@ if(chargesound != oldsound) playsound(src, chargesound, 100) - return + return ..() + return ..() /obj/item/ammo_casing/energy/spur projectile_type = /obj/projectile/bullet/spur @@ -1735,6 +1736,7 @@ /obj/item/hierophant_club/update_icon_state() icon_state = item_state = "hierophant_club[timer <= world.time ? "_ready":""][(beacon && !QDELETED(beacon)) ? "":"_beacon"]" + return ..() /obj/item/hierophant_club/proc/prepare_icon_update() update_icon() diff --git a/code/modules/mining/machine_bluespaceminer.dm b/code/modules/mining/machine_bluespaceminer.dm index f07d8a546caa..307f194f10e5 100644 --- a/code/modules/mining/machine_bluespaceminer.dm +++ b/code/modules/mining/machine_bluespaceminer.dm @@ -41,6 +41,7 @@ icon_state = (active) ? "bsm_on" : "bsm_idle" else icon_state = "bsm_off" + return ..() /obj/machinery/power/bluespace_miner/RefreshParts() var/M_C = 0 //mining_chance diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 8194f93c50da..6132ea7e6418 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -354,3 +354,4 @@ icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]-off" + return ..() diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 4cc311e40b58..28efa3df622e 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -38,6 +38,7 @@ icon_state = "mmi_brain_alien" else icon_state = "mmi_brain" + return ..() /obj/item/mmi/update_overlays() . = ..() diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index 2aaf253844cb..2942e235c90a 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -196,6 +196,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) icon_state = "[initial(icon_state)]-occupied" else icon_state = initial(icon_state) + return ..() /obj/item/mmi/posibrain/add_mmi_overlay() return diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index 0c135007d17b..ec4105fde0ce 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -202,6 +202,7 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/neurotoxin/update_icon() action.button_icon_state = "alien_neurotoxin_[active]" action.UpdateButtonIcon() + return ..() /obj/effect/proc_holder/alien/neurotoxin/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) diff --git a/code/modules/mob/living/carbon/alien/utilities/structures.dm b/code/modules/mob/living/carbon/alien/utilities/structures.dm index 344a689f731f..93ef3653fd26 100644 --- a/code/modules/mob/living/carbon/alien/utilities/structures.dm +++ b/code/modules/mob/living/carbon/alien/utilities/structures.dm @@ -330,6 +330,7 @@ icon_state = "[base_icon]" if(BURST) icon_state = "[base_icon]_hatched" + return ..() /obj/structure/alien/egg/attack_paw(mob/living/user) return attack_hand(user) diff --git a/code/modules/mob/living/carbon/hologram/em_holopads.dm b/code/modules/mob/living/carbon/hologram/em_holopads.dm index f17f9940e21e..3f9af01435c7 100644 --- a/code/modules/mob/living/carbon/hologram/em_holopads.dm +++ b/code/modules/mob/living/carbon/hologram/em_holopads.dm @@ -32,6 +32,7 @@ icon_state = "holopad1" else icon_state = "holopad3" + return ..() /obj/machinery/holopad/emergency/attack_ghost(mob/dead/observer/user) if(!SSticker.HasRoundStarted() || !loc || !em_starting || em) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index ea152c9baea3..559f8e4cd2bc 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -893,6 +893,7 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/update_icon_state() icon_state = "[initial(icon_state)][on]" + return ..() // Machinery to simplify topic and access calls /obj/machinery/bot_core diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index e7be1b12234a..c95c420bd710 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -316,7 +316,7 @@ icon_state = "firebots1" else icon_state = "firebot1" - + return ..() /mob/living/simple_animal/bot/firebot/explode() on = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 401522e5dbe7..39b52cc0005b 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -373,7 +373,7 @@ /mob/living/simple_animal/bot/floorbot/update_icon() icon_state = "[toolbox_color]floorbot[on]" - + return ..() /mob/living/simple_animal/bot/floorbot/explode() on = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 44924234f5f9..6e890ca2472c 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -107,6 +107,7 @@ icon_state = "medibot2" else icon_state = "medibot1" + return ..() /mob/living/simple_animal/bot/medbot/Initialize(mapload, new_skin) . = ..() diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 77a29aadcd4b..d6605aa1f599 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -180,6 +180,7 @@ /mob/living/simple_animal/bot/mulebot/update_icon_state() //if you change the icon_state names, please make sure to update /datum/wires/mulebot/on_pulse() as well. <3 icon_state = "[base_icon][on ? wires.is_cut(WIRE_AVOIDANCE) : 0]" + return ..() /mob/living/simple_animal/bot/mulebot/update_overlays() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 8dbd15b64640..ec4516703253 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -403,6 +403,7 @@ /obj/effect/proc_holder/wrap/update_icon() action.button_icon_state = "wrap_[active]" action.UpdateButtonIcon() + return ..() /obj/effect/proc_holder/wrap/Click() if(!istype(usr, /mob/living/simple_animal/hostile/poison/giant_spider/nurse)) diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 3615797e8466..ad0d0d95d734 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -161,6 +161,7 @@ icon_state = icon_state_unpowered else icon_state = icon_state_powered + return ..() /obj/item/modular_computer/update_overlays() . = ..() diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index e3ba9f80134d..98918b262f0f 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -21,6 +21,7 @@ if(!finish_color) finish_color = pick("red","blue","brown","green","black") icon_state = icon_state_powered = icon_state_unpowered = "tablet-[finish_color]" + return ..() /obj/item/modular_computer/tablet/syndicate_contract_uplink name = "contractor tablet" diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 3c2f2175a85a..e4d3665c3034 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -73,6 +73,7 @@ if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity) add_overlay("bsod") add_overlay("broken") + return ..() /obj/machinery/modular_computer/AltClick(mob/user) if(cpu) diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 71d9b084c592..2b60054f9d24 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -14,6 +14,7 @@ icon_state = "paper_stack" if(info) icon_state = "[icon_state]_words" + return ..() /obj/item/paper/carbon/proc/removecopy(mob/living/user) if(!copied) diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index 81f4d648b13a..203a81d3fcb4 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -36,6 +36,7 @@ /obj/item/papercutter/update_icon_state() icon_state = (storedcutter ? "[initial(icon_state)]-cutter" : "[initial(icon_state)]") + return ..() /obj/item/papercutter/update_overlays() . =..() diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index ad203641fec4..dbc04b3de01f 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -129,6 +129,7 @@ icon_state = "paper_bin0" else icon_state = "[initial(icon_state)]" + return ..() /obj/item/paper_bin/update_overlays() . = ..() diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index ff232bf8a941..98a832ba2278 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -250,6 +250,7 @@ item_state = initial(item_state) lefthand_file = initial(lefthand_file) righthand_file = initial(righthand_file) + return ..() /obj/item/pen/survival name = "survival pen" diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index a5bd681e8d94..d588ee2c5205 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -125,6 +125,7 @@ if(100) icon_state = "ticketmachine_0" handle_maptext() + return ..() /obj/machinery/ticket_machine/proc/handle_maptext() switch(ticket_number) //This is here to handle maptext offsets so that the numbers align. diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm index 9fcfd64bac22..ca70da0add22 100644 --- a/code/modules/photography/photos/photo.dm +++ b/code/modules/photography/photos/photo.dm @@ -38,6 +38,7 @@ var/icon/I = picture.get_small_icon(initial(icon_state)) if(I) icon = I + return ..() /obj/item/photo/suicide_act(mob/living/carbon/user) user.visible_message("[user] is taking one last look at \the [src]! It looks like [user.p_theyre()] giving in to death!")//when you wanna look at photo of waifu one last time before you die... diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm index 567d5aab2ecb..a24d2dfc995f 100644 --- a/code/modules/plumbing/ducts.dm +++ b/code/modules/plumbing/ducts.dm @@ -254,6 +254,7 @@ All the important duct code: if(D == WEST) temp_icon += "_w" icon_state = temp_icon + return ..() ///update the layer we are on /obj/machinery/duct/proc/handle_layer() diff --git a/code/modules/plumbing/plumbers/acclimator.dm b/code/modules/plumbing/plumbers/acclimator.dm index 58d6a3a0d4b3..755526c2a2a6 100644 --- a/code/modules/plumbing/plumbers/acclimator.dm +++ b/code/modules/plumbing/plumbers/acclimator.dm @@ -61,6 +61,7 @@ icon_state += "_cold" if(HEATING) icon_state += "_hot" + return ..() /obj/machinery/plumbing/acclimator/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/plumbing/plumbers/pumps.dm b/code/modules/plumbing/plumbers/pumps.dm index dd0b709be9e0..4f7db6fab4f5 100644 --- a/code/modules/plumbing/plumbers/pumps.dm +++ b/code/modules/plumbing/plumbers/pumps.dm @@ -62,3 +62,4 @@ icon_state = initial(icon_state) + "-open" else icon_state = initial(icon_state) + return ..() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 1ab74e4d6a3b..1c3abc8c3f1f 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -286,7 +286,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) // 2 if we need to update the overlays if(!update) icon_update_needed = FALSE - return + return ..() if(update & 1) // Updating the icon state if(update_state & UPSTATE_ALLGOOD) @@ -320,12 +320,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(!cell) //it always peeved me that abandoned ships always had the apc lights on. this should fix it icon_update_needed = FALSE set_light(0) - return + return ..() if(cell.charge <= 0) icon_update_needed = FALSE set_light(0) - return + return ..() if(update & 2) SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) @@ -359,6 +359,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) set_light(0) icon_update_needed = FALSE + return ..() /obj/machinery/power/apc/proc/check_updates() var/last_update_state = update_state diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 0d306cbbe584..6549e754bb6d 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -131,7 +131,7 @@ GLOBAL_LIST_INIT(cable_colors, list( icon_state = "[d1]-[d2]" color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) - + return ..() /obj/structure/cable/proc/handlecable(obj/item/W, mob/user, params) var/turf/T = get_turf(src) @@ -562,6 +562,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain name = "cable [amount < 3 ? "piece" : "coil"]" color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) + return ..() /obj/item/stack/cable_coil/attack_hand(mob/user) . = ..() diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index f791aa9440a1..48586e8c0dc1 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -437,6 +437,7 @@ add_overlay("[initial(icon_state)]-o2") else add_overlay("[initial(icon_state)]-o1") + return ..() /obj/item/stock_parts/cell/gun/upgraded name = "upgraded weapon power cell" diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 86a7a2d3da80..b3afdf97348c 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -52,6 +52,7 @@ var/L = min(round(lastgenlev/100000),11) if(L != 0) SSvis_overlays.add_vis_overlay(src, icon, "teg-op[L]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir) + return ..() #define GENRATE 800 // generator output coefficient from Q diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 848279a2cead..629ccc0af990 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -44,6 +44,7 @@ /obj/machinery/gravity_generator/update_icon_state() icon_state = "[get_status()]_[sprite_number]" + return ..() /obj/machinery/gravity_generator/proc/get_status() return "off" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index eaa1e296875a..00fc375a6d9b 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -385,6 +385,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) icon_state = "[base_state]-burned" if(LIGHT_BROKEN) icon_state = "[base_state]-broken" + return ..() // update the icon_state and luminosity of the light depending on its state /obj/machinery/light/proc/update(trigger = TRUE) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 9b1d17de2b67..9a0a316ead68 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -64,6 +64,7 @@ /obj/machinery/power/port_gen/update_icon_state() icon_state = "[base_icon]_[active]" + return ..() /obj/machinery/power/port_gen/process() if(active) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index be7a4614ece8..7ece2509d6e2 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -139,6 +139,7 @@ icon_state = avail(active_power_usage) ? icon_state_on : icon_state_underpowered else icon_state = initial(icon_state) + return ..() /obj/machinery/power/emitter/interact(mob/user) add_fingerprint(user) diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 5c0f31adccd2..c77545847248 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -144,6 +144,7 @@ icon_state="[reference]p[strength]" else icon_state="[reference]c" + return ..() /obj/structure/particle_accelerator/proc/update_state() if(master) diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index d5a3179731b8..44f6d774ad22 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -74,6 +74,7 @@ icon_state = "control_boxw" else icon_state = "control_boxc" + return ..() /obj/machinery/particle_accelerator/control_box/proc/strength_change() for(var/CP in connected_parts) diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index d884bd00cbe3..20142de102a9 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -59,6 +59,7 @@ /obj/item/ammo_casing/update_icon_state() icon_state = "[initial(icon_state)][BB ? (bullet_skin ? "-[bullet_skin]" : "") : "-empty"]" + return ..() /obj/item/ammo_casing/update_icon() . = ..() diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 355e20fc60f4..cee1e7849481 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -11,6 +11,7 @@ /obj/item/ammo_casing/shotgun/update_icon_state() icon_state = "[initial(icon_state)][BB ? "" : "-spent"]" + return ..() /obj/item/ammo_casing/shotgun/buckshot name = "buckshot shell" diff --git a/code/modules/projectiles/ammunition/caseless/_caseless.dm b/code/modules/projectiles/ammunition/caseless/_caseless.dm index 6d2d0aa1e6ab..4cc80bba0675 100644 --- a/code/modules/projectiles/ammunition/caseless/_caseless.dm +++ b/code/modules/projectiles/ammunition/caseless/_caseless.dm @@ -13,4 +13,4 @@ // Overridden; caseless ammo does not distinguish between "live" and "empty"/"spent" icon states (because it has no casing). /obj/item/ammo_casing/caseless/update_icon_state() - return + return ..() diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 97f54b5b4b8d..b4669276493f 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -135,6 +135,7 @@ material_amount = (material_amount*stored_ammo.len) + base_cost[material] custom_materials[material] = material_amount set_custom_materials(custom_materials)//make sure we setup the correct properties again + return ..() ///Count of number of bullets in the magazine /obj/item/ammo_box/magazine/proc/ammo_count(countempties = TRUE) diff --git a/code/modules/projectiles/boxes_magazines/external/rechargable.dm b/code/modules/projectiles/boxes_magazines/external/rechargable.dm index 7ed0cde50a7b..86ec7d4ab228 100644 --- a/code/modules/projectiles/boxes_magazines/external/rechargable.dm +++ b/code/modules/projectiles/boxes_magazines/external/rechargable.dm @@ -9,6 +9,7 @@ /obj/item/ammo_box/magazine/recharge/update_icon() desc = "[initial(desc)] It has [stored_ammo.len] shot\s left." icon_state = "oldrifle-[round(ammo_count(),4)]" + return ..() /obj/item/ammo_box/magazine/recharge/attack_self() //No popping out the "bullets" return diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index e75bcc22c909..a6b286cfbd83 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -103,6 +103,7 @@ icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" else icon_state = "[initial(icon_state)][sawn_off ? "_sawn" : ""]" + return ..() /obj/item/gun/ballistic/update_overlays() . = ..() diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 68baa57498b6..6f45d4cfc19c 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -203,7 +203,7 @@ /obj/item/gun/energy/update_icon_state() if(initial(item_state)) - return + return ..() var/ratio = get_charge_ratio() var/new_item_state = "" new_item_state = initial(icon_state) @@ -212,6 +212,7 @@ new_item_state += "[shot.select_name]" new_item_state += "[ratio]" item_state = new_item_state + return ..() /obj/item/gun/energy/update_overlays() . = ..() diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index a10fa260e70e..8de780413229 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -314,6 +314,7 @@ icon_locked = "medalbox+l" icon_closed = "medalbox" icon_broken = "medalbox+b" + base_icon_state = "medalbox" /obj/item/storage/lockbox/dueling/ComponentInitialize() . = ..() @@ -323,15 +324,14 @@ STR.set_holdable(list(/obj/item/gun/energy/dueling)) /obj/item/storage/lockbox/dueling/update_icon_state() - var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - if(locked) - icon_state = "medalbox+l" - else - icon_state = "medalbox" - if(open) - icon_state += "open" - if(broken) - icon_state += "+b" + if(SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) + icon_state = icon_locked + return ..() + if(broken) + icon_state = icon_broken + return ..() + icon_state = open ? "[base_icon_state]open" : icon_closed + return ..() /obj/item/storage/lockbox/dueling/PopulateContents() . = ..() diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 73eada04055b..4feaa20098af 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -155,14 +155,14 @@ . = ..() if(reactor_overloaded) . += "[icon_state]_fail_3" - else - switch(fail_tick) - if(0) - . += "[icon_state]_fail_0" - if(1 to 150) - . += "[icon_state]_fail_1" - if(151 to INFINITY) - . += "[icon_state]_fail_2" + return + switch(fail_tick) + if(0) + . += "[icon_state]_fail_0" + if(1 to 150) + . += "[icon_state]_fail_1" + if(151 to INFINITY) + . += "[icon_state]_fail_2" /obj/item/gun/energy/e_gun/rdgun name = "research director's PDW" diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index b34355331ac5..26d1ea7add85 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -77,10 +77,8 @@ /obj/item/minigunpack/update_icon_state() - if(armed) - icon_state = "notholstered" - else - icon_state = "holstered" + icon_state = armed ? "notholstered" : "holstered" + return ..() /obj/item/minigunpack/proc/attach_gun(mob/user) if(!gun) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 9bdb7f33e03b..084f117fe4c9 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -207,12 +207,14 @@ ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) item_state = null icon_state = "wormhole_projector" + base_icon_state = "wormhole_projector" var/obj/effect/portal/p_blue var/obj/effect/portal/p_orange var/atmos_link = FALSE /obj/item/gun/energy/wormhole_projector/update_icon_state() - icon_state = item_state = "[initial(icon_state)][select]" + . = ..() + icon_state = item_state = "[base_icon_state][select]" /obj/item/gun/energy/wormhole_projector/update_ammo_types() . = ..() diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index eb21ace207f3..225dd18e6d1e 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -7,6 +7,7 @@ ammo_type = /obj/item/ammo_casing/magic icon_state = "nothingwand" item_state = "wand" + base_icon_state = "nothingwand" w_class = WEIGHT_CLASS_SMALL can_charge = FALSE max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths) @@ -25,7 +26,8 @@ . += "Has [charges] charge\s remaining." /obj/item/gun/magic/wand/update_icon_state() - icon_state = "[initial(icon_state)][charges ? "" : "-drained"]" + icon_state = "[base_icon_state][charges ? null : "-drained"]" + return ..() /obj/item/gun/magic/wand/attack(atom/target, mob/living/user) if(target == user) @@ -79,6 +81,7 @@ fire_sound = 'sound/magic/wandodeath.ogg' ammo_type = /obj/item/ammo_casing/magic/death icon_state = "deathwand" + base_icon_state = "deathwand" max_charges = 3 //3, 2, 2, 1 /obj/item/gun/magic/wand/death/zap_self(mob/living/user) @@ -116,6 +119,7 @@ ammo_type = /obj/item/ammo_casing/magic/heal fire_sound = 'sound/magic/staff_healing.ogg' icon_state = "revivewand" + base_icon_state = "revivewand" max_charges = 10 //10, 5, 5, 4 /obj/item/gun/magic/wand/resurrection/zap_self(mob/living/user) @@ -151,6 +155,7 @@ desc = "This wand is attuned to chaos and will radically alter the victim's form." ammo_type = /obj/item/ammo_casing/magic/change icon_state = "polywand" + base_icon_state = "polywand" fire_sound = 'sound/magic/staff_change.ogg' max_charges = 10 //10, 5, 5, 4 @@ -170,6 +175,7 @@ ammo_type = /obj/item/ammo_casing/magic/teleport fire_sound = 'sound/magic/wand_teleport.ogg' icon_state = "telewand" + base_icon_state = "telewand" max_charges = 10 //10, 5, 5, 4 no_den_usage = TRUE @@ -187,6 +193,7 @@ ammo_type = /obj/item/ammo_casing/magic/safety fire_sound = 'sound/magic/wand_teleport.ogg' icon_state = "telewand" + base_icon_state = "telewand" max_charges = 10 //10, 5, 5, 4 no_den_usage = FALSE @@ -218,6 +225,7 @@ desc = "This particular wand can create doors in any wall for the unscrupulous wizard who shuns teleportation magics." ammo_type = /obj/item/ammo_casing/magic/door icon_state = "doorwand" + base_icon_state = "doorwand" fire_sound = 'sound/magic/staff_door.ogg' max_charges = 20 //20, 10, 10, 7 no_den_usage = 1 @@ -237,6 +245,7 @@ fire_sound = 'sound/magic/fireball.ogg' ammo_type = /obj/item/ammo_casing/magic/fireball icon_state = "firewand" + base_icon_state = "firewand" max_charges = 8 //8, 4, 4, 3 /obj/item/gun/magic/wand/fireball/zap_self(mob/living/user) diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index ef165df27a1f..d0f1861b8ab3 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -2,8 +2,8 @@ name = "pipe gun" desc = "A pipe welded onto a gun stock, with a mechanical trigger. The pipe has an opening near the top, and there seems to be a spring loaded wheel in the hole." icon_state = "empty_blastcannon" - var/icon_state_loaded = "loaded_blastcannon" item_state = "blastcannon_empty" + base_icon_state = "blastcannon" w_class = WEIGHT_CLASS_NORMAL force = 10 fire_sound = 'sound/weapons/blastcannon.ogg' @@ -47,10 +47,8 @@ return ..() /obj/item/gun/blastcannon/update_icon_state() - if(bomb) - icon_state = icon_state_loaded - else - icon_state = initial(icon_state) + icon_state = "[bomb ? "loaded" : "empty"]_[base_icon_state]" + return ..() /obj/item/gun/blastcannon/attackby(obj/O, mob/user) if(istype(O, /obj/item/transfer_valve)) diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index 6144b4c85dab..f70608835195 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -17,12 +17,9 @@ bolt_type = BOLT_TYPE_NO_BOLT var/drawn = FALSE -/obj/item/gun/ballistic/bow/update_icon() +/obj/item/gun/ballistic/bow/update_icon_state() . = ..() - if(!chambered) - icon_state = "[initial(icon_state)]" - else - icon_state = "[initial(icon_state)]_[drawn]" + icon_state = chambered ? "bow_[drawn]" : "bow" /obj/item/gun/ballistic/bow/chamber_round(keep_bullet = FALSE, spin_cylinder, replace_new_round) if(chambered || !magazine) diff --git a/code/modules/projectiles/projectile/reusable/foam_dart.dm b/code/modules/projectiles/projectile/reusable/foam_dart.dm index b1a59272a917..251637eed08d 100644 --- a/code/modules/projectiles/projectile/reusable/foam_dart.dm +++ b/code/modules/projectiles/projectile/reusable/foam_dart.dm @@ -6,6 +6,7 @@ nodamage = TRUE icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart_proj" + base_icon_state = "foamdart_proj" ammo_type = /obj/item/ammo_casing/caseless/foam_dart range = 10 var/modified = FALSE @@ -37,6 +38,7 @@ /obj/projectile/bullet/reusable/foam_dart/riot name = "riot foam dart" icon_state = "foamdart_riot_proj" + base_icon_state = "foamdart_riot_proj" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot nodamage = FALSE stamina = 25 diff --git a/code/modules/projectiles/projectile/special/curse.dm b/code/modules/projectiles/projectile/special/curse.dm index 1993176de157..8001593d86a7 100644 --- a/code/modules/projectiles/projectile/special/curse.dm +++ b/code/modules/projectiles/projectile/special/curse.dm @@ -22,6 +22,7 @@ /obj/projectile/curse_hand/update_icon_state() icon_state = "[initial(icon_state)][handedness]" + return ..() /obj/projectile/curse_hand/fire(setAngle) if(starting) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index e7e117277fdc..40296cc9abf2 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -17,6 +17,7 @@ density = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "dispenser" + base_icon_state = "dispenser" use_power = IDLE_POWER_USE idle_power_usage = 40 interaction_flags_machine = INTERACT_MACHINE_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OFFLINE @@ -137,12 +138,12 @@ flick(working_state,src) /obj/machinery/chem_dispenser/update_icon_state() - icon_state = "[(nopower_state && !powered()) ? nopower_state : initial(icon_state)]" - + icon_state = "[(nopower_state && !powered()) ? nopower_state : base_icon_state]" + return ..() /obj/machinery/chem_dispenser/update_overlays() . = ..() if(has_panel_overlay && panel_open) - . += mutable_appearance(icon, "[initial(icon_state)]_panel-o") + . += mutable_appearance(icon, "[base_icon_state]_panel-o") if(beaker) beaker_overlay = display_beaker() @@ -452,6 +453,7 @@ desc = "Contains a large reservoir of soft drinks." icon = 'icons/obj/chemical.dmi' icon_state = "soda_dispenser" + base_icon_state = "soda_dispenser" has_panel_overlay = FALSE amount = 10 pixel_y = 6 @@ -506,6 +508,7 @@ /obj/machinery/chem_dispenser/drinks/beer name = "booze dispenser" desc = "Contains a large reservoir of the good stuff." + base_icon_state = "booze_dispenser" icon = 'icons/obj/chemical.dmi' icon_state = "booze_dispenser" circuit = /obj/item/circuitboard/machine/chem_dispenser/drinks/beer @@ -607,6 +610,7 @@ desc = "Synthesizes a variety of reagents using proto-matter." icon = 'icons/obj/abductor.dmi' icon_state = "chem_dispenser" + base_icon_state = "chem_dispenser" has_panel_overlay = FALSE circuit = /obj/item/circuitboard/machine/chem_dispenser/abductor working_state = null diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index aed9750934de..fcfe94ac1b67 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -3,6 +3,7 @@ density = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "mixer0b" + base_icon_state = "mixer" use_power = IDLE_POWER_USE idle_power_usage = 40 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -24,10 +25,8 @@ update_icon() /obj/machinery/chem_heater/update_icon_state() - if(beaker) - icon_state = "mixer1b" - else - icon_state = "mixer0b" + icon_state = "[base_icon_state][beaker ? 1 : 0]b" + return ..() /obj/machinery/chem_heater/AltClick(mob/living/user) . = ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 0dfce60863ef..4cca186eb819 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -5,6 +5,7 @@ layer = BELOW_OBJ_LAYER icon = 'icons/obj/chemical.dmi' icon_state = "mixer0" + base_icon_state = "mixer" use_power = IDLE_POWER_USE idle_power_usage = 20 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -77,10 +78,8 @@ bottle = null /obj/machinery/chem_master/update_icon_state() - if(beaker) - icon_state = "mixer1" - else - icon_state = "mixer0" + icon_state = "[base_icon_state][beaker ? 1 : 0]" + return ..() /obj/machinery/chem_master/update_overlays() . = ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm index ffe0e57a26a7..c27b0b9d3189 100644 --- a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm +++ b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm @@ -3,6 +3,7 @@ desc = "If you see this, yell at adminbus." icon = 'icons/obj/chemical.dmi' icon_state = "dispenser" + base_icon_state = "dispenser" amount = 10 resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF flags_1 = NODECONSTRUCT_1 diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 657e9a5bc57c..510cb7b92f2b 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -7,6 +7,7 @@ density = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "pandemic0" + base_icon_state = "pandemic" use_power = TRUE idle_power_usage = 20 resistance_flags = ACID_PROOF @@ -128,10 +129,8 @@ playsound(src, 'sound/machines/ping.ogg', 30, TRUE) /obj/machinery/computer/pandemic/update_icon_state() - if(machine_stat & BROKEN) - icon_state = (beaker ? "pandemic1_b" : "pandemic0_b") - else - icon_state = "pandemic[(beaker) ? "1" : "0"][powered() ? "" : "_nopower"]" + icon_state = "[base_icon_state][beaker ? 1 : 0][(machine_stat & BROKEN) ? "_b" : (powered() ? null : "_nopower")]" + return ..() /obj/machinery/computer/pandemic/update_overlays() . = ..() diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index c9784c14ee75..51017cd60ee3 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -5,6 +5,7 @@ desc = "From BlenderTech. Will It Blend? Let's test it out!" icon = 'icons/obj/kitchen.dmi' icon_state = "juicer1" + base_icon_state = "juicer" layer = BELOW_OBJ_LAYER use_power = IDLE_POWER_USE idle_power_usage = 5 @@ -103,10 +104,8 @@ holdingitems = list() /obj/machinery/reagentgrinder/update_icon_state() - if(beaker) - icon_state = "juicer1" - else - icon_state = "juicer0" + icon_state = "[base_icon_state][beaker ? 1 : 0]" + return ..() /obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(!user || !can_interact(user)) diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 9c31dd039669..62db8cb69d7b 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -5,6 +5,7 @@ desc = "A machine with a centrifuge installed into it. It produces smoke with any reagents you put into the machine." icon = 'icons/obj/chemical.dmi' icon_state = "smoke0" + base_icon_state = "smoke" density = TRUE circuit = /obj/item/circuitboard/machine/smoke_machine processing_flags = NONE @@ -42,12 +43,10 @@ /obj/machinery/smoke_machine/update_icon_state() if((!is_operational) || (!on) || (reagents.total_volume == 0)) - if (panel_open) - icon_state = "smoke0-o" - else - icon_state = "smoke0" - else - icon_state = "smoke1" + icon_state = "[base_icon_state]0[panel_open ? "-o" : null]" + return ..() + icon_state = "[base_icon_state]1" + return ..() /obj/machinery/smoke_machine/RefreshParts() var/new_volume = REAGENTS_BASE_VOLUME diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 527f559dedd9..c314eb7297da 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -262,19 +262,21 @@ . += cap_overlay if(!fill_icon_thresholds) return - if(reagents.total_volume) - var/fill_name = fill_icon_state? fill_icon_state : icon_state - var/mutable_appearance/filling = mutable_appearance(fill_icon, "[fill_name][fill_icon_thresholds[1]]") - - var/percent = round((reagents.total_volume / volume) * 100) - for(var/i in 1 to fill_icon_thresholds.len) - var/threshold = fill_icon_thresholds[i] - var/threshold_end = (i == fill_icon_thresholds.len)? INFINITY : fill_icon_thresholds[i+1] - if(threshold <= percent && percent < threshold_end) - filling.icon_state = "[fill_name][fill_icon_thresholds[i]]" - - filling.color = mix_color_from_reagents(reagents.reagent_list) - . += filling + if(!reagents.total_volume) + return + + var/fill_name = fill_icon_state? fill_icon_state : icon_state + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[fill_name][fill_icon_thresholds[1]]") + + var/percent = round((reagents.total_volume / volume) * 100) + for(var/i in 1 to fill_icon_thresholds.len) + var/threshold = fill_icon_thresholds[i] + var/threshold_end = (i == fill_icon_thresholds.len)? INFINITY : fill_icon_thresholds[i+1] + if(threshold <= percent && percent < threshold_end) + filling.icon_state = "[fill_name][fill_icon_thresholds[i]]" + + filling.color = mix_color_from_reagents(reagents.reagent_list) + . += filling /obj/item/reagent_containers/get_save_vars() //Leave it null. diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index c1aea0bd5ef7..9f9d5567f2d9 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -22,10 +22,11 @@ blood_type = B.data["blood_type"] else blood_type = null - update_pack_name() + update_name() update_icon() -/obj/item/reagent_containers/blood/proc/update_pack_name() +/obj/item/reagent_containers/blood/update_name(updates) + . = ..() if(!labelled) if(blood_type) name = "blood pack[blood_type ? " - [unique_blood ? blood_type : blood_type.name]" : null]" @@ -88,6 +89,6 @@ name = "blood pack - [t]" else labelled = 0 - update_pack_name() + update_name() else return ..() diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 1d3fde300b12..c03f65a7f375 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -84,7 +84,8 @@ /obj/item/reagent_containers/dropper/update_overlays() . = ..() - if(reagents.total_volume) - var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "dropper") - filling.color = mix_color_from_reagents(reagents.reagent_list) - . += filling + if(!reagents.total_volume) + return + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "dropper") + filling.color = mix_color_from_reagents(reagents.reagent_list) + . += filling diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index cf7e448458fb..4decd4b74138 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -95,14 +95,13 @@ desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with experimental medical nanites and a stimulant for rapid healing and a combat boost." item_state = "nanite_hypo" icon_state = "nanite_hypo" + base_icon_state = "nanite_hypo" volume = 100 list_reagents = list(/datum/reagent/medicine/adminordrazine/quantum_heal = 80, /datum/reagent/medicine/synaptizine = 20) /obj/item/reagent_containers/hypospray/combat/nanites/update_icon_state() - if(reagents.total_volume > 0) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]0" + icon_state = "[base_icon_state][(reagents.total_volume > 0) ? null : 0]" + return ..() /obj/item/reagent_containers/hypospray/combat/heresypurge name = "holy water piercing injector" @@ -120,6 +119,7 @@ desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge. Contains a powerful preservative that can delay decomposition when applied to a dead body." icon_state = "medipen" item_state = "medipen" + base_icon_state = "medipen" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' amount_per_transfer_from_this = 13 @@ -147,10 +147,8 @@ inject(user, user) /obj/item/reagent_containers/hypospray/medipen/update_icon_state() - if(reagents.total_volume > 0) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]0" + icon_state = "[base_icon_state][(reagents.total_volume > 0) ? null : 0]" + return ..() /obj/item/reagent_containers/hypospray/medipen/examine() . = ..() @@ -177,6 +175,7 @@ name = "crisis stimpack" icon_state = "stimpen" item_state = "stimpen" + base_icon_state = "stimpen" desc = "A modified stimulant autoinjector, containing a cocktail of potent nerve excitants and long-release healing chemicals. Designed for use in emergency situations where medical help may be hours or days away." list_reagents = list(/datum/reagent/medicine/stimulants = 5, /datum/reagent/medicine/ephedrine = 5, /datum/reagent/medicine/omnizine = 15) @@ -185,6 +184,7 @@ desc = "Contains a very large amount of an incredibly powerful stimulant, vastly increasing your movement speed and reducing stuns by a very large amount for around five minutes. Do not take if pregnant." icon_state = "syndipen" item_state = "tbpen" + base_icon_state = "syndipen" volume = 50 amount_per_transfer_from_this = 50 list_reagents = list(/datum/reagent/medicine/stimulants = 50) @@ -193,6 +193,7 @@ name = "morphine medipen" desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though." icon_state = "morphen" + base_icon_state = "morphen" item_state = "morphen" list_reagents = list(/datum/reagent/medicine/morphine = 10) @@ -201,6 +202,7 @@ desc = "A autoinjector containing oxandrolone, used to treat severe burns." icon_state = "oxapen" item_state = "oxapen" + base_icon_state = "oxapen" list_reagents = list(/datum/reagent/medicine/oxandrolone = 10) /obj/item/reagent_containers/hypospray/medipen/penacid @@ -208,6 +210,7 @@ desc = "A autoinjector containing pentetic acid, used to reduce high levels of radiations and moderate toxins." icon_state = "penacid" item_state = "penacid" + base_icon_state = "penacid" list_reagents = list(/datum/reagent/medicine/pen_acid = 10) /obj/item/reagent_containers/hypospray/medipen/salacid @@ -215,6 +218,7 @@ desc = "A autoinjector containing salicylic acid, used to treat severe brute damage." icon_state = "salacid" item_state = "salacid" + base_icon_state = "salacid" list_reagents = list(/datum/reagent/medicine/sal_acid = 10) /obj/item/reagent_containers/hypospray/medipen/salbutamol @@ -222,6 +226,7 @@ desc = "A autoinjector containing salbutamol, used to heal oxygen damage quickly." icon_state = "salpen" item_state = "salpen" + base_icon_state = "salpen" list_reagents = list(/datum/reagent/medicine/salbutamol = 10) /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure @@ -229,17 +234,17 @@ desc = "Bio Virus Antidote Kit autoinjector. Has a two use system for yourself, and someone else. Inject when infected." icon_state = "tbpen" item_state = "tbpen" + base_icon_state = "tbpen" volume = 20 amount_per_transfer_from_this = 10 list_reagents = list(/datum/reagent/vaccine/fungal_tb = 20) /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure/update_icon_state() + . = ..() if(reagents.total_volume > 30) - icon_state = initial(icon_state) - else if (reagents.total_volume > 0) - icon_state = "[initial(icon_state)]1" - else - icon_state = "[initial(icon_state)]0" + icon_state = base_icon_state + return + icon_state = "[base_icon_state][(reagents.total_volume > 0) ? 1 : 0]" /* Replaced with variant in whitesands/code/modules/reagents/reagent_containers/hypospray.dm /obj/item/reagent_containers/hypospray/medipen/survival @@ -256,6 +261,7 @@ desc = "A rapid way to save a person from a critical injury state!" icon_state = "atropen" item_state = "atropen" + base_icon_state = "atropen" list_reagents = list(/datum/reagent/medicine/atropine = 10) /obj/item/reagent_containers/hypospray/medipen/snail @@ -263,6 +269,7 @@ desc = "All-purpose snail medicine! Do not use on non-snails!" icon_state = "snail" item_state = "snail" + base_icon_state = "gorillapen" list_reagents = list(/datum/reagent/snail = 10) /obj/item/reagent_containers/hypospray/medipen/magillitis @@ -270,6 +277,7 @@ desc = "A custom-frame needle injector with a small single-use reservoir, containing an experimental serum. Unlike the more common medipen frame, it cannot pierce through protective armor or hardsuits, nor can the chemical inside be extracted." icon_state = "gorillapen" item_state = "gorillapen" + base_icon_state = "gorillapen" volume = 5 ignore_flags = 0 reagent_flags = NONE @@ -282,7 +290,7 @@ amount_per_transfer_from_this = 15 list_reagents = list(/datum/reagent/drug/pumpup = 15) icon_state = "maintenance" - + base_icon_state = "maintenance" /obj/item/reagent_containers/hypospray/medipen/bonefixingjuice name = "rejuvenating agent injector" @@ -586,6 +594,7 @@ desc = "A medical cocktail for surviving in the harshest of environments, quickly heals and inhibits pain to help overcome extreme conditions. WARNING: Frequent use has long-term side effects." icon_state = "stimpen" item_state = "stimpen" + base_icon_state = "stimpen" custom_price = 500 volume = 35 amount_per_transfer_from_this = 36 diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index a63e98ba58c7..130cc7907ead 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -54,6 +54,7 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling) + return ..() /obj/item/reagent_containers/glass/bottle/vial/tiny name = "small hypovial" @@ -106,6 +107,7 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling) + return ..() /obj/item/reagent_containers/glass/bottle/vial/large/bluespace possible_transfer_amounts = list(5,10,15,20) diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm index 39289d71c07a..6636a89b392f 100644 --- a/code/modules/reagents/reagent_containers/maunamug.dm +++ b/code/modules/reagents/reagent_containers/maunamug.dm @@ -3,6 +3,7 @@ desc = "A drink served in a classy mug. Now with built-in heating!" icon = 'icons/obj/mauna_mug.dmi' icon_state = "maunamug" + base_icon_state = "maunamug" spillable = TRUE reagent_flags = OPENCONTAINER fill_icon_state = "maunafilling" @@ -94,19 +95,19 @@ return TRUE return ..() -/obj/item/reagent_containers/glass/maunamug/update_icon() - ..() +/obj/item/reagent_containers/glass/maunamug/update_icon_state() if(open) - if(cell) - icon_state = "maunamug_bat" - else - icon_state = "maunamug_no_bat" - else if(on) - icon_state = "maunamug_on" - else - icon_state = "maunamug" - if(reagents.total_volume && reagents.chem_temp >= 400) - var/intensity = (reagents.chem_temp - 400) * 1 / 600 //Get the opacity of the incandescent overlay. Ranging from 400 to 1000 - var/mutable_appearance/mug_glow = mutable_appearance(icon, "maunamug_incand") - mug_glow.alpha = 255 * intensity - add_overlay(mug_glow) + icon_state = "[base_icon_state][cell ? null : "_no"]_bat" + return ..() + icon_state = "[base_icon_state][on ? "_on" : null]" + return ..() + +/obj/item/reagent_containers/glass/maunamug/update_overlays() + . = ..() + if(!reagents.total_volume || reagents.chem_temp < 400) + return + + var/intensity = (reagents.chem_temp - 400) * 1 / 600 //Get the opacity of the incandescent overlay. Ranging from 400 to 1000 + var/mutable_appearance/mug_glow = mutable_appearance(icon, "maunamug_incand") + mug_glow.alpha = 255 * intensity + . += mug_glow diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 1d1e7ca46879..c99e27ae96fa 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -158,12 +158,13 @@ /obj/item/reagent_containers/syringe/update_icon_state() var/rounded_vol = get_rounded_vol() icon_state = "[base_icon_state]_[rounded_vol]" + item_state = "[base_icon_state]_[rounded_vol]" + return ..() /obj/item/reagent_containers/syringe/update_overlays() . = ..() - var/rounded_vol = get_rounded_vol() if(reagents && reagents.total_volume) - var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[rounded_vol]") + var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[get_rounded_vol()]") filling_overlay.color = mix_color_from_reagents(reagents.reagent_list) . += filling_overlay if(ismob(loc)) @@ -177,10 +178,9 @@ ///Used by update_icon() and update_overlays() /obj/item/reagent_containers/syringe/proc/get_rounded_vol() - if(reagents && reagents.total_volume) - return clamp(round((reagents.total_volume / volume * 15),5), 1, 15) - else + if(!reagents?.total_volume) return 0 + return clamp(round((reagents.total_volume / volume * 15), 5), 1, 15) /obj/item/reagent_containers/syringe/epinephrine name = "syringe (epinephrine)" diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 53816bc176bc..901d888feb69 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -8,6 +8,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) icon_state = "conveyor_map" name = "conveyor belt" desc = "A conveyor belt." + base_icon_state = "conveyor" layer = BELOW_OPEN_DOOR_LAYER processing_flags = START_PROCESSING_MANUALLY subsystem_type = /datum/controller/subsystem/processing/fastprocess @@ -112,10 +113,8 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) update() /obj/machinery/conveyor/update_icon_state() - if(machine_stat & BROKEN) - icon_state = "conveyor-broken" - else - icon_state = "conveyor[operating * verted]" + icon_state = "[base_icon_state][(machine_stat & BROKEN) ? "-broken" : (operating * verted)]" + return ..() /obj/machinery/conveyor/proc/update() if(machine_stat & BROKEN || !operable || machine_stat & NOPOWER) @@ -235,6 +234,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) desc = "A conveyor control switch." icon = 'icons/obj/recycling.dmi' icon_state = "switch-off" + base_icon_state = "switch" processing_flags = START_PROCESSING_MANUALLY var/position = 0 // 0 off, -1 reverse, 1 forward @@ -269,18 +269,14 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) // update the icon depending on the position /obj/machinery/conveyor_switch/update_icon_state() - if(position<0) - if(invert_icon) - icon_state = "switch-fwd" - else - icon_state = "switch-rev" - else if(position>0) - if(invert_icon) - icon_state = "switch-rev" - else - icon_state = "switch-fwd" - else - icon_state = "switch-off" + if(position < 0) + icon_state = "[base_icon_state]-[invert_icon ? "fwd" : "rev"]" + return ..() + if(position > 0) + icon_state = "[base_icon_state]-[invert_icon ? "rev" : "fwd"]" + return ..() + icon_state = "[base_icon_state]-off" + return ..() /// Updates all conveyor belts that are linked to this switch, and tells them to start processing. /obj/machinery/conveyor_switch/proc/update_linked_conveyors() diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index e2bedeef660f..22ae5326bedc 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -346,11 +346,15 @@ pressure_charging = TRUE update_icon() -/obj/machinery/disposal/bin/update_overlays() +/obj/machinery/disposal/bin/update_appearance(updates) . = ..() + if((machine_stat & (BROKEN|NOPOWER)) || panel_open) + luminosity = 0 + return + luminosity = 1 - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 +/obj/machinery/disposal/bin/update_overlays() + . = ..() if(machine_stat & BROKEN) return @@ -363,7 +367,6 @@ if(machine_stat & NOPOWER || panel_open) return - luminosity = 1 //check for items in disposal - occupied light if(contents.len > 0) . += "dispover-full" diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm index 334988b9b237..5d21944d7c19 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -46,22 +46,22 @@ ..() setDir(old_dir) //pipes changing direction when moved is just annoying and buggy -// update iconstate and dpdir due to dir and type +/obj/structure/disposalconstruct/update_icon_state() + if(ispath(pipe_type, /obj/machinery/disposal/bin)) + // Disposal bins receive special icon treating + icon_state = "[anchored ? "con" : null]disposal" + return ..() + + icon_state = "[is_pipe() ? "con" : null][initial(pipe_type.icon_state)]" + return ..() + +// Extra layer handling /obj/structure/disposalconstruct/update_icon() - icon_state = initial(pipe_type.icon_state) - if(is_pipe()) - icon_state = "con[icon_state]" - if(anchored) - layer = initial(pipe_type.layer) - else - layer = initial(layer) + . = ..() + if(!is_pipe()) + return - else if(ispath(pipe_type, /obj/machinery/disposal/bin)) - // Disposal bins receive special icon treating - if(anchored) - icon_state = "disposal" - else - icon_state = "condisposal" + layer = anchored ? initial(pipe_type.layer) : initial(layer) /obj/structure/disposalconstruct/proc/get_disposal_dir() if(!is_pipe()) diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm index d31b64170cda..3b9aaceb9f4e 100644 --- a/code/modules/research/bepis.dm +++ b/code/modules/research/bepis.dm @@ -13,6 +13,7 @@ desc = "A high fidelity testing device which unlocks the secrets of the known universe using the two most powerful substances available to man: excessive amounts of electricity and capital." icon = 'icons/obj/machines/bepis.dmi' icon_state = "chamber" + base_icon_state = "chamber" density = TRUE layer = ABOVE_MOB_LAYER use_power = IDLE_POWER_USE @@ -166,20 +167,21 @@ /obj/machinery/rnd/bepis/update_icon_state() if(panel_open == TRUE) - icon_state = "chamber_open" - return + icon_state = "[base_icon_state]_open" + return ..() if((use_power == ACTIVE_POWER_USE) && (banked_cash > 0) && (is_operational)) - icon_state = "chamber_active_loaded" - return + icon_state = "[base_icon_state]_active_loaded" + return ..() if (((use_power == IDLE_POWER_USE) && (banked_cash > 0)) || (banked_cash > 0) && (!is_operational)) - icon_state = "chamber_loaded" - return + icon_state = "[base_icon_state]_loaded" + return ..() if(use_power == ACTIVE_POWER_USE && is_operational) - icon_state = "chamber_active" - return + icon_state = "[base_icon_state]_active" + return ..() if(((use_power == IDLE_POWER_USE) && (banked_cash == 0)) || (!is_operational)) - icon_state = "chamber" - return + icon_state = base_icon_state + return ..() + return ..() /obj/machinery/rnd/bepis/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 0c14330400ab..ac9a2ceb5b80 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -11,6 +11,7 @@ Note: Must be placed within 3 tiles of the R&D Console name = "destructive analyzer" desc = "Learn science by destroying things!" icon_state = "d_analyzer" + base_icon_state = "d_analyzer" circuit = /obj/item/circuitboard/machine/destructive_analyzer var/decon_mod = 0 @@ -52,10 +53,8 @@ Note: Must be placed within 3 tiles of the R&D Console reset_busy() /obj/machinery/rnd/destructive_analyzer/update_icon_state() - if(loaded_item) - icon_state = "d_analyzer_l" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state][loaded_item ? "_l" : null]" + return ..() /obj/machinery/rnd/destructive_analyzer/proc/reclaim_materials_from(obj/item/thing) . = 0 diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 1ce3ee0e687a..c52f45de35ac 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -22,6 +22,7 @@ desc = "A \"replacement\" for the destructive analyzer with a slight tendency to catastrophically fail." icon = 'icons/obj/machines/heavy_lathe.dmi' icon_state = "h_lathe" + base_icon_state = "h_lathe" density = TRUE use_power = IDLE_POWER_USE circuit = /obj/item/circuitboard/machine/experimentor @@ -243,7 +244,7 @@ /obj/machinery/rnd/experimentor/proc/experiment(exp,obj/item/exp_on) recentlyExperimented = 1 - icon_state = "h_lathe_wloop" + icon_state = "[base_icon_state]_wloop" var/chosenchem var/criticalReaction = is_type_in_typecache(exp_on, critical_items_typecache) //////////////////////////////////////////////////////////////////////////////////////////////// @@ -528,7 +529,8 @@ recentlyExperimented = FALSE /obj/machinery/rnd/experimentor/update_icon_state() - icon_state = "h_lathe" + icon_state = base_icon_state + return ..() /obj/machinery/rnd/experimentor/proc/warn_admins(user, ReactionName) var/turf/T = get_turf(user) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index cc6eed4ed282..a8902c2ea0b2 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -4,6 +4,7 @@ circuit = /obj/item/circuitboard/machine/nanite_chamber icon = 'icons/obj/machines/nanite_chamber.dmi' icon_state = "nanite_chamber" + base_icon_state = "nanite_chamber" layer = ABOVE_WINDOW_LAYER use_power = IDLE_POWER_USE anchored = TRUE @@ -112,13 +113,11 @@ /obj/machinery/nanite_chamber/update_icon_state() //running and someone in there if(occupant) - if(busy) - icon_state = busy_icon_state - else - icon_state = initial(icon_state) + "_occupied" - else - //running - icon_state = initial(icon_state) + (state_open ? "_open" : "") + icon_state = busy ? busy_icon_state : "[base_icon_state]_occupied" + return ..() + //running + icon_state = "[base_icon_state][state_open ? "_open" : null]" + return ..() /obj/machinery/nanite_chamber/update_overlays() . = ..() @@ -126,13 +125,16 @@ if((machine_stat & MAINT) || panel_open) . += "maint" - else if(!(machine_stat & (NOPOWER|BROKEN))) - if(busy || locked) - . += "red" - if(locked) - . += "bolted" - else - . += "green" + return + if(machine_stat & (NOPOWER|BROKEN)) + return + + if(busy || locked) + . += "red" + if(locked) + . += "bolted" + return + . += "green" /obj/machinery/nanite_chamber/proc/toggle_open(mob/user) if(panel_open) diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index 0da01b872205..a93326748b45 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -100,6 +100,7 @@ else //running icon_state = initial(icon_state)+ (state_open ? "_open" : "") + return ..() /obj/machinery/public_nanite_chamber/update_overlays() . = ..() diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index f7eba26da5f7..be021492b2de 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -124,7 +124,7 @@ GLOBAL_VAR_INIT(emergency_access, FALSE) for(var/area/ship/maintenance/A in world) for(var/obj/machinery/door/airlock/D in A) D.emergency = TRUE - D.update_icon(0) + D.update_icon(ALL, 0) minor_announce("Access restrictions on maintenance and external airlocks have been lifted.", "Attention! Sector-wide emergency declared!",1) GLOB.emergency_access = TRUE SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "enabled")) @@ -133,7 +133,7 @@ GLOBAL_VAR_INIT(emergency_access, FALSE) for(var/area/ship/maintenance/A in world) for(var/obj/machinery/door/airlock/D in A) D.emergency = FALSE - D.update_icon(0) + D.update_icon(ALL, 0) minor_announce("Access restrictions in maintenance areas have been restored.", "Attention! Sector-wide emergency rescinded:") GLOB.emergency_access = FALSE SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "disabled")) diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 0b23acdce484..9f65ed6a332c 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -10,6 +10,7 @@ icon = 'icons/obj/machines/magic_emitter.dmi' icon_state = "wabbajack_statue" icon_state_on = "wabbajack_statue_on" + base_icon_state = "wabbajack_statue" active = FALSE allow_switch_interact = FALSE var/list/active_tables = list() @@ -22,10 +23,8 @@ update_icon() /obj/machinery/power/emitter/energycannon/magical/update_icon_state() - if(active) - icon_state = icon_state_on - else - icon_state = initial(icon_state) + . = ..() + icon_state = active ? icon_state_on : initial(icon_state) /obj/machinery/power/emitter/energycannon/magical/process() . = ..() diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm index ace2ad3c9f25..66c0c232c06c 100644 --- a/code/modules/spells/spell_types/aimed.dm +++ b/code/modules/spells/spell_types/aimed.dm @@ -43,6 +43,8 @@ /obj/effect/proc_holder/spell/aimed/update_icon() if(!action) return + + . = ..() action.button_icon_state = "[base_icon_state][active]" action.UpdateButtonIcon() diff --git a/code/modules/spells/spell_types/pointed/pointed.dm b/code/modules/spells/spell_types/pointed/pointed.dm index 2f2a6c41a8d9..1002d34ccb52 100644 --- a/code/modules/spells/spell_types/pointed/pointed.dm +++ b/code/modules/spells/spell_types/pointed/pointed.dm @@ -59,10 +59,9 @@ /obj/effect/proc_holder/spell/pointed/update_icon() if(!action) return - if(active) - action.button_icon_state = "[action_icon_state]1" - else - action.button_icon_state = "[action_icon_state]" + + . = ..() + action.button_icon_state = "[action_icon_state][active ? 1 : null]" action.UpdateButtonIcon() /obj/effect/proc_holder/spell/pointed/InterceptClickOn(mob/living/caller, params, atom/target) diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index a00ee9749d15..603cf4fd22e3 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -82,6 +82,7 @@ desc = "" icon = 'icons/obj/machines/satellite.dmi' icon_state = "sat_inactive" + base_icon_state = "sat" anchored = FALSE density = TRUE use_power = FALSE @@ -120,7 +121,8 @@ set_anchored(!anchored) /obj/machinery/satellite/update_icon_state() - icon_state = active ? "sat_active" : "sat_inactive" + icon_state = "[base_icon_state]_[active ? "active" : "inactive"]" + return ..() /obj/machinery/satellite/multitool_act(mob/living/user, obj/item/I) ..() diff --git a/code/modules/surgery/organs/appendix.dm b/code/modules/surgery/organs/appendix.dm index 8945bac15073..8e0a3694c298 100644 --- a/code/modules/surgery/organs/appendix.dm +++ b/code/modules/surgery/organs/appendix.dm @@ -1,6 +1,7 @@ /obj/item/organ/appendix name = "appendix" icon_state = "appendix" + base_icon_state = "appendix" zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_APPENDIX @@ -12,13 +13,13 @@ var/inflamed -/obj/item/organ/appendix/update_icon() - if(inflamed) - icon_state = "appendixinflamed" - name = "inflamed appendix" - else - icon_state = "appendix" - name = "appendix" +/obj/item/organ/appendix/update_name() + . = ..() + name = "[inflamed ? "inflamed " : null][initial(name)]" + +/obj/item/organ/appendix/update_icon_state() + icon_state = "[base_icon_state][inflamed ? "inflamed" : ""]" + return ..() /obj/item/organ/appendix/on_life() ..() diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index a51f89d3063e..1abceb8848ab 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -32,10 +32,8 @@ CRASH("Invalid zone for [type]") /obj/item/organ/cyberimp/arm/update_icon() - if(zone == BODY_ZONE_R_ARM) - transform = null - else // Mirroring the icon - transform = matrix(-1, 0, 0, 0, 1, 0) + . = ..() + transform = (zone == BODY_ZONE_R_ARM) ? null : matrix(-1, 0, 0, 0, 1, 0) /obj/item/organ/cyberimp/arm/examine(mob/user) . = ..() diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index ac97a692be41..40d876283b83 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -122,6 +122,7 @@ Unlike regular jetpacks, this device has no stabilization system." slot = ORGAN_SLOT_THRUSTERS icon_state = "imp_jetpack" + base_icon_state = "imp_jetpack" implant_overlay = null implant_color = null actions_types = list(/datum/action/item_action/organ_action/toggle) @@ -169,10 +170,8 @@ update_icon() /obj/item/organ/cyberimp/chest/thrusters/update_icon_state() - if(on) - icon_state = "imp_jetpack-on" - else - icon_state = "imp_jetpack" + icon_state = "[base_icon_state][on ? "-on" : null]" + return ..() /obj/item/organ/cyberimp/chest/thrusters/proc/move_react() if(!on)//If jet dont work, it dont work diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 2c7a1a508605..42c4cc07441b 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -2,6 +2,7 @@ name = "heart" desc = "I feel bad for the heartless bastard who lost this." icon_state = "heart-on" + base_icon_state = "heart" zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_HEART @@ -15,7 +16,6 @@ // Heart attack code is in code/modules/mob/living/carbon/human/life.dm var/beating = 1 - var/icon_base = "heart" attack_verb = list("beat", "thumped") //is this mob having a heatbeat sound played? if so, which? var/beat = BEAT_NONE @@ -25,10 +25,8 @@ var/operated = FALSE /obj/item/organ/heart/update_icon_state() - if(beating) - icon_state = "[icon_base]-on" - else - icon_state = "[icon_base]-off" + icon_state = "[base_icon_state]-[beating ? "on" : "off"]" + return ..() /obj/item/organ/heart/Remove(mob/living/carbon/M, special = 0) ..() @@ -101,7 +99,7 @@ name = "cursed heart" desc = "A heart that, when inserted, will force you to pump it manually." icon_state = "cursedheart-off" - icon_base = "cursedheart" + base_icon_state = "cursedheart" decay_factor = 0 actions_types = list(/datum/action/item_action/hands_free/organ_action/cursed_heart) var/last_pump = 0 diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 26aafc42aee9..0a519d9d7917 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -224,17 +224,19 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C else ..() -/obj/machinery/vending/update_icon_state() +/obj/machinery/vending/update_appearance(updates=ALL) + . = ..() if(machine_stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - set_light(0) - else if(powered()) - icon_state = initial(icon_state) - set_light(1.4) - else - icon_state = "[initial(icon_state)]-off" set_light(0) + return + set_light(powered() ? MINIMUM_USEFUL_LIGHT_RANGE : 0) +/obj/machinery/vending/update_icon_state() + if(machine_stat & BROKEN) + icon_state = "[initial(icon_state)]-broken" + return ..() + icon_state = "[initial(icon_state)][powered() ? null : "-off"]" + return ..() /obj/machinery/vending/update_overlays() . = ..() diff --git a/shiptest.dme b/shiptest.dme index 3a622e539367..72d72c79d650 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -637,6 +637,7 @@ #include "code\datums\elements\update_icon_blocker.dm" #include "code\datums\elements\update_icon_updates_onmob.dm" #include "code\datums\elements\waddling.dm" +#include "code\datums\elements\world_icon.dm" #include "code\datums\elements\decals\_decals.dm" #include "code\datums\elements\decals\blood.dm" #include "code\datums\helper_datums\events.dm" From d40a9d9ed3d581f184f726b6cbf3a89b214b47dc Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+MemedHams@users.noreply.github.com> Date: Sat, 15 Jul 2023 04:56:09 -0400 Subject: [PATCH 2/8] HUBRIS I'm a bit of a two commit lad -update_appearance() vscedit -huge port of original pr's content -assorted bugfixes to random problems I introduced earlier -Removes world-icon prep, i'll pr it after update_appearance --- code/__DEFINES/dcs/signals.dm | 1 - code/_onclick/hud/action_button.dm | 4 +- code/_onclick/hud/alien.dm | 6 +- code/_onclick/hud/alien_larva.dm | 4 +- code/_onclick/hud/constructs.dm | 2 +- code/_onclick/hud/devil.dm | 4 +- code/_onclick/hud/drones.dm | 2 +- code/_onclick/hud/families.dm | 2 +- code/_onclick/hud/generic_dextrous.dm | 6 +- code/_onclick/hud/guardian.dm | 4 +- code/_onclick/hud/holograms.dm | 4 +- code/_onclick/hud/hud.dm | 2 +- code/_onclick/hud/human.dm | 6 +- code/_onclick/hud/living.dm | 2 +- code/_onclick/hud/monkey.dm | 6 +- code/_onclick/hud/revenanthud.dm | 2 +- code/_onclick/hud/robot.dm | 6 +- code/_onclick/hud/screen_objects.dm | 2 +- code/_onclick/telekinesis.dm | 10 +- code/controllers/subsystem/acid.dm | 2 +- code/controllers/subsystem/communications.dm | 2 +- code/controllers/subsystem/mapping.dm | 2 +- code/controllers/subsystem/persistence.dm | 2 +- code/datums/components/armor_plate.dm | 2 +- code/datums/components/embedded.dm | 2 +- code/datums/components/plumbing/_plumbing.dm | 4 +- .../components/storage/concrete/_concrete.dm | 4 +- code/datums/components/storage/storage.dm | 2 +- code/datums/components/taped.dm | 2 +- code/datums/components/twohanded.dm | 4 +- code/datums/diseases/appendicitis.dm | 2 +- code/datums/elements/decals/_decals.dm | 6 +- code/datums/elements/world_icon.dm | 123 ---- code/datums/status_effects/neutral.dm | 2 +- code/datums/traits/neutral.dm | 2 +- code/datums/wires/airalarm.dm | 8 +- code/datums/wires/airlock.dm | 8 +- code/datums/wires/airlock_cycle.dm | 4 +- code/datums/wires/apc.dm | 3 +- code/datums/wires/syndicatebomb.dm | 4 +- code/game/area/areas.dm | 6 +- code/game/gamemodes/events.dm | 6 +- code/game/gamemodes/gang/gang.dm | 2 +- code/game/gamemodes/sandbox/h_sandbox.dm | 2 +- code/game/machinery/PDApainter.dm | 8 +- code/game/machinery/Sleeper.dm | 2 +- code/game/machinery/_machinery.dm | 8 +- code/game/machinery/airlock_control.dm | 12 +- code/game/machinery/airlock_cycle_control.dm | 46 +- code/game/machinery/announcement_system.dm | 10 +- code/game/machinery/aug_manipulator.dm | 8 +- code/game/machinery/autolathe.dm | 2 +- code/game/machinery/buttons.dm | 8 +- code/game/machinery/camera/camera.dm | 10 +- code/game/machinery/camera/camera_assembly.dm | 6 +- code/game/machinery/camera/presets.dm | 4 +- code/game/machinery/cell_charger.dm | 8 +- code/game/machinery/cloning.dm | 4 +- code/game/machinery/computer/_computer.dm | 2 +- code/game/machinery/computer/aifixer.dm | 6 +- code/game/machinery/computer/apc_control.dm | 8 +- code/game/machinery/computer/arcade.dm | 2 +- code/game/machinery/computer/atmos_alert.dm | 4 +- .../game/machinery/computer/buildandrepair.dm | 18 +- code/game/machinery/computer/medical.dm | 2 +- code/game/machinery/computer/security.dm | 2 +- code/game/machinery/computer/teleporter.dm | 12 +- code/game/machinery/cryopod.dm | 2 +- code/game/machinery/dance_machine.dm | 4 +- code/game/machinery/defibrillator_mount.dm | 10 +- code/game/machinery/dish_drive.dm | 2 +- code/game/machinery/dna_scanner.dm | 2 +- code/game/machinery/doors/airlock.dm | 66 +-- code/game/machinery/doors/airlock_types.dm | 6 +- code/game/machinery/doors/brigdoors.dm | 10 +- code/game/machinery/doors/door.dm | 4 +- code/game/machinery/doors/firedoor.dm | 24 +- code/game/machinery/doors/poddoor.dm | 2 +- code/game/machinery/doors/windowdoor.dm | 2 +- code/game/machinery/doppler_array.dm | 2 +- code/game/machinery/droneDispenser.dm | 8 +- .../embedded_controller/access_controller.dm | 12 +- .../embedded_controller_base.dm | 2 +- code/game/machinery/fat_sucker.dm | 8 +- code/game/machinery/firealarm.dm | 18 +- code/game/machinery/gulag_teleporter.dm | 2 +- code/game/machinery/harvester.dm | 4 +- code/game/machinery/hologram.dm | 4 +- code/game/machinery/hypnochair.dm | 10 +- code/game/machinery/igniter.dm | 4 +- code/game/machinery/iv_drip.dm | 20 +- code/game/machinery/lightswitch.dm | 4 +- code/game/machinery/navbeacon.dm | 2 +- code/game/machinery/newscaster.dm | 14 +- code/game/machinery/pipe/pipe_dispenser.dm | 2 +- .../machinery/porta_turret/portable_turret.dm | 18 +- .../porta_turret/portable_turret_cover.dm | 4 +- code/game/machinery/prisonlabor.dm | 8 +- code/game/machinery/recharger.dm | 12 +- code/game/machinery/rechargestation.dm | 2 +- code/game/machinery/recycler.dm | 10 +- code/game/machinery/requests_console.dm | 18 +- code/game/machinery/roulette_machine.dm | 4 +- code/game/machinery/sheetifier.dm | 6 +- code/game/machinery/shieldgen.dm | 12 +- code/game/machinery/slotmachine.dm | 4 +- code/game/machinery/spaceheater.dm | 14 +- code/game/machinery/stasis.dm | 8 +- code/game/machinery/suit_storage_unit.dm | 16 +- code/game/machinery/syndicatebomb.dm | 10 +- .../telecomms/machines/message_server.dm | 4 +- .../machinery/telecomms/telecomunications.dm | 2 +- code/game/machinery/teleporter.dm | 10 +- code/game/machinery/transformer.dm | 4 +- code/game/machinery/washing_machine.dm | 14 +- .../mecha/equipment/tools/medical_tools.dm | 4 +- code/game/mecha/equipment/tools/work_tools.dm | 4 +- code/game/mecha/mech_bay.dm | 8 +- code/game/mecha/mecha.dm | 6 +- code/game/mecha/working/ripley.dm | 4 +- .../effects/anomalies/anomalies_melter.dm | 10 +- code/game/objects/effects/decals/cleanable.dm | 2 +- .../effects/decals/cleanable/humans.dm | 4 +- .../effects/effect_system/effects_foam.dm | 2 +- .../effects/effect_system/effects_smoke.dm | 2 +- .../objects/effects/spawners/bombspawner.dm | 2 +- .../temporary_visuals/miscellaneous.dm | 2 +- code/game/objects/items.dm | 7 +- code/game/objects/items/RCD.dm | 6 +- code/game/objects/items/RCL.dm | 12 +- code/game/objects/items/RPD.dm | 2 +- code/game/objects/items/broom.dm | 4 +- code/game/objects/items/candle.dm | 10 +- code/game/objects/items/cards_ids.dm | 8 +- code/game/objects/items/cash.dm | 24 +- code/game/objects/items/chrono_eraser.dm | 4 +- code/game/objects/items/cigs_lighters.dm | 8 +- code/game/objects/items/crayons.dm | 10 +- code/game/objects/items/credit_holochip.dm | 6 +- code/game/objects/items/defib.dm | 32 +- code/game/objects/items/devices/PDA/PDA.dm | 24 +- code/game/objects/items/devices/aicard.dm | 4 +- code/game/objects/items/devices/flashlight.dm | 4 +- .../objects/items/devices/geiger_counter.dm | 12 +- .../objects/items/devices/lightreplacer.dm | 4 +- code/game/objects/items/devices/multitool.dm | 2 +- .../items/devices/portable_chem_mixer.dm | 8 +- code/game/objects/items/devices/powersink.dm | 2 +- .../objects/items/devices/radio/intercom.dm | 15 +- code/game/objects/items/devices/swapper.dm | 10 +- .../objects/items/devices/taperecorder.dm | 16 +- .../objects/items/devices/traitordevices.dm | 2 +- .../objects/items/devices/transfer_valve.dm | 10 +- code/game/objects/items/dice.dm | 4 +- code/game/objects/items/documents.dm | 2 +- code/game/objects/items/dualsaber.dm | 2 +- code/game/objects/items/energyhalberd.dm | 2 +- code/game/objects/items/etherealdiscoball.dm | 6 +- code/game/objects/items/flamethrower.dm | 14 +- .../objects/items/grenades/discogrenade.dm | 2 +- code/game/objects/items/grenades/festive.dm | 4 +- code/game/objects/items/handcuffs.dm | 10 +- code/game/objects/items/hot_potato.dm | 4 +- code/game/objects/items/hourglass.dm | 2 +- .../objects/items/implants/implantcase.dm | 10 +- .../objects/items/implants/implantchair.dm | 6 +- code/game/objects/items/implants/implanter.dm | 4 +- .../game/objects/items/implants/implantpad.dm | 6 +- code/game/objects/items/inducer.dm | 18 +- code/game/objects/items/melee/misc.dm | 18 +- code/game/objects/items/mop.dm | 2 +- code/game/objects/items/pet_carrier.dm | 10 +- code/game/objects/items/pinpointer.dm | 4 +- code/game/objects/items/pneumaticCannon.dm | 4 +- code/game/objects/items/robot/robot_items.dm | 16 +- code/game/objects/items/robot/robot_parts.dm | 18 +- .../objects/items/robot/robot_upgrades.dm | 4 +- code/game/objects/items/shields.dm | 10 +- code/game/objects/items/spear.dm | 2 +- code/game/objects/items/stacks/medical.dm | 4 +- code/game/objects/items/stacks/rods.dm | 2 +- code/game/objects/items/stacks/stack.dm | 6 +- code/game/objects/items/stacks/tickets.dm | 2 +- .../items/stacks/tiles/tile_reskinning.dm | 2 +- code/game/objects/items/storage/bags.dm | 8 +- code/game/objects/items/storage/belt.dm | 16 +- code/game/objects/items/storage/boxes.dm | 2 +- code/game/objects/items/storage/fancy.dm | 6 +- code/game/objects/items/storage/lockbox.dm | 6 +- code/game/objects/items/storage/sixpack.dm | 2 +- code/game/objects/items/storage/toolbox.dm | 4 +- code/game/objects/items/storage/wallets.dm | 2 +- code/game/objects/items/stunbaton.dm | 14 +- code/game/objects/items/tanks/watertank.dm | 2 +- code/game/objects/items/theft_tools.dm | 6 +- code/game/objects/items/tools/screwdriver.dm | 2 +- code/game/objects/items/tools/weldingtool.dm | 18 +- code/game/objects/items/tools/wirecutters.dm | 2 +- code/game/objects/items/tools/wrench.dm | 2 +- code/game/objects/items/toys.dm | 12 +- code/game/objects/obj_defense.dm | 6 +- code/game/objects/structures/ai_core.dm | 26 +- code/game/objects/structures/artstuff.dm | 10 +- code/game/objects/structures/bedsheet_bin.dm | 8 +- code/game/objects/structures/catwalk.dm | 8 +- .../structures/crates_lockers/closets.dm | 14 +- .../crates_lockers/closets/bodybag.dm | 4 +- .../crates_lockers/closets/secure/personal.dm | 2 +- .../structures/crates_lockers/crates.dm | 6 +- .../structures/crates_lockers/crates/bins.dm | 6 +- .../crates_lockers/crates/secure.dm | 2 +- code/game/objects/structures/displaycase.dm | 26 +- code/game/objects/structures/divine.dm | 2 +- code/game/objects/structures/door_assembly.dm | 8 +- code/game/objects/structures/extinguisher.dm | 14 +- code/game/objects/structures/false_walls.dm | 4 +- code/game/objects/structures/fireaxe.dm | 22 +- code/game/objects/structures/fireplace.dm | 6 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/guncase.dm | 12 +- code/game/objects/structures/headpike.dm | 2 +- code/game/objects/structures/janicart.dm | 6 +- code/game/objects/structures/ladders.dm | 22 +- code/game/objects/structures/life_candle.dm | 2 +- code/game/objects/structures/mineral_doors.dm | 4 +- code/game/objects/structures/mop_bucket.dm | 4 +- code/game/objects/structures/morgue.dm | 10 +- .../objects/structures/poddoor_assembly.dm | 6 +- code/game/objects/structures/safe.dm | 2 +- code/game/objects/structures/shower.dm | 2 +- code/game/objects/structures/stairs.dm | 4 +- .../game/objects/structures/tank_dispenser.dm | 6 +- .../structures/transit_tubes/station.dm | 4 +- .../transit_tubes/transit_tube_pod.dm | 4 +- code/game/objects/structures/tribal_torch.dm | 6 +- code/game/objects/structures/votingbox.dm | 4 +- code/game/objects/structures/watercloset.dm | 6 +- .../objects/structures/windoor_assembly.dm | 6 +- code/game/objects/structures/window.dm | 8 +- code/game/turfs/closed/wall/conc_walls.dm | 2 +- code/game/turfs/closed/wall/reinf_walls.dm | 24 +- code/game/turfs/closed/walls.dm | 6 +- code/game/turfs/open/floor.dm | 2 +- code/game/turfs/open/floor/conc_floor.dm | 14 +- code/game/turfs/open/floor/fancy_floor.dm | 7 +- code/game/turfs/open/floor/light_floor.dm | 12 +- code/game/turfs/open/floor/misc_floor.dm | 2 +- code/game/turfs/open/floor/plating.dm | 2 +- code/game/turfs/open/floor/plating/icemoon.dm | 6 +- code/game/turfs/open/space/transit.dm | 2 +- code/modules/NTNet/relays.dm | 10 +- code/modules/admin/topic.dm | 4 +- code/modules/admin/verbs/debug.dm | 4 +- code/modules/admin/verbs/manipulate_organs.dm | 2 +- .../abductor/equipment/abduction_gear.dm | 2 +- .../blob/blobstrains/_blobstrain.dm | 2 +- .../blob/blobstrains/replicating_foam.dm | 2 +- code/modules/antagonists/blob/overmind.dm | 4 +- code/modules/antagonists/blob/powers.dm | 4 +- .../antagonists/blob/structures/_blob.dm | 12 +- .../antagonists/blob/structures/core.dm | 6 +- .../antagonists/cult/cult_structures.dm | 2 +- .../nukeop/equipment/nuclearbomb.dm | 22 +- .../antagonists/revolution/revolution.dm | 2 +- .../traitor/equipment/Malf_Modules.dm | 2 +- code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/bomb.dm | 2 +- code/modules/assembly/doorcontrol.dm | 2 +- code/modules/assembly/flash.dm | 2 +- code/modules/assembly/health.dm | 2 +- code/modules/assembly/holder.dm | 2 +- code/modules/assembly/infrared.dm | 6 +- code/modules/assembly/mousetrap.dm | 8 +- code/modules/assembly/proximity.dm | 8 +- code/modules/assembly/signaler.dm | 2 +- code/modules/assembly/timer.dm | 8 +- .../atmospherics/machinery/airalarm.dm | 22 +- .../atmospherics/machinery/atmosmachinery.dm | 6 +- .../components/binary_devices/circulator.dm | 10 +- .../components/binary_devices/dp_vent_pump.dm | 6 +- .../components/binary_devices/passive_gate.dm | 8 +- .../binary_devices/pressure_valve.dm | 6 +- .../components/binary_devices/pump.dm | 8 +- .../components/binary_devices/relief_valve.dm | 2 +- .../binary_devices/temperature_gate.dm | 6 +- .../binary_devices/temperature_pump.dm | 6 +- .../components/binary_devices/volume_pump.dm | 8 +- .../machinery/components/components_base.dm | 2 +- .../components/trinary_devices/filter.dm | 6 +- .../components/trinary_devices/mixer.dm | 6 +- .../components/unary_devices/cryo.dm | 14 +- .../unary_devices/outlet_injector.dm | 8 +- .../components/unary_devices/relief_valve.dm | 2 +- .../components/unary_devices/thermomachine.dm | 4 +- .../components/unary_devices/unary_devices.dm | 2 +- .../components/unary_devices/vent_pump.dm | 6 +- .../components/unary_devices/vent_scrubber.dm | 6 +- .../atmospherics/machinery/other/miner.dm | 4 +- .../machinery/pipes/layermanifold.dm | 4 +- .../atmospherics/machinery/pipes/manifold.dm | 2 +- .../machinery/portable/canister.dm | 10 +- .../portable/portable_atmospherics.dm | 12 +- .../atmospherics/machinery/portable/pump.dm | 6 +- .../machinery/portable/scrubber.dm | 8 +- code/modules/awaymissions/gateway.dm | 6 +- code/modules/buildmode/buildmode.dm | 4 +- code/modules/buildmode/buttons.dm | 4 +- code/modules/cargo/bounty_console.dm | 2 +- code/modules/cargo/centcom_podlauncher.dm | 2 +- code/modules/cargo/expressconsole.dm | 2 +- code/modules/cargo/gondolapod.dm | 4 +- code/modules/cargo/order.dm | 6 +- code/modules/cargo/supplypod.dm | 10 +- code/modules/cargo/supplypod_beacon.dm | 2 +- code/modules/client/preferences_toggles.dm | 2 +- code/modules/clothing/chameleon.dm | 2 +- .../clothing/glasses/engine_goggles.dm | 4 +- code/modules/clothing/head/hardhat.dm | 6 +- code/modules/clothing/head/helmet.dm | 10 +- code/modules/clothing/head/misc_special.dm | 14 +- code/modules/clothing/shoes/bananashoes.dm | 4 +- code/modules/clothing/spacesuits/hardsuit.dm | 8 +- code/modules/clothing/spacesuits/plasmamen.dm | 10 +- code/modules/detectivework/scanner.dm | 2 +- code/modules/disks/disk.dm | 2 +- code/modules/donator/_donator.dm | 2 +- code/modules/events/prison_break.dm | 2 +- code/modules/events/stray_cargo.dm | 2 +- .../modules/fishing/fishing_portal_machine.dm | 4 +- code/modules/fishing/fishing_rod.dm | 10 +- code/modules/flufftext/Hallucination.dm | 4 +- code/modules/food_and_drinks/drinks/drinks.dm | 2 +- .../food_and_drinks/drinks/drinks/bottle.dm | 4 +- .../food_and_drinks/drinks/drinks/modglass.dm | 6 +- .../modules/food_and_drinks/food/condiment.dm | 5 +- .../food_and_drinks/food/customizables.dm | 2 +- .../food_and_drinks/food/snacks_frozen.dm | 2 +- .../food_and_drinks/food/snacks_pastry.dm | 4 +- .../kitchen_machinery/cutting_board.dm | 6 +- .../kitchen_machinery/gibber.dm | 8 +- .../kitchen_machinery/grill.dm | 12 +- .../kitchen_machinery/icecream_vat.dm | 2 +- .../kitchen_machinery/microwave.dm | 14 +- .../kitchen_machinery/smartfridge.dm | 53 +- code/modules/food_and_drinks/pizzabox.dm | 84 +-- code/modules/games/cas.dm | 6 +- code/modules/holodeck/area_copy.dm | 2 +- code/modules/holodeck/items.dm | 2 +- .../hydroponics/beekeeping/honeycomb.dm | 4 +- code/modules/hydroponics/biogenerator.dm | 18 +- code/modules/hydroponics/fermenting_barrel.dm | 2 +- code/modules/hydroponics/gene_modder.dm | 6 +- code/modules/hydroponics/hydroponics.dm | 93 +-- code/modules/hydroponics/plant_genes.dm | 6 +- code/modules/instruments/items.dm | 4 +- code/modules/library/lib_items.dm | 20 +- code/modules/library/random_books.dm | 2 +- code/modules/mapping/mapping_helpers.dm | 6 +- .../modules/mining/equipment/explorer_gear.dm | 2 +- .../mining/equipment/kinetic_crusher.dm | 6 +- .../mining/equipment/marker_beacons.dm | 22 +- .../mining/equipment/regenerative_core.dm | 6 +- code/modules/mining/equipment/survival_pod.dm | 1 + .../mining/lavaland/necropolis_chests.dm | 6 +- code/modules/mining/lavaland/ruins/gym.dm | 4 +- code/modules/mining/machine_bluespaceminer.dm | 8 +- code/modules/mining/machine_redemption.dm | 2 - .../modules/mob/dead/new_player/new_player.dm | 2 +- code/modules/mob/dead/observer/login.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 8 +- code/modules/mob/living/brain/MMI.dm | 13 +- code/modules/mob/living/brain/brain_item.dm | 2 +- code/modules/mob/living/brain/death.dm | 2 +- code/modules/mob/living/brain/posibrain.dm | 23 +- .../carbon/alien/utilities/structures.dm | 6 +- code/modules/mob/living/carbon/carbon.dm | 4 +- .../mob/living/carbon/hologram/hologram.dm | 4 +- .../carbon/hologram/hologram_inventory.dm | 4 +- .../human/species_types/shadowpeople.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 28 +- .../modules/mob/living/carbon/update_icons.dm | 10 +- code/modules/mob/living/init_signals.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 6 +- .../modules/mob/living/silicon/ai/multicam.dm | 6 +- .../modules/mob/living/silicon/robot/robot.dm | 10 +- .../mob/living/silicon/robot/robot_defense.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 4 +- .../living/simple_animal/bot/SuperBeepsky.dm | 6 +- .../mob/living/simple_animal/bot/bot.dm | 10 +- .../living/simple_animal/bot/construction.dm | 27 +- .../mob/living/simple_animal/bot/firebot.dm | 21 +- .../mob/living/simple_animal/bot/floorbot.dm | 14 +- .../mob/living/simple_animal/bot/honkbot.dm | 4 +- .../living/simple_animal/bot/hygienebot.dm | 7 +- .../mob/living/simple_animal/bot/medbot.dm | 40 +- .../mob/living/simple_animal/bot/mulebot.dm | 14 +- .../mob/living/simple_animal/bot/secbot.dm | 10 +- .../mob/living/simple_animal/bot/vibebot.dm | 6 +- .../mob/living/simple_animal/hostile/mimic.dm | 8 +- .../hostile/mining_mobs/basilisk.dm | 6 +- .../mob/living/simple_animal/simple_animal.dm | 4 +- .../mob/living/simple_animal/slime/slime.dm | 5 +- code/modules/mob/mob.dm | 4 +- code/modules/mob/mob_movement.dm | 2 +- .../computers/item/computer.dm | 18 +- .../computers/item/computer_components.dm | 2 +- .../computers/item/computer_ui.dm | 6 +- .../computers/item/laptop.dm | 13 +- .../computers/item/processor.dm | 4 +- .../computers/item/tablet.dm | 15 +- .../computers/machinery/modular_computer.dm | 39 +- .../computers/machinery/modular_console.dm | 2 +- .../modular_computers/file_system/program.dm | 4 +- .../programs/antagonist/revelation.dm | 2 +- .../file_system/programs/arcade.dm | 6 +- .../file_system/programs/radar.dm | 6 +- .../file_system/programs/sm_monitor.dm | 2 +- .../modular_computers/hardware/printer.dm | 2 +- code/modules/ninja/suit/ninjaDrainAct.dm | 4 +- code/modules/ninja/suit/suit_attackby.dm | 2 +- .../overmap/missions/research_mission.dm | 2 +- code/modules/overmap/objects/dynamic_datum.dm | 2 +- code/modules/overmap/objects/event_datum.dm | 10 +- code/modules/overmap/overmap_token.dm | 2 +- .../overmap/ships/controlled_ship_datum.dm | 2 +- code/modules/paperwork/carbonpaper.dm | 10 +- code/modules/paperwork/clipboard.dm | 8 +- code/modules/paperwork/contract.dm | 2 +- code/modules/paperwork/folders.dm | 16 +- code/modules/paperwork/paper.dm | 6 +- code/modules/paperwork/paper_cutter.dm | 10 +- code/modules/paperwork/paperbin.dm | 12 +- code/modules/paperwork/paperplane.dm | 4 +- code/modules/paperwork/pen.dm | 2 +- code/modules/paperwork/photocopier.dm | 2 +- code/modules/paperwork/ticketmachine.dm | 10 +- code/modules/photography/photos/frame.dm | 10 +- code/modules/photography/photos/photo.dm | 4 +- code/modules/plumbing/ducts.dm | 10 +- code/modules/plumbing/plumbers/acclimator.dm | 6 +- code/modules/plumbing/plumbers/pumps.dm | 11 +- code/modules/plumbing/plumbers/synthesizer.dm | 2 +- code/modules/power/apc.dm | 529 ++++++++++-------- code/modules/power/cable.dm | 41 +- code/modules/power/cell.dm | 26 +- code/modules/power/generator.dm | 16 +- code/modules/power/gravitygenerator.dm | 22 +- code/modules/power/lighting.dm | 4 +- code/modules/power/port_gen.dm | 4 +- code/modules/power/power.dm | 2 +- code/modules/power/singularity/collector.dm | 6 +- code/modules/power/singularity/emitter.dm | 18 +- .../power/singularity/field_generator.dm | 10 +- .../particle_accelerator.dm | 4 +- .../particle_accelerator/particle_control.dm | 16 +- code/modules/power/smes.dm | 18 +- code/modules/power/solar.dm | 10 +- code/modules/power/supermatter/supermatter.dm | 4 +- .../projectiles/ammunition/_ammunition.dm | 12 +- .../modules/projectiles/ammunition/_firing.dm | 2 +- .../ammunition/caseless/_caseless.dm | 3 +- .../projectiles/ammunition/caseless/foam.dm | 23 +- .../boxes_magazines/_box_magazine.dm | 54 +- .../boxes_magazines/external/lmg.dm | 7 +- .../boxes_magazines/external/pistol.dm | 29 +- .../boxes_magazines/external/rechargable.dm | 10 +- .../boxes_magazines/external/rifle.dm | 31 +- .../boxes_magazines/external/shotgun.dm | 15 +- .../boxes_magazines/external/smg.dm | 58 +- .../boxes_magazines/external/sniper.dm | 10 +- .../boxes_magazines/external/toy.dm | 24 +- code/modules/projectiles/gun.dm | 12 +- code/modules/projectiles/guns/ballistic.dm | 34 +- .../projectiles/guns/ballistic/assault.dm | 4 +- .../projectiles/guns/ballistic/automatic.dm | 2 +- .../modules/projectiles/guns/ballistic/hmg.dm | 5 +- .../projectiles/guns/ballistic/revolver.dm | 4 +- .../projectiles/guns/ballistic/rifle.dm | 2 +- .../projectiles/guns/ballistic/shotgun.dm | 4 +- .../modules/projectiles/guns/ballistic/smg.dm | 8 +- code/modules/projectiles/guns/energy.dm | 22 +- .../projectiles/guns/energy/dueling.dm | 6 +- .../projectiles/guns/energy/energy_gun.dm | 2 +- .../guns/energy/kinetic_accelerator.dm | 4 +- .../projectiles/guns/energy/laser_gatling.dm | 6 +- .../projectiles/guns/energy/special.dm | 4 +- code/modules/projectiles/guns/magic/wand.dm | 2 +- .../projectiles/guns/misc/blastcannon.dm | 6 +- code/modules/projectiles/guns/misc/bow.dm | 4 +- code/modules/projectiles/guns/powered.dm | 10 +- code/modules/projectiles/projectile/magic.dm | 10 +- .../projectile/reusable/foam_dart.dm | 2 +- .../chemistry/machinery/chem_dispenser.dm | 8 +- .../chemistry/machinery/chem_heater.dm | 6 +- .../chemistry/machinery/chem_master.dm | 6 +- .../chemistry/machinery/chem_synthesizer.dm | 2 +- .../reagents/chemistry/machinery/pandemic.dm | 14 +- .../chemistry/machinery/reagentgrinder.dm | 8 +- .../chemistry/machinery/smoke_machine.dm | 8 +- .../chemistry/reagents/other_reagents.dm | 2 +- .../reagents/chemistry/recipes/special.dm | 2 +- code/modules/reagents/reagent_containers.dm | 4 +- .../reagents/reagent_containers/blood_pack.dm | 4 +- .../reagents/reagent_containers/borghydro.dm | 2 +- .../reagents/reagent_containers/dropper.dm | 6 +- .../reagents/reagent_containers/hypospray.dm | 12 +- .../reagents/reagent_containers/hypovial.dm | 8 +- .../reagents/reagent_containers/maunamug.dm | 12 +- .../reagents/reagent_containers/syringes.dm | 18 +- code/modules/reagents/reagent_dispenser.dm | 2 +- code/modules/recycling/conveyor2.dm | 12 +- code/modules/recycling/disposal/bin.dm | 32 +- .../recycling/disposal/construction.dm | 6 +- code/modules/research/destructive_analyzer.dm | 6 +- code/modules/research/experimentor.dm | 2 +- .../research/nanites/nanite_chamber.dm | 4 +- .../nanites/nanite_chamber_computer.dm | 2 +- .../modules/research/nanites/nanite_remote.dm | 6 +- .../research/nanites/public_chamber.dm | 4 +- .../lavalandruin_code/elephantgraveyard.dm | 4 +- code/modules/shuttle/on_move.dm | 4 +- code/modules/shuttle/shuttle_rotate.dm | 4 +- code/modules/shuttle/special.dm | 4 +- code/modules/spells/spell.dm | 4 +- code/modules/spells/spell_types/charge.dm | 2 +- code/modules/spells/spell_types/soultap.dm | 2 +- code/modules/spells/spell_types/summonitem.dm | 2 +- code/modules/station_goals/bsa.dm | 2 +- code/modules/station_goals/shield.dm | 2 +- .../surgery/bodyparts/dismemberment.dm | 6 +- code/modules/surgery/bodyparts/parts.dm | 4 +- code/modules/surgery/implant_removal.dm | 2 +- code/modules/surgery/organs/appendix.dm | 2 +- code/modules/surgery/organs/augments_arms.dm | 4 +- code/modules/surgery/organs/augments_chest.dm | 2 +- code/modules/surgery/organs/heart.dm | 6 +- code/modules/vehicles/motorized_wheelchair.dm | 2 +- code/modules/vehicles/pimpin_ride.dm | 8 +- shiptest.dme | 3 +- 539 files changed, 2393 insertions(+), 2389 deletions(-) delete mode 100644 code/datums/elements/world_icon.dm diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 86e6e5db1973..8cf9ecfcd10b 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -510,7 +510,6 @@ #define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) #define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) #define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot) -#define COMSIG_MOB_EQUIPPED_ITEM "mob_equipped_item" /// A mob has just equipped an item. Called on [/mob] from base of [/obj/item/equipped()]: (/obj/item/equipped_item, slot) #define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user) #define COMSIG_ITEM_PICKUP "item_pickup" //from base of obj/item/pickup(): (/mob/taker) #define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 53df8c0abbc4..fb2bac175034 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -130,7 +130,7 @@ name = "Show Buttons" else name = "Hide Buttons" - update_icon() + update_appearance() usr.update_action_buttons() /atom/movable/screen/movable/action_button/hide_toggle/AltClick(mob/user) @@ -151,7 +151,7 @@ hide_icon = settings["toggle_icon"] hide_state = settings["toggle_hide"] show_state = settings["toggle_show"] - update_icon() + update_appearance() /atom/movable/screen/movable/action_button/hide_toggle/update_overlays() . = ..() diff --git a/code/_onclick/hud/alien.dm b/code/_onclick/hud/alien.dm index d0db2a3c0d94..bc09b61b1b32 100644 --- a/code/_onclick/hud/alien.dm +++ b/code/_onclick/hud/alien.dm @@ -87,7 +87,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_above_movement pull_icon.hud = src static_inventory += pull_icon @@ -109,14 +109,14 @@ zone_select = new /atom/movable/screen/zone_sel/alien() zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() static_inventory += zone_select for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) inv.hud = src inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() + inv.update_appearance() /datum/hud/alien/persistent_inventory_update() if(!mymob) diff --git a/code/_onclick/hud/alien_larva.dm b/code/_onclick/hud/alien_larva.dm index 3b7d82493281..9eab39980834 100644 --- a/code/_onclick/hud/alien_larva.dm +++ b/code/_onclick/hud/alien_larva.dm @@ -21,7 +21,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = 'icons/hud/screen_alien.dmi' - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_above_movement pull_icon.hud = src hotkeybuttons += pull_icon @@ -33,5 +33,5 @@ zone_select = new /atom/movable/screen/zone_sel/alien() zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() static_inventory += zone_select diff --git a/code/_onclick/hud/constructs.dm b/code/_onclick/hud/constructs.dm index bee898ea489c..aa9b206df33d 100644 --- a/code/_onclick/hud/constructs.dm +++ b/code/_onclick/hud/constructs.dm @@ -5,7 +5,7 @@ ..() pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_construct_pull pull_icon.hud = src static_inventory += pull_icon diff --git a/code/_onclick/hud/devil.dm b/code/_onclick/hud/devil.dm index 7588a4abfcb8..55fbeb26a7c9 100644 --- a/code/_onclick/hud/devil.dm +++ b/code/_onclick/hud/devil.dm @@ -14,7 +14,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_drone_pull pull_icon.hud = src static_inventory += pull_icon @@ -44,7 +44,7 @@ zone_select = new /atom/movable/screen/zone_sel() zone_select.icon = ui_style zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() lingchemdisplay = new /atom/movable/screen/ling/chems() lingchemdisplay.hud = src diff --git a/code/_onclick/hud/drones.dm b/code/_onclick/hud/drones.dm index 06d6e239df7e..6f537c986ab2 100644 --- a/code/_onclick/hud/drones.dm +++ b/code/_onclick/hud/drones.dm @@ -26,7 +26,7 @@ if(inv.slot_id) inv.hud = src inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() + inv.update_appearance() /datum/hud/dextrous/drone/persistent_inventory_update() diff --git a/code/_onclick/hud/families.dm b/code/_onclick/hud/families.dm index 96d7fb161f4f..7f2e11a6ad73 100644 --- a/code/_onclick/hud/families.dm +++ b/code/_onclick/hud/families.dm @@ -15,7 +15,7 @@ var/datum/game_mode/gang/F = SSticker.mode level = F.wanted_level cops_arrived = F.cops_arrived - update_icon() + update_appearance() /atom/movable/screen/wanted/MouseEntered(location,control,params) . = ..() diff --git a/code/_onclick/hud/generic_dextrous.dm b/code/_onclick/hud/generic_dextrous.dm index bf7434f42482..018eb83eaab4 100644 --- a/code/_onclick/hud/generic_dextrous.dm +++ b/code/_onclick/hud/generic_dextrous.dm @@ -11,7 +11,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_drone_pull pull_icon.hud = src static_inventory += pull_icon @@ -47,7 +47,7 @@ zone_select = new /atom/movable/screen/zone_sel() zone_select.icon = ui_style zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() static_inventory += zone_select using = new /atom/movable/screen/area_creator @@ -61,7 +61,7 @@ if(inv.slot_id) inv.hud = src inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() + inv.update_appearance() /datum/hud/dextrous/persistent_inventory_update() if(!mymob) diff --git a/code/_onclick/hud/guardian.dm b/code/_onclick/hud/guardian.dm index fd6cc5ca1f36..8f79bfedf1bf 100644 --- a/code/_onclick/hud/guardian.dm +++ b/code/_onclick/hud/guardian.dm @@ -7,7 +7,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_living_pull pull_icon.hud = src static_inventory += pull_icon @@ -70,7 +70,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = 'icons/mob/guardian.dmi' - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_living_pull pull_icon.hud = src static_inventory += pull_icon diff --git a/code/_onclick/hud/holograms.dm b/code/_onclick/hud/holograms.dm index d4f5875a6669..9573e8e5b337 100644 --- a/code/_onclick/hud/holograms.dm +++ b/code/_onclick/hud/holograms.dm @@ -31,7 +31,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_above_intent pull_icon.hud = src static_inventory += pull_icon @@ -40,7 +40,7 @@ if(inv.slot_id) inv.hud = src inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() + inv.update_appearance() /datum/hud/dextrous/hologram/persistent_inventory_update() diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index abd07ffc0ae0..b7224ced6185 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -291,7 +291,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( hand_slots["[i]"] = hand_box hand_box.hud = src static_inventory += hand_box - hand_box.update_icon() + hand_box.update_appearance() var/i = 1 for(var/atom/movable/screen/swap_hand/SH in static_inventory) diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 7c21a9e2bdd4..379feecb3be0 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -325,7 +325,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_above_intent pull_icon.hud = src static_inventory += pull_icon @@ -345,7 +345,7 @@ zone_select = new /atom/movable/screen/zone_sel() zone_select.icon = ui_style zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() static_inventory += zone_select combo_display = new /atom/movable/screen/combo() @@ -355,7 +355,7 @@ if(inv.slot_id) inv.hud = src inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() + inv.update_appearance() update_locked_slots() diff --git a/code/_onclick/hud/living.dm b/code/_onclick/hud/living.dm index 8afb78924047..366079f233d1 100644 --- a/code/_onclick/hud/living.dm +++ b/code/_onclick/hud/living.dm @@ -6,7 +6,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_living_pull pull_icon.hud = src static_inventory += pull_icon diff --git a/code/_onclick/hud/monkey.dm b/code/_onclick/hud/monkey.dm index 5e945a363bf1..1d36f30372c4 100644 --- a/code/_onclick/hud/monkey.dm +++ b/code/_onclick/hud/monkey.dm @@ -99,7 +99,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_above_movement pull_icon.hud = src static_inventory += pull_icon @@ -116,7 +116,7 @@ zone_select = new /atom/movable/screen/zone_sel() zone_select.icon = ui_style zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() static_inventory += zone_select mymob.client.screen = list() @@ -131,7 +131,7 @@ if(inv.slot_id) inv.hud = src inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() + inv.update_appearance() /datum/hud/monkey/persistent_inventory_update() if(!mymob) diff --git a/code/_onclick/hud/revenanthud.dm b/code/_onclick/hud/revenanthud.dm index 0e7b79596553..75865d3d4547 100644 --- a/code/_onclick/hud/revenanthud.dm +++ b/code/_onclick/hud/revenanthud.dm @@ -6,7 +6,7 @@ pull_icon = new /atom/movable/screen/pull() pull_icon.icon = ui_style - pull_icon.update_icon() + pull_icon.update_appearance() pull_icon.screen_loc = ui_living_pull pull_icon.hud = src static_inventory += pull_icon diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 049c85073463..ccdc23d552f9 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -164,13 +164,13 @@ pull_icon.icon = 'icons/hud/screen_cyborg.dmi' pull_icon.screen_loc = ui_borg_pull pull_icon.hud = src - pull_icon.update_icon() + pull_icon.update_appearance() hotkeybuttons += pull_icon zone_select = new /atom/movable/screen/zone_sel/robot() zone_select.hud = src - zone_select.update_icon() + zone_select.update_appearance() static_inventory += zone_select @@ -277,7 +277,7 @@ if(.) return robot?.toggle_headlamp() - update_icon() + update_appearance() /atom/movable/screen/robot/lamp/update_icon_state() icon_state = "[base_icon_state]_[robot?.lamp_enabled ? "on" : "off"]" diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 64a05d2be259..7266013b35a8 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -573,7 +573,7 @@ if(choice != hud.mymob.zone_selected) hud.mymob.zone_selected = choice - update_icon() + update_appearance() return TRUE diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 5848f8d29751..67570c811d65 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -91,7 +91,7 @@ /obj/item/tk_grab/process() if(check_if_focusable(focus)) //if somebody grabs your thing, no waiting for them to put it down and hitting them again. - update_icon() + update_appearance() /obj/item/tk_grab/dropped(mob/user) if(focus && user && loc != user && loc != user.loc) // drop_item() gets called when you tk-attack a table/closet with an item @@ -119,7 +119,7 @@ qdel(src) return focus.attack_self_tk(user) - update_icon() + update_appearance() /obj/item/tk_grab/afterattack(atom/target, mob/living/carbon/user, proximity, params)//TODO: go over this . = ..() @@ -134,7 +134,7 @@ if(target == focus) target.attack_self_tk(user) - update_icon() + update_appearance() return @@ -148,7 +148,7 @@ apply_focus_overlay() focus.throw_at(target, 10, 1,user) user.changeNext_move(CLICK_CD_MELEE) - update_icon() + update_appearance() /proc/tkMaxRangeCheck(mob/user, atom/target) var/d = get_dist(user, target) @@ -164,7 +164,7 @@ if(!check_if_focusable(target)) return focus = target - update_icon() + update_appearance() apply_focus_overlay() return TRUE diff --git a/code/controllers/subsystem/acid.dm b/code/controllers/subsystem/acid.dm index a93080489685..0ea8967e263c 100644 --- a/code/controllers/subsystem/acid.dm +++ b/code/controllers/subsystem/acid.dm @@ -35,7 +35,7 @@ SUBSYSTEM_DEF(acid) if(O.acid_level && O.acid_processing()) else - O.update_icon() + O.update_appearance() processing -= O if (MC_TICK_CHECK) diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index d72feb90a3d1..9f07f5e0cdbc 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -40,7 +40,7 @@ SUBSYSTEM_DEF(communications) var/obj/item/paper/P = new /obj/item/paper(C.loc) P.name = "paper - '[sending.title]'" P.info = sending.content - P.update_icon() + P.update_appearance() #undef COMMUNICATION_COOLDOWN #undef COMMUNICATION_COOLDOWN_AI diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 89f5fa727f67..f3b7a7c1292d 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -76,7 +76,7 @@ SUBSYSTEM_DEF(mapping) for(var/N in nuke_tiles) var/turf/open/floor/circuit/C = N - C.update_icon() + C.update_appearance() /datum/controller/subsystem/mapping/Recover() flags |= SS_NO_INIT diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index 914bf781bd16..b80649a82490 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -79,7 +79,7 @@ SUBSYSTEM_DEF(persistence) T.showpiece = new /obj/item/showpiece_dummy(T, path) T.trophy_message = chosen_trophy["message"] T.placer_key = chosen_trophy["placer_key"] - T.update_icon() + T.update_appearance() /datum/controller/subsystem/persistence/proc/CollectData() CollectTrophies() diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 32e30e7fae62..49f79930352c 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -72,7 +72,7 @@ if(ismecha(O)) var/obj/mecha/R = O - R.update_icon() + R.update_appearance() to_chat(user, "You strengthen [R], improving its resistance against melee, bullet and laser damage.") else to_chat(user, "You strengthen [O], improving its resistance against melee attacks.") diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index 42f84ccfff2e..dcb4aff50bdf 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -329,7 +329,7 @@ M.Translate(pixelX, pixelY) overlay.transform = M RegisterSignal(hit,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/apply_overlay) - hit.update_icon() + hit.update_appearance() if(harmful) hit.visible_message("[weapon] embeds itself in [hit]!") diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index 67697400ebd1..8512e46c361d 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -162,7 +162,7 @@ for(var/obj/machinery/duct/duct in get_step(parent, D)) duct.remove_connects(turn(D, 180)) duct.neighbours.Remove(parent) - duct.update_icon() + duct.update_appearance() ///settle wherever we are, and start behaving like a piece of plumbing /datum/component/plumbing/proc/enable() @@ -246,7 +246,7 @@ SIGNAL_HANDLER tile_covered = intact - AM.update_icon() + AM.update_appearance() ///has one pipe input that only takes, example is manual output pipe /datum/component/plumbing/simple_demand diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm index d458886011de..4198ba5b974d 100644 --- a/code/datums/components/storage/concrete/_concrete.dm +++ b/code/datums/components/storage/concrete/_concrete.dm @@ -141,7 +141,7 @@ refresh_mob_views() if(isobj(parent)) var/obj/O = parent - O.update_icon() + O.update_appearance() return TRUE /datum/component/storage/concrete/proc/slave_can_insert_object(datum/component/storage/slave, obj/item/I, stop_messages = FALSE, mob/M) @@ -197,7 +197,7 @@ /datum/component/storage/concrete/update_icon() if(isobj(parent)) var/obj/O = parent - O.update_icon() + O.update_appearance() for(var/i in slaves) var/datum/component/storage/slave = i slave.update_icon() diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index da4fb04b3214..bba9f933e336 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -713,7 +713,7 @@ /datum/component/storage/proc/update_icon() if(isobj(parent)) var/obj/O = parent - O.update_icon() + O.update_appearance() /datum/component/storage/proc/signal_insertion_attempt(datum/source, obj/item/I, mob/M, silent = FALSE, force = FALSE) SIGNAL_HANDLER diff --git a/code/datums/components/taped.dm b/code/datums/components/taped.dm index 112f190c7024..32d5120c72e0 100644 --- a/code/datums/components/taped.dm +++ b/code/datums/components/taped.dm @@ -46,7 +46,7 @@ tape_marks.Blend(icon('icons/obj/tapes.dmi', "[taped_icon_state]_mask"), ICON_MULTIPLY) taped_icon = new(tape_marks) I.add_overlay(taped_icon) - I.update_icon() + I.update_appearance() /datum/component/taped/proc/tape_rip(datum/source, obj/item/attacker, mob/user) var/obj/item/I = attacker diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index a1efb1dc74db..88cc0d190014 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -156,7 +156,7 @@ if(sharpened_increase) parent_item.force += sharpened_increase parent_item.name = "[parent_item.name] (Wielded)" - parent_item.update_icon() + parent_item.update_appearance() if(iscyborg(user)) to_chat(user, "You dedicate your module to [parent].") @@ -208,7 +208,7 @@ parent_item.name = "[initial(parent_item.name)]" // Update icons - parent_item.update_icon() + parent_item.update_appearance() if(user.get_item_by_slot(ITEM_SLOT_BACK) == parent) user.update_inv_back() else diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm index 7a6ea142b361..5f1e9c304f69 100644 --- a/code/datums/diseases/appendicitis.dm +++ b/code/datums/diseases/appendicitis.dm @@ -24,7 +24,7 @@ var/obj/item/organ/appendix/A = affected_mob.getorgan(/obj/item/organ/appendix) if(A) A.inflamed = 1 - A.update_icon() + A.update_appearance() if(prob(3)) to_chat(affected_mob, "You feel a stabbing pain in your abdomen!") affected_mob.adjustOrganLoss(ORGAN_SLOT_APPENDIX, 5) diff --git a/code/datums/elements/decals/_decals.dm b/code/datums/elements/decals/_decals.dm index d0062da29224..17ba311bc5a3 100644 --- a/code/datums/elements/decals/_decals.dm +++ b/code/datums/elements/decals/_decals.dm @@ -28,7 +28,7 @@ if(isturf(target)) RegisterSignal(target,COMSIG_TURF_AFTER_SHUTTLE_MOVE,.proc/shuttlemove_react, TRUE) if(target.flags_1 & INITIALIZED_1) - target.update_icon() //could use some queuing here now maybe. + target.update_appearance() //could use some queuing here now maybe. else RegisterSignal(target,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE,.proc/late_update_icon, TRUE) if(isitem(target)) @@ -61,7 +61,7 @@ /datum/element/decal/Detach(atom/source, force) UnregisterSignal(source, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_TURF_AFTER_SHUTTLE_MOVE)) - source.update_icon() + source.update_appearance() if(isitem(source)) INVOKE_ASYNC(source, /obj/item/.proc/update_slot_icon) return ..() @@ -70,7 +70,7 @@ SIGNAL_HANDLER if(source && istype(source)) - source.update_icon() + source.update_appearance() UnregisterSignal(source,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE) diff --git a/code/datums/elements/world_icon.dm b/code/datums/elements/world_icon.dm deleted file mode 100644 index 562e979dffb2..000000000000 --- a/code/datums/elements/world_icon.dm +++ /dev/null @@ -1,123 +0,0 @@ -///////////////////////////////////////////////////////////// -//////////WORLD ICON ELEMENT DIRECTORY ////////// -///////////////////////////////////////////////////////////// -// (BORROWED FROM MOJAVE SUN) (COMMENTS FROM THE MOJAVE) // -// -// Slap onto something to give it a world icon that differs from the inventory one (allows for realistically sized objects and all that) // -// To fix 25/06/2021 : Blood Decals, Mutable Overlays and other baked in bitch ass overlays that need to be remade when the icon changes // -// Fixed 07/05/2022: Now you can deal with the above by handling everything with attached_proc instead -// Fixed 12/04/2023: Icon states, Needs major tuning up by someone who can properly make it work - -/datum/element/world_icon - id_arg_index = 2 - element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH - /** - * If we want COMPLEX world icon behavior, this proc will handle icon updating when the item is NOT in the inventory. - * I just assumed that the default update_icon is for inventory sprites because ss13 basically focuses on how the sprites - * look on your hand, not how they realistically look in the world. - */ - var/attached_proc - /// Only used if attached_proc doesn't exist, simply changes the icon of target to this when it's in the inventory - var/inventory_icon - /// Only used if attached_proc doesn't exist, simply changes the icon of target to this when it's NOT in the inventory - var/world_icon - /// Only used when inventory state icon is different from original - var/inventory_icon_state - /// Only used when world state icon is different from original, pretty much just the original "icon_state" but if you for some reason need to flip the standard icon states for this element around you can use this - var/world_icon_state - -/datum/element/world_icon/Attach(obj/item/target, attached_proc, world_icon, inventory_icon, world_icon_state, inventory_icon_state) - . = ..() - if(!istype(target)) - return ELEMENT_INCOMPATIBLE - - src.attached_proc = attached_proc - src.world_icon = world_icon - src.world_icon_state = world_icon_state - src.inventory_icon = inventory_icon - src.inventory_icon_state = inventory_icon_state - RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, .proc/update_icon) - RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/update_icon_state) - RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_STORAGE_ENTERED, COMSIG_ITEM_DROPPED, COMSIG_STORAGE_EXITED), .proc/inventory_updated) - target.update_appearance(UPDATE_ICON) - target.update_appearance(UPDATE_ICON_STATE) - -/datum/element/world_icon/Detach(obj/item/source) - . = ..() - UnregisterSignal(source, COMSIG_ATOM_UPDATE_ICON) - UnregisterSignal(source, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/update_icon_state) - UnregisterSignal(source, list(COMSIG_ITEM_EQUIPPED, COMSIG_STORAGE_ENTERED, COMSIG_ITEM_DROPPED, COMSIG_STORAGE_EXITED)) - source.update_appearance(UPDATE_ICON) - source.update_appearance(UPDATE_ICON_STATE) - -/datum/element/world_icon/proc/update_icon(obj/item/source, updates) - SIGNAL_HANDLER - - if((source.item_flags & IN_INVENTORY) || (source.loc && SEND_SIGNAL(source.loc, COMSIG_CONTAINS_STORAGE))) - if(attached_proc) - return - return default_inventory_icon(source) - - if(attached_proc) - return call(source, attached_proc)(updates) - else - return default_world_icon(source) - -/datum/element/world_icon/proc/update_icon_state(obj/item/source, updates) - SIGNAL_HANDLER - - if((source.item_flags & IN_INVENTORY) || (source.loc && SEND_SIGNAL(source.loc, COMSIG_CONTAINS_STORAGE))) - if(attached_proc) - return - return default_inventory_icon_state(source) - - if(attached_proc) - return call(source, attached_proc)(updates) - else - return default_world_icon_state(source) - -/datum/element/world_icon/proc/inventory_updated(obj/item/source) - SIGNAL_HANDLER - - source.update_appearance(UPDATE_ICON) - source.update_appearance(UPDATE_ICON_STATE) - -/datum/element/world_icon/proc/default_inventory_icon(obj/item/source) - SIGNAL_HANDLER - - source.icon = inventory_icon - -/datum/element/world_icon/proc/default_world_icon(obj/item/source) - SIGNAL_HANDLER - - source.icon = world_icon - -/datum/element/world_icon/proc/default_inventory_icon_state(obj/item/source) - SIGNAL_HANDLER - - if(!inventory_icon_state) - source.icon_state = source.icon_state - return - - INVOKE_ASYNC(src, .proc/check_inventory_state, source) - -/datum/element/world_icon/proc/default_world_icon_state(obj/item/source) - SIGNAL_HANDLER - - if(!world_icon_state) - source.icon_state = source.icon_state - return - - INVOKE_ASYNC(src, .proc/check_world_icon_state, source) - -/datum/element/world_icon/proc/check_inventory_state(obj/item/source) - SIGNAL_HANDLER - - inventory_icon_state = source.inventory_state - source.icon_state = inventory_icon_state - -/datum/element/world_icon/proc/check_world_icon_state(obj/item/source) - SIGNAL_HANDLER - - world_icon_state = source.world_state - source.icon_state = world_icon_state diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 9d4d70b575a4..4952479fa635 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -115,7 +115,7 @@ for(var/obj/effect/proc_holder/spell/spell in rewarded.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() rewarded.adjustBruteLoss(-25) rewarded.adjustFireLoss(-25) rewarded.adjustToxLoss(-25) diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 118889264091..0705a2837b6e 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -203,7 +203,7 @@ W.hairstyle = pick(GLOB.hairstyles_list - "Bald") else W.hairstyle = old_hair - W.update_icon() + W.update_appearance() var/list/slots = list ( "head" = ITEM_SLOT_HEAD, "backpack" = ITEM_SLOT_BACKPACK, diff --git a/code/datums/wires/airalarm.dm b/code/datums/wires/airalarm.dm index 87c17a1b4515..6afccd547660 100644 --- a/code/datums/wires/airalarm.dm +++ b/code/datums/wires/airalarm.dm @@ -30,7 +30,7 @@ if(WIRE_POWER) // Short out for a long time. if(!A.shorted) A.shorted = TRUE - A.update_icon() + A.update_appearance() addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked @@ -49,7 +49,7 @@ var/area/AA = get_area(A) if(AA.atmosalert(FALSE, holder)) A.post_alert(0) - A.update_icon() + A.update_appearance() /datum/wires/airalarm/on_cut(wire, mend) var/obj/machinery/airalarm/A = holder @@ -57,7 +57,7 @@ if(WIRE_POWER) // Short out forever. A.shock(usr, 50) A.shorted = !mend - A.update_icon() + A.update_appearance() if(WIRE_IDSCAN) if(!mend) A.locked = TRUE @@ -71,4 +71,4 @@ var/area/AA = get_area(A) if(AA.atmosalert(TRUE, holder)) A.post_alert(2) - A.update_icon() + A.update_appearance() diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index 4d2e7d8f04ad..c9e969a8ebd0 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -72,13 +72,13 @@ else if(A.hasPower()) A.unbolt() - A.update_icon() + A.update_appearance() if(WIRE_IDSCAN) // Pulse to disable emergency access and flash red lights. if(A.hasPower() && A.density) A.do_animate("deny") if(A.emergency) A.emergency = FALSE - A.update_icon() + A.update_appearance() if(WIRE_AI) // Pulse to disable WIRE_AI control for 10 ticks (follows same rules as cutting). if(A.aiControlDisabled == AI_WIRE_NORMAL) A.aiControlDisabled = AI_WIRE_DISABLED @@ -97,7 +97,7 @@ A.normalspeed = !A.normalspeed if(WIRE_LIGHT) A.lights = !A.lights - A.update_icon() + A.update_appearance() /obj/machinery/door/airlock/proc/reset_ai_wire() if(aiControlDisabled == AI_WIRE_DISABLED) @@ -152,7 +152,7 @@ A.close() if(WIRE_LIGHT) // Cut to disable lights, mend to re-enable. A.lights = mend - A.update_icon() + A.update_appearance() if(WIRE_ZAP1, WIRE_ZAP2) // Ouch. if(isliving(usr)) A.shock(usr, 50) diff --git a/code/datums/wires/airlock_cycle.dm b/code/datums/wires/airlock_cycle.dm index d9572686a096..a1f942dab2e9 100644 --- a/code/datums/wires/airlock_cycle.dm +++ b/code/datums/wires/airlock_cycle.dm @@ -29,7 +29,7 @@ if(WIRE_POWER) // Short out for a long time. if(!A.shorted) A.shorted = TRUE - A.update_icon() + A.update_appearance() addtimer(CALLBACK(A, /obj/machinery/advanced_airlock_controller.proc/reset, wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked @@ -44,7 +44,7 @@ if(WIRE_POWER) // Short out forever. A.shock(usr, 50) A.shorted = !mend - A.update_icon() + A.update_appearance() if(WIRE_IDSCAN) if(!mend) A.locked = TRUE diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index e97c1f3654e3..933b9aae0222 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -44,10 +44,9 @@ if(WIRE_POWER1, WIRE_POWER2) // Short out. if(mend && !is_cut(WIRE_POWER1) && !is_cut(WIRE_POWER2)) A.shorted = FALSE - A.shock(usr, 50) else A.shorted = TRUE - A.shock(usr, 50) + A.shock(usr, 50) if(WIRE_AI) // Disable AI control. if(mend) A.aidisabled = FALSE diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm index 8732a0a21d71..8a2dba38d1bc 100644 --- a/code/datums/wires/syndicatebomb.dm +++ b/code/datums/wires/syndicatebomb.dm @@ -49,7 +49,7 @@ if(!B.active) holder.visible_message("[icon2html(B, viewers(holder))] You hear the bomb start ticking!") B.activate() - B.update_icon() + B.update_appearance() else if(B.delayedlittle) holder.visible_message("[icon2html(B, viewers(holder))] Nothing happens.") else @@ -81,7 +81,7 @@ B.active = FALSE B.delayedlittle = FALSE B.delayedbig = FALSE - B.update_icon() + B.update_appearance() /datum/wires/syndicatebomb/proc/tell_admins(obj/machinery/syndicatebomb/B) if(istype(B, /obj/machinery/syndicatebomb/training)) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index ae64f382949c..e0050548fcd0 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -330,7 +330,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) ModifyFiredoors(FALSE) for(var/item in firealarms) var/obj/machinery/firealarm/F = item - F.update_icon() + F.update_appearance() for (var/item in GLOB.alert_consoles) var/obj/machinery/computer/station_alert/a = item @@ -361,7 +361,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) ModifyFiredoors(TRUE) for(var/item in firealarms) var/obj/machinery/firealarm/F = item - F.update_icon() + F.update_appearance() for (var/item in GLOB.silicon_mobs) var/mob/living/silicon/aiPlayer = item @@ -532,7 +532,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) for(var/obj/machinery/M in src) // for each machine in the area M.power_change() // reverify power status (to update icons etc.) SEND_SIGNAL(src, COMSIG_AREA_POWER_CHANGE) - update_icon() + update_appearance() /** diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index f7f8841fb50b..56f873a50bd1 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -6,7 +6,7 @@ S.charge = 0 S.output_level = 0 S.output_attempt = FALSE - S.update_icon() + S.update_appearance() S.power_change() for(var/area/A in GLOB.sortedAreas) @@ -42,7 +42,7 @@ S.charge = S.capacity S.output_level = S.output_level_max S.output_attempt = TRUE - S.update_icon() + S.update_appearance() S.power_change() for(var/area/A in GLOB.sortedAreas) if(!A.requires_power || A.always_unpowered) @@ -59,6 +59,6 @@ S.charge = S.capacity S.output_level = S.output_level_max S.output_attempt = TRUE - S.update_icon() + S.update_appearance() S.power_change() diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 04cb6ecb9c7a..1682a27584fd 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -247,7 +247,7 @@ GLOBAL_VAR_INIT(deaths_during_shift, 0) var/datum/hud/H = M.hud_used H.wanted_lvl.level = newlevel H.wanted_lvl.cops_arrived = cops_arrived - H.wanted_lvl.update_icon() + H.wanted_lvl.update_appearance() /datum/game_mode/gang/proc/on_gain_wanted_level(newlevel) var/announcement_message diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 0ade780c8fb9..69679c95079f 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -180,7 +180,7 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) if("hsbscrubber") // This is beyond its normal capability but this is sandbox and you spawned one, I assume you need it var/obj/hsb = new/obj/machinery/portable_atmospherics/scrubber{volume_rate=50*ONE_ATMOSPHERE;on=1}(usr.loc) - hsb.update_icon() // hackish but it wasn't meant to be spawned I guess? + hsb.update_appearance() // hackish but it wasn't meant to be spawned I guess? // // Stacked Materials diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 32fcf099da1f..e9906a6a0089 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -60,7 +60,7 @@ /obj/machinery/pdapainter/handle_atom_del(atom/A) if(A == storedpda) storedpda = null - update_icon() + update_appearance() /obj/machinery/pdapainter/attackby(obj/item/O, mob/user, params) if(machine_stat & BROKEN) @@ -76,7 +76,7 @@ to_chat(user, "You repair [src].") set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity - update_icon() + update_appearance() else return ..() @@ -93,7 +93,7 @@ return storedpda = O O.add_fingerprint(user) - update_icon() + update_appearance() else return ..() @@ -138,6 +138,6 @@ if(storedpda) storedpda.forceMove(drop_location()) storedpda = null - update_icon() + update_appearance() else to_chat(usr, "[src] is empty!") diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 7426ea5b087a..f0a1c403cfa4 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -46,7 +46,7 @@ /obj/machinery/sleeper/Initialize(mapload) . = ..() occupant_typecache = GLOB.typecache_living - update_icon() + update_appearance() if(mapload && starting_beakers) chembag = new(src) for(var/beaker in starting_beakers) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 06dd63a41e95..b1d790677317 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -215,7 +215,7 @@ Class Procs: density = FALSE if(drop) dropContents() - update_icon() + update_appearance() updateUsrDialog() /obj/machinery/proc/dropContents(list/subset = null) @@ -269,7 +269,7 @@ Class Procs: occupant = target target.forceMove(src) updateUsrDialog() - update_icon() + update_appearance() /obj/machinery/proc/auto_use_power() if(!powered(power_channel)) @@ -452,7 +452,7 @@ Class Procs: if(!(machine_stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) set_machine_stat(machine_stat | BROKEN) SEND_SIGNAL(src, COMSIG_MACHINERY_BROKEN, damage_flag) - update_icon() + update_appearance() return TRUE /obj/machinery/contents_explosion(severity, target) @@ -462,7 +462,7 @@ Class Procs: /obj/machinery/handle_atom_del(atom/A) if(A == occupant) occupant = null - update_icon() + update_appearance() updateUsrDialog() return ..() diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index 55cef2fcec10..9a3f470fe99d 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -24,21 +24,21 @@ if("unlock") locked = FALSE - update_icon() + update_appearance() if("lock") locked = TRUE - update_icon() + update_appearance() if("secure_open") locked = FALSE - update_icon() + update_appearance() sleep(2) open(1) locked = TRUE - update_icon() + update_appearance() if("secure_close") locked = FALSE @@ -46,7 +46,7 @@ locked = TRUE sleep(2) - update_icon() + update_appearance() send_status() @@ -150,7 +150,7 @@ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK) - update_icon() + update_appearance() /obj/machinery/airlock_sensor/proc/set_frequency(new_frequency) SSradio.remove_object(src, frequency) diff --git a/code/game/machinery/airlock_cycle_control.dm b/code/game/machinery/airlock_cycle_control.dm index 0ddfd2c92940..9fa0baf893c2 100644 --- a/code/game/machinery/airlock_cycle_control.dm +++ b/code/game/machinery/airlock_cycle_control.dm @@ -128,7 +128,7 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir == 1 ? -24 : 24) : 0 - update_icon() + update_appearance() /obj/machinery/advanced_airlock_controller/Destroy() qdel(wires) @@ -215,7 +215,7 @@ if(WIRE_POWER) if(!wires.is_cut(WIRE_POWER)) shorted = FALSE - update_icon() + update_appearance() if(WIRE_AI) if(!wires.is_cut(WIRE_AI)) aidisabled = FALSE @@ -348,10 +348,10 @@ vent.pressure_checks = VENT_EXT_BOUND vent.external_pressure_bound = interior_pressure vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() return if(AIRLOCK_CYCLESTATE_INCLOSING) for(var/airlock in airlocks) @@ -365,10 +365,10 @@ vent.external_pressure_bound = 0 vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure < depressurization_margin) vents_valid = TRUE if((doors_valid && vents_valid) || is_skipping) @@ -386,10 +386,10 @@ vent.external_pressure_bound = 0 vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure < depressurization_margin) vents_valid = TRUE if(vents_valid || is_skipping) @@ -407,10 +407,10 @@ vent.external_pressure_bound = interior_pressure vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure > interior_pressure - 0.5) vents_valid = TRUE if(vents_valid || is_skipping) @@ -432,10 +432,10 @@ vent.external_pressure_bound = exterior_pressure vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure > exterior_pressure - 0.5) vents_valid = TRUE if(vents_valid || is_skipping) @@ -449,12 +449,12 @@ for(var/V in vents) var/obj/machinery/atmospherics/components/unary/vent_pump/vent = V vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(AIRLOCK_CYCLESTATE_OUTOPEN) for(var/V in vents) var/obj/machinery/atmospherics/components/unary/vent_pump/vent = V vent.on = FALSE - vent.update_icon() + vent.update_appearance() update_icon(TRUE) /obj/machinery/advanced_airlock_controller/attackby(obj/item/W, mob/user, params) @@ -465,13 +465,13 @@ to_chat(user, "You cut the final wires.") new /obj/item/stack/cable_coil(loc, 5) buildstage = BUILD_NO_WIRES - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_SCREWDRIVER) // Opening that up. W.play_tool_sound(src) panel_open = !panel_open to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") - update_icon() + update_appearance() return else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))// trying to unlock the interface with an ID card togglelock(user) @@ -490,7 +490,7 @@ new /obj/item/electronics/advanced_airlock_controller(src.loc) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) buildstage = BUILD_NO_CIRCUIT - update_icon() + update_appearance() return if(istype(W, /obj/item/stack/cable_coil)) @@ -511,14 +511,14 @@ cut_links() shorted = FALSE buildstage = BUILD_COMPLETE - update_icon() + update_appearance() return if(BUILD_NO_CIRCUIT) if(istype(W, /obj/item/electronics/advanced_airlock_controller)) if(user.temporarilyRemoveItemFromInventory(W)) to_chat(user, "You insert the circuit.") buildstage = BUILD_NO_WIRES - update_icon() + update_appearance() qdel(W) return @@ -529,7 +529,7 @@ user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt an airlock controller circuit and slot it into the assembly.") buildstage = BUILD_NO_WIRES - update_icon() + update_appearance() return if(W.tool_behaviour == TOOL_WRENCH) @@ -801,7 +801,7 @@ else if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked - update_icon() + update_appearance() to_chat(user, "You [ locked ? "lock" : "unlock"] the airlock controller interface.") updateUsrDialog() else @@ -810,7 +810,7 @@ /obj/machinery/advanced_airlock_controller/power_change() ..() - update_icon() + update_appearance() /obj/machinery/advanced_airlock_controller/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -821,7 +821,7 @@ /obj/machinery/advanced_airlock_controller/obj_break(damage_flag) ..() - update_icon() + update_appearance() /obj/machinery/advanced_airlock_controller/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 91c273dfbe76..f275d234fca7 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -31,7 +31,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) . = ..() GLOB.announcement_systems += src radio = new /obj/item/radio/headset/silicon/ai(src) - update_icon() + update_appearance() /obj/machinery/announcement_system/update_icon_state() icon_state = "[base_icon_state]_[is_operational ? "On" : "Off"][panel_open ? "_Open" : null]" @@ -58,13 +58,13 @@ GLOBAL_LIST_EMPTY(announcement_systems) P.play_tool_sound(src) panel_open = !panel_open to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch of [src].") - update_icon() + update_appearance() else if(default_deconstruction_crowbar(P)) return else if(P.tool_behaviour == TOOL_MULTITOOL && panel_open && (machine_stat & BROKEN)) to_chat(user, "You reset [src]'s firmware.") set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() else return ..() @@ -137,10 +137,10 @@ GLOBAL_LIST_EMPTY(announcement_systems) log_game("The head announcement was updated: [NewMessage] by:[key_name(usr)]") if("NewheadToggle") newheadToggle = !newheadToggle - update_icon() + update_appearance() if("ArrivalToggle") arrivalToggle = !arrivalToggle - update_icon() + update_appearance() add_fingerprint(usr) /obj/machinery/announcement_system/attack_robot(mob/living/silicon/user) diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm index 8298b44ff963..9c536c0d97d8 100644 --- a/code/game/machinery/aug_manipulator.dm +++ b/code/game/machinery/aug_manipulator.dm @@ -51,7 +51,7 @@ /obj/machinery/aug_manipulator/handle_atom_del(atom/A) if(A == storedpart) storedpart = null - update_icon() + update_appearance() /obj/machinery/aug_manipulator/attackby(obj/item/O, mob/user, params) if(default_deconstruction_screwdriver(user, "pdapainter-broken", "pdapainter", O)) //placeholder, get a sprite monkey to make an actual sprite, I can't be asked. @@ -80,7 +80,7 @@ return storedpart = O O.add_fingerprint(user) - update_icon() + update_appearance() else if(O.tool_behaviour == TOOL_WELDER && user.a_intent != INTENT_HARM) if(obj_integrity < max_integrity) @@ -97,7 +97,7 @@ to_chat(user, "You repair [src].") set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max(obj_integrity, max_integrity) - update_icon() + update_appearance() else to_chat(user, "[src] does not need repairs.") else @@ -129,7 +129,7 @@ if(storedpart) storedpart.forceMove(get_turf(src)) storedpart = null - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 412a9264e38c..811064d6d193 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -338,7 +338,7 @@ if(is_stack) var/obj/item/stack/N = new being_built.build_path(A, multiplier, FALSE) - N.update_icon() + N.update_appearance() N.autolathe_crafted(src) else for(var/i=1, i<=multiplier, i++) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index d31133c0f601..0441a00304bb 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -25,7 +25,7 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 panel_open = TRUE - update_icon() + update_appearance() if(!built && !device && device_type) @@ -66,7 +66,7 @@ if(W.tool_behaviour == TOOL_SCREWDRIVER) if(panel_open || allowed(user)) default_deconstruction_screwdriver(user, "button-open", "[skin]",W) - update_icon() + update_appearance() else to_chat(user, "Maintenance Access Denied.") flick("[skin]-denied", src) @@ -100,7 +100,7 @@ playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) qdel(src) - update_icon() + update_appearance() return if(user.a_intent != INTENT_HARM && !(W.item_flags & NOBLUDGEON)) @@ -152,7 +152,7 @@ req_access = list() req_one_access = list() board = null - update_icon() + update_appearance() to_chat(user, "You remove electronics from the button frame.") else diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 447d40357639..a1bc9772bc65 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -85,7 +85,7 @@ if(mapload && prob(3) && !start_active) toggle_cam() else //this is handled by toggle_camera, so no need to update it twice. - update_icon() + update_appearance() /obj/machinery/camera/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) for(var/i in network) @@ -138,13 +138,13 @@ return if(!(. & EMP_PROTECT_SELF)) if(prob(150/severity)) - update_icon() + update_appearance() network = list() GLOB.cameranet.removeCamera(src) set_machine_stat(machine_stat | EMPED) set_light(0) emped = emped+1 //Increase the number of consecutive EMP's - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/post_emp_reset, emped, network), 90 SECONDS) for(var/i in GLOB.player_list) var/mob/M = i @@ -161,7 +161,7 @@ return network = previous_network set_machine_stat(machine_stat & ~EMPED) - update_icon() + update_appearance() if(can_use()) GLOB.cameranet.addCamera(src) emped = 0 //Resets the consecutive EMP count @@ -193,7 +193,7 @@ panel_open = !panel_open to_chat(user, "You screw the camera's panel [panel_open ? "open" : "closed"].") I.play_tool_sound(src) - update_icon() + update_appearance() return TRUE /obj/machinery/camera/crowbar_act(mob/living/user, obj/item/I) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index de1ee7ecf53a..dcf280ec72d5 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -75,7 +75,7 @@ /obj/structure/camera_assembly/handle_atom_del(atom/A) if(A == xray_module) xray_module = null - update_icon() + update_appearance() if(malf_xray_firmware_present) malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. if(istype(loc, /obj/machinery/camera)) @@ -111,7 +111,7 @@ xray_module = null if(malf_xray_firmware_present) malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. - update_icon() + update_appearance() else if(I == emp_module) emp_module = null @@ -176,7 +176,7 @@ if(malf_xray_firmware_active) malf_xray_firmware_active = FALSE //flavor reason: MALF AI Upgrade Camera Network ability's firmware is incompatible with the new part //real reason: make it a normal upgrade so the finished camera's icons and examine texts are restored. - update_icon() + update_appearance() return else if(istype(W, /obj/item/assembly/prox_sensor)) //motion sensing upgrade diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index b2b8665121f9..6b2bf6859049 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -113,12 +113,12 @@ assembly.malf_xray_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. upgrades |= CAMERA_UPGRADE_XRAY - update_icon() + update_appearance() /obj/machinery/camera/proc/removeXRay(ignore_malf_upgrades) if(!ignore_malf_upgrades) //don't downgrade it if malf software is forced onto it. upgrades &= ~CAMERA_UPGRADE_XRAY - update_icon() + update_appearance() diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 7979fd612338..e1be8d8e4453 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -54,7 +54,7 @@ charging = W user.visible_message("[user] inserts a cell into [src].", "You insert a cell into [src].") - update_icon() + update_appearance() else if(!charging && default_deconstruction_screwdriver(user, icon_state, icon_state, W)) return @@ -74,9 +74,9 @@ return ..() /obj/machinery/cell_charger/proc/removecell() - charging.update_icon() + charging.update_appearance() charging = null - update_icon() + update_appearance() /obj/machinery/cell_charger/attack_hand(mob/user) . = ..() @@ -127,4 +127,4 @@ use_power(charge_rate) charging.give(charge_rate) //this is 2558, efficient batteries exist - update_icon() + update_appearance() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 3758ad9d72b2..14e581e601ed 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -97,7 +97,7 @@ beaker = new_beaker else beaker = null - update_icon() + update_appearance() return TRUE /obj/machinery/clonepod/ui_interact(mob/user, datum/tgui/ui) @@ -213,7 +213,7 @@ INVOKE_ASYNC(src, .proc/horrifyingsound) mess = TRUE icon_state = "pod_g" - update_icon() + update_appearance() return NONE attempting = TRUE //One at a time!! countdown.start() diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 0783e50552d4..e782bd209c22 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -116,7 +116,7 @@ to_chat(user, "You disconnect the monitor.") newframe.state = 4 circuit = null - newframe.update_icon() + newframe.update_appearance() for(var/obj/internal_objects in src) internal_objects.forceMove(loc) qdel(src) diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 742b721c2c90..77cf776158fc 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -82,7 +82,7 @@ var/oldstat = occupier.stat restoring = Fix() if(oldstat != occupier.stat) - update_icon() + update_appearance() /obj/machinery/computer/aifixer/update_overlays() . = ..() @@ -115,7 +115,7 @@ to_chat(AI, "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here.") to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null - update_icon() + update_appearance() else //Uploading AI from terminal to card if(occupier && !restoring) @@ -124,7 +124,7 @@ occupier.forceMove(card) card.AI = occupier occupier = null - update_icon() + update_appearance() else if (restoring) to_chat(user, "ERROR: Reconstruction in progress.") else if (!occupier) diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 1c3f8a943f39..eb43515d6e47 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -26,7 +26,7 @@ playsound(active_apc, 'sound/machines/boltsdown.ogg', 25, FALSE) playsound(active_apc, 'sound/machines/terminal_alert.ogg', 50, FALSE) active_apc.locked = TRUE - active_apc.update_icon() + active_apc.update_appearance() active_apc.remote_control = null active_apc = null @@ -127,7 +127,7 @@ playsound(active_apc, 'sound/machines/boltsdown.ogg', 25, FALSE) playsound(active_apc, 'sound/machines/terminal_alert.ogg', 50, FALSE) active_apc.locked = TRUE - active_apc.update_icon() + active_apc.update_appearance() active_apc.remote_control = null active_apc = null APC.remote_control = src @@ -140,7 +140,7 @@ playsound(APC, 'sound/machines/boltsup.ogg', 25, FALSE) playsound(APC, 'sound/machines/terminal_alert.ogg', 50, FALSE) APC.locked = FALSE - APC.update_icon() + APC.update_appearance() active_apc = APC if("check-logs") log_activity("Checked Logs") @@ -154,7 +154,7 @@ if(!target) return target.vars[type] = target.setsubsystem(text2num(value)) - target.update_icon() + target.update_appearance() target.update() var/setTo = "" switch(target.vars[type]) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index d30a07c9a029..94b57a2d9f57 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -136,7 +136,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return prizevend(user) T.pay_tickets() - T.update_icon() + T.update_appearance() O = T to_chat(user, "You turn in 2 tickets to the [src] and claim a prize!") return diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 4eecf70d588e..7a64743c900b 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -62,7 +62,7 @@ to_chat(usr, "Minor alarm for [zone] cleared.") minor_alarms -= zone . = TRUE - update_icon() + update_appearance() /obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency) SSradio.remove_object(src, receive_frequency) @@ -85,7 +85,7 @@ priority_alarms += zone else if (severity == "minor") minor_alarms += zone - update_icon() + update_appearance() return /obj/machinery/computer/atmos_alert/update_overlays() diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 917a9ff9a24d..e4e98f28b21e 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -46,7 +46,7 @@ to_chat(user, "You place [P] inside the frame.") circuit = P circuit.add_fingerprint(user) - update_icon() + update_appearance() return else if(istype(P, /obj/item/circuitboard) && !circuit) @@ -56,7 +56,7 @@ P.play_tool_sound(src) to_chat(user, "You screw [circuit] into place.") state = 2 - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR && circuit) P.play_tool_sound(src) @@ -65,14 +65,14 @@ circuit.forceMove(drop_location()) circuit.add_fingerprint(user) circuit = null - update_icon() + update_appearance() return if(2) if(P.tool_behaviour == TOOL_SCREWDRIVER && circuit) P.play_tool_sound(src) to_chat(user, "You unfasten the circuit board.") state = 1 - update_icon() + update_appearance() return if(istype(P, /obj/item/stack/cable_coil)) if(!P.tool_start_check(user, amount=5)) @@ -83,14 +83,14 @@ return to_chat(user, "You add cables to the frame.") state = 3 - update_icon() + update_appearance() return if(3) if(P.tool_behaviour == TOOL_WIRECUTTER) P.play_tool_sound(src) to_chat(user, "You remove the cables.") state = 2 - update_icon() + update_appearance() var/obj/item/stack/cable_coil/A = new (drop_location(), 5) A.add_fingerprint(user) return @@ -105,14 +105,14 @@ return to_chat(user, "You put in the glass panel.") state = 4 - update_icon() + update_appearance() return if(4) if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) to_chat(user, "You remove the glass panel.") state = 3 - update_icon() + update_appearance() var/obj/item/stack/sheet/glass/G = new(drop_location(), 2) G.add_fingerprint(user) return @@ -126,7 +126,7 @@ built_comp.icon = built_icon built_comp.icon_state = built_icon_state built_comp.deconpath = deconpath - built_comp.update_icon() + built_comp.update_appearance() qdel(src) return if(user.a_intent == INTENT_HARM) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index e549a01ed6ea..52039268457f 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -525,7 +525,7 @@ P.info += "Medical Record Lost!
" P.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, "Record Lost") P.info += "" - P.update_icon() + P.update_appearance() printing = null add_fingerprint(usr) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index eaef9722c862..88395f75acd4 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -410,7 +410,7 @@ What a mess.*/ P.info += "Security Record Lost!
" P.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, "Record Lost") P.info += "" - P.update_icon() + P.update_appearance() printing = null if("Print Poster") if(!(printing)) diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index bba4799e08b0..6c83c0389487 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -69,13 +69,13 @@ switch(action) if("regimeset") power_station.engaged = FALSE - power_station.teleporter_hub.update_icon() + power_station.teleporter_hub.update_appearance() power_station.teleporter_hub.calibrated = FALSE reset_regime() . = TRUE if("settarget") power_station.engaged = FALSE - power_station.teleporter_hub.update_icon() + power_station.teleporter_hub.update_appearance() power_station.teleporter_hub.calibrated = FALSE set_target(usr) . = TRUE @@ -89,7 +89,7 @@ say("Processing hub calibration to target...") calibrating = TRUE - power_station.update_icon() + power_station.update_appearance() addtimer(CALLBACK(src, .proc/finish_calibration), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration . = TRUE @@ -100,7 +100,7 @@ say("Calibration complete.") else say("Error: Unable to detect hub.") - power_station.update_icon() + power_station.update_appearance() /obj/machinery/computer/teleporter/proc/check_hub_connection() if(!power_station) @@ -164,10 +164,10 @@ target_station.set_machine_stat(target_station.machine_stat & ~NOPOWER) if(target_station.teleporter_hub) target_station.teleporter_hub.set_machine_stat(target_station.teleporter_hub.machine_stat & ~NOPOWER) - target_station.teleporter_hub.update_icon() + target_station.teleporter_hub.update_appearance() if(target_station.teleporter_console) target_station.teleporter_console.set_machine_stat(target_station.teleporter_console.machine_stat & ~NOPOWER) - target_station.teleporter_console.update_icon() + target_station.teleporter_console.update_appearance() /obj/machinery/computer/teleporter/proc/is_eligible(atom/movable/AM) var/turf/T = get_turf(AM) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 5b2129794210..8b2ef4b1169c 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -178,7 +178,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) return ..() /obj/machinery/cryopod/LateInitialize() - update_icon() + update_appearance() find_control_computer() /obj/machinery/cryopod/proc/find_control_computer(urgent = FALSE) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 13e136aafbd2..19d0129cc1ef 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -153,7 +153,7 @@ var/jukeboxslottotake = SSjukeboxes.addjukebox(src, selection, 2) //WS Edit Cit #7367 & #7458 if(jukeboxslottotake) active = TRUE - update_icon() + update_appearance() START_PROCESSING(SSobj, src) stop = world.time + selection.song_length return TRUE @@ -451,7 +451,7 @@ active = FALSE dance_over() playsound(src,'sound/machines/terminal_off.ogg',50,TRUE) - update_icon() + update_appearance() stop = world.time + 100 /obj/machinery/jukebox/disco/process() diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 2b1f9c26d85c..f3fa616032d3 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -87,7 +87,7 @@ // Make sure the defib is set before processing begins. defib = I begin_processing() - update_icon() + update_appearance() return else if(defib && I == defib.paddles) defib.paddles.snap_back() @@ -100,7 +100,7 @@ return clamps_locked = !clamps_locked to_chat(user, "Clamps [clamps_locked ? "" : "dis"]engaged.") - update_icon() + update_appearance() else to_chat(user, "Insufficient access.") return @@ -123,7 +123,7 @@ "You override the locking clamps on [src]!") playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) clamps_locked = FALSE - update_icon() + update_appearance() return TRUE /obj/machinery/defibrillator_mount/wrench_act(mob/living/user, obj/item/wrench/W) @@ -159,7 +159,7 @@ // Make sure processing ends before the defib is nulled end_processing() defib = null - update_icon() + update_appearance() /obj/machinery/defibrillator_mount/charging name = "PENLITE defibrillator mount" @@ -189,7 +189,7 @@ if(C.charge < C.maxcharge) use_power(100) C.give(80) - update_icon() + update_appearance() //wallframe, for attaching the mounts easily /obj/item/wallframe/defib_mount diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 8d62bcf287cb..baf3d6ae2cc1 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -125,6 +125,6 @@ playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) playsound(bin, 'sound/items/pshoom.ogg', 50, TRUE) Beam(bin, icon_state = "rped_upgrade", time = 5) - bin.update_icon() + bin.update_appearance() flick("synthesizer_beam", src) time_since_dishes = world.time + 600 diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index eb3880748af6..51e7562c49db 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -127,7 +127,7 @@ /obj/machinery/dna_scannernew/attackby(obj/item/I, mob/user, params) if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed + update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(default_pry_open(I)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 0373af468b85..a6275b039628 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -147,7 +147,7 @@ RegisterSignal(src, COMSIG_MACHINERY_BROKEN, .proc/on_break) - update_icon() + update_appearance() var/static/list/connections = list( COMSIG_ATOM_ENTERED = .proc/on_entered, @@ -185,7 +185,7 @@ welded = TRUE if(24 to 30) panel_open = TRUE - update_icon() + update_appearance() /obj/machinery/door/airlock/ComponentInitialize() . = ..() @@ -204,7 +204,7 @@ SIGNAL_HANDLER if(density && has_hatch && (mover.pass_flags & PASSDOORHATCH) && !hatchstate) hatchstate = 1 - update_icon() + update_appearance() playsound(loc, hatch_open_sound, 40, 1, -1, mono_adj = TRUE) if(mover.layer != initial(mover.layer)) return @@ -218,7 +218,7 @@ /obj/machinery/door/airlock/proc/close_hatch() hatchstate = 0 - update_icon() + update_appearance() playsound(loc, hatch_close_sound, 30, 1, -1, mono_adj = TRUE) /obj/machinery/door/airlock/proc/update_other_id() @@ -346,7 +346,7 @@ return emergency = !emergency - update_icon() + update_appearance() /obj/machinery/door/airlock/lock() bolt() @@ -357,7 +357,7 @@ locked = TRUE playsound(src, boltDown, 30, FALSE, 3, mono_adj = TRUE) audible_message("You hear a click from the bottom of the door.", null, 1) - update_icon() + update_appearance() /obj/machinery/door/airlock/unlock() unbolt() @@ -368,7 +368,7 @@ locked = FALSE playsound(src, boltUp, 30, FALSE, 3, mono_adj = TRUE) audible_message("You hear a click from the bottom of the door.", null, 1) - update_icon() + update_appearance() /obj/machinery/door/airlock/narsie_act() var/turf/T = get_turf(src) @@ -409,10 +409,10 @@ /obj/machinery/door/airlock/handle_atom_del(atom/A) if(A == note) note = null - update_icon() + update_appearance() if(A == seal) seal = null - update_icon() + update_appearance() /obj/machinery/door/airlock/bumpopen(mob/living/user) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite if(!issilicon(usr)) @@ -466,7 +466,7 @@ /obj/machinery/door/airlock/proc/regainMainPower() if(secondsMainPowerLost > 0) secondsMainPowerLost = 0 - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/handlePowerRestore() var/cont = TRUE @@ -487,7 +487,7 @@ cont = TRUE spawnPowerRestoreRunning = FALSE updateDialog() - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/loseMainPower() if(secondsMainPowerLost <= 0) @@ -497,7 +497,7 @@ if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE INVOKE_ASYNC(src, .proc/handlePowerRestore) - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/loseBackupPower() if(secondsBackupPowerLost < 60) @@ -505,12 +505,12 @@ if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE INVOKE_ASYNC(src, .proc/handlePowerRestore) - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/regainBackupPower() if(secondsBackupPowerLost > 0) secondsBackupPowerLost = 0 - update_icon() + update_appearance() // shock user with probability prb (if all connections & power are working) // returns TRUE if shocked, FALSE otherwise @@ -873,7 +873,7 @@ user.visible_message("[user] grabs [note] from [src].", "You remove [note] from [src].") user.put_in_hands(note) note = null - update_icon() //WS end + update_appearance() //WS end return TRUE if(locked && allowed(user) && aac) aac.request_from_door(src) @@ -961,7 +961,7 @@ user.visible_message("[user] reinforces \the [src] with metal.", "You reinforce \the [src] with metal.") security_level = AIRLOCK_SECURITY_METAL - update_icon() + update_appearance() return else if(istype(C, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/S = C @@ -977,7 +977,7 @@ security_level = AIRLOCK_SECURITY_PLASTEEL modify_max_integrity(max_integrity * AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R - update_icon() + update_appearance() return if(AIRLOCK_SECURITY_METAL) if(C.tool_behaviour == TOOL_WELDER) @@ -992,7 +992,7 @@ "You hear welding.") security_level = AIRLOCK_SECURITY_NONE spawn_atom_to_turf(/obj/item/stack/sheet/metal, user.loc, 2) - update_icon() + update_appearance() return if(AIRLOCK_SECURITY_PLASTEEL_I_S) if(C.tool_behaviour == TOOL_CROWBAR) @@ -1009,7 +1009,7 @@ modify_max_integrity(max_integrity / AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_N spawn_atom_to_turf(/obj/item/stack/sheet/plasteel, user.loc, 1) - update_icon() + update_appearance() return if(AIRLOCK_SECURITY_PLASTEEL_I) if(C.tool_behaviour == TOOL_WELDER) @@ -1069,13 +1069,13 @@ panel_open = !panel_open to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the airlock.") C.play_tool_sound(src) - update_icon() + update_appearance() else if((C.tool_behaviour == TOOL_WIRECUTTER) && note) user.visible_message("[user] cuts down [note] from [src].", "You remove [note] from [src].") C.play_tool_sound(src) note.forceMove(get_turf(user)) note = null - update_icon() + update_appearance() else if(is_wire_tool(C) && panel_open) attempt_wire_interaction(user) return @@ -1109,7 +1109,7 @@ user.visible_message("[user] finishes sealing [src].", "You finish sealing [src].") seal = airlockseal modify_max_integrity(max_integrity * AIRLOCK_SEAL_MULTIPLIER) - update_icon() + update_appearance() else if(istype(C, /obj/item/paper) || istype(C, /obj/item/photo)) if(note) @@ -1120,7 +1120,7 @@ return user.visible_message("[user] pins [C] to [src].", "You pin [C] to [src].") note = C - update_icon() + update_appearance() else return ..() @@ -1140,7 +1140,7 @@ welded = !welded user.visible_message("[user] [welded? "welds shut":"unwelds"] [src].", \ "You [welded ? "weld the airlock shut":"unweld the airlock"].") - update_icon() + update_appearance() else if(obj_integrity < max_integrity) if(!W.tool_start_check(user, amount=0)) @@ -1153,7 +1153,7 @@ set_machine_stat(machine_stat & ~BROKEN) user.visible_message("[user] finishes welding [src].", \ "You finish repairing the airlock.") - update_icon() + update_appearance() else to_chat(user, "The airlock doesn't need repairing.") @@ -1186,7 +1186,7 @@ user.visible_message("[user] finishes removing the seal from [src].", "You finish removing [src]'s pneumatic seal.") seal = null modify_max_integrity(max_integrity / AIRLOCK_SEAL_MULTIPLIER) - update_icon() + update_appearance() return TRUE @@ -1363,7 +1363,7 @@ icon = airlock.icon overlays_file = airlock.overlays_file assemblytype = airlock.assemblytype - update_icon() + update_appearance() // these are just hanging around but are never placed, we need to delete them qdel(airlock) @@ -1465,7 +1465,7 @@ /obj/machinery/door/airlock/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() if(obj_integrity < (0.75 * max_integrity)) - update_icon() + update_appearance() /obj/machinery/door/airlock/deconstruct(disassembled = TRUE, mob/user) @@ -1483,7 +1483,7 @@ A.created_name = name A.previous_assembly = previous_airlock A.update_name() - A.update_icon() + A.update_appearance() if(!disassembled) if(A) @@ -1593,14 +1593,14 @@ if("disrupt-main") if(!secondsMainPowerLost) loseMainPower() - update_icon() + update_appearance() else to_chat(usr, "Main power is already offline.") . = TRUE if("disrupt-backup") if(!secondsBackupPowerLost) loseBackupPower() - update_icon() + update_appearance() else to_chat(usr, "Backup power is already offline.") . = TRUE @@ -1624,7 +1624,7 @@ . = TRUE if("light-toggle") lights = !lights - update_icon() + update_appearance() . = TRUE if("safe-toggle") safe = !safe @@ -1683,7 +1683,7 @@ if(!user_allowed(user)) return emergency = !emergency - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/user_toggle_open(mob/user) if(!user_allowed(user)) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 7d6edd417451..1d9525cf014f 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -253,7 +253,7 @@ DA.glass = TRUE if(heat_proof) DA.heat_proof_finished = TRUE - DA.update_icon() + DA.update_appearance() DA.update_name() qdel(src) @@ -539,7 +539,7 @@ name = "airlock" desc = "It opens and closes." stealthy = TRUE - update_icon() + update_appearance() /obj/machinery/door/airlock/cult/proc/reveal() icon = initial(icon) @@ -547,7 +547,7 @@ name = initial(name) desc = initial(desc) stealthy = initial(stealthy) - update_icon() + update_appearance() /obj/machinery/door/airlock/cult/narsie_act() return diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 473d4d505856..7013d3f68a7a 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -65,7 +65,7 @@ if(!targets.len) obj_break() - update_icon() + update_appearance() //Main door timer loop, if it's timing and time is >0 reduce time by 1. @@ -78,7 +78,7 @@ if(timing) if(world.time - activation_time >= timer_duration) timer_end() // open doors, reset timer, clear status screen - update_icon() + update_appearance() // open/closedoor checks if door_timer has power, if so it checks if the // linked door is open/closed (by density) then opens it/closes it. @@ -105,7 +105,7 @@ if(C.opened && !C.close()) continue C.locked = TRUE - C.update_icon() + C.update_appearance() return 1 @@ -121,7 +121,7 @@ timing = FALSE activation_time = null set_timer(0) - update_icon() + update_appearance() for(var/obj/machinery/door/window/brigdoor/door in targets) if(!door.density) @@ -139,7 +139,7 @@ if(C.opened) continue C.locked = FALSE - C.update_icon() + C.update_appearance() return 1 diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 77d669124233..f2e1200564b9 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -335,7 +335,7 @@ flags_1 &= ~PREVENT_CLICK_UNDER_1 sleep(5) layer = initial(layer) - update_icon() + update_appearance() set_opacity(0) operating = FALSE air_update_turf(1) @@ -366,7 +366,7 @@ density = TRUE flags_1 |= PREVENT_CLICK_UNDER_1 sleep(5) - update_icon() + update_appearance() if(visible && !glass) set_opacity(1) operating = FALSE diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 708b6f308282..fed9d49239e7 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -163,7 +163,7 @@ if(W.use_tool(src, user, 40, volume=50)) welded = !welded to_chat(user, "[user] [welded?"welds":"unwelds"] [src].", "You [welded ? "weld" : "unweld"] [src].") - update_icon() + update_appearance() /obj/machinery/door/firedoor/try_to_crowbar(obj/item/I, mob/user) if(welded || operating) @@ -305,7 +305,7 @@ else F.constructionStep = CONSTRUCTION_WIRES_EXPOSED F.obj_integrity = F.max_integrity * 0.5 - F.update_icon() + F.update_appearance() qdel(src) @@ -526,7 +526,7 @@ "[user] pries out a metal plate from [src], exposing the wires.", \ "You remove the cover plate from [src], exposing the wires.") constructionStep = CONSTRUCTION_WIRES_EXPOSED - update_icon() + update_appearance() return if(C.tool_behaviour == TOOL_WRENCH) var/obj/machinery/door/firedoor/A = locate(/obj/machinery/door/firedoor) in get_turf(src) @@ -551,7 +551,7 @@ else var/obj/machinery/door/firedoor/F = new firelock_type(get_turf(src)) F.dir = src.dir - F.update_icon() + F.update_appearance() qdel(src) return if(istype(C, /obj/item/stack/sheet/plasteel)) @@ -592,7 +592,7 @@ "You remove the wiring from [src], exposing the circuit board.") new/obj/item/stack/cable_coil(get_turf(src), 5) constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return if(C.tool_behaviour == TOOL_CROWBAR) C.play_tool_sound(src) @@ -608,7 +608,7 @@ "[user] pries the metal plate into [src].", \ "You pry [src]'s cover plate into place, hiding the wires.") constructionStep = CONSTRUCTION_PANEL_OPEN - update_icon() + update_appearance() return if(CONSTRUCTION_GUTTED) if(C.tool_behaviour == TOOL_CROWBAR) @@ -624,7 +624,7 @@ "You remove the circuit board from [src].") new /obj/item/electronics/firelock(drop_location()) constructionStep = CONSTRUCTION_NOCIRCUIT - update_icon() + update_appearance() return if(istype(C, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/B = C @@ -644,7 +644,7 @@ playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) B.use(5) constructionStep = CONSTRUCTION_WIRES_EXPOSED - update_icon() + update_appearance() return if(CONSTRUCTION_NOCIRCUIT) if(C.tool_behaviour == TOOL_WELDER) @@ -681,7 +681,7 @@ "You insert and secure [C].") playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return if(istype(C, /obj/item/electroadaptive_pseudocircuit)) var/obj/item/electroadaptive_pseudocircuit/P = C @@ -690,7 +690,7 @@ user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt a firelock circuit and slot it into the assembly.") constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return return ..() @@ -707,7 +707,7 @@ user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt a firelock circuit and slot it into the assembly.") constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return TRUE if(RCD_DECONSTRUCT) to_chat(user, "You deconstruct [src].") @@ -769,7 +769,7 @@ icon = 'icons/obj/doors/doorfirewindow.dmi' icon_state = "door_frame" -/obj/structure/firelock_frame/window/update_icon() +/obj/structure/firelock_frame/window/update_appearance() return ..() diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 1e44885f9a3e..c9b0d006b7f2 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -63,7 +63,7 @@ assembly.state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS assembly.created_name = name assembly.update_name() - assembly.update_icon() + assembly.update_appearance() assembly.welded = TRUE new /obj/item/electronics/airlock(loc) qdel(src) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 0516d38b1591..f4cc13e5eeff 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -264,7 +264,7 @@ WA.set_anchored(TRUE) WA.state= "02" WA.setDir(dir) - WA.update_icon() + WA.update_appearance() WA.created_name = name if(obj_flags & EMAGGED) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index b3e305291bd6..7ad78deba66a 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -111,7 +111,7 @@
  • Theoretical Outer Radius: [record.theory_radius["outer_radius"]]
  • Theoretical Shockwave Radius: [record.theory_radius["shockwave_radius"]]
  • "} - update_icon() + update_appearance() /obj/machinery/doppler_array/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH) diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index b27d7f8b00a1..34ffe2c9d6ea 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -168,7 +168,7 @@ playsound(src, work_sound, 50, TRUE) mode = DRONE_PRODUCTION timer = world.time + production_time - update_icon() + update_appearance() if(DRONE_PRODUCTION) materials.use_materials(using_materials) @@ -185,7 +185,7 @@ mode = DRONE_RECHARGING timer = world.time + cooldownTime - update_icon() + update_appearance() if(DRONE_RECHARGING) if(recharge_sound) @@ -194,7 +194,7 @@ visible_message("[src] [recharge_message]") mode = DRONE_READY - update_icon() + update_appearance() /obj/machinery/droneDispenser/proc/count_shells() . = 0 @@ -243,7 +243,7 @@ set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity - update_icon() + update_appearance() else return ..() diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 03441dc69488..3b1bfbd4b351 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -68,7 +68,7 @@ if(controller.machine_stat & NOPOWER) return busy = TRUE - update_icon() + update_appearance() if(door.density) if(!controller.exteriorAirlock || !controller.interiorAirlock) controller.onlyOpen(door) @@ -83,7 +83,7 @@ /obj/machinery/doorButtons/access_button/proc/not_busy() busy = FALSE - update_icon() + update_appearance() /obj/machinery/doorButtons/access_button/update_icon_state() if(machine_stat & NOPOWER) @@ -148,7 +148,7 @@ /obj/machinery/doorButtons/airlock_controller/proc/onlyOpen(obj/machinery/door/airlock/A) if(A) busy = CLOSING - update_icon() + update_appearance() openDoor(A) /obj/machinery/doorButtons/airlock_controller/proc/onlyClose(obj/machinery/door/airlock/A) @@ -160,7 +160,7 @@ if(A.density) goIdle() return FALSE - update_icon() + update_appearance() A.safe = FALSE //Door crushies, manual door after all. Set every time in case someone changed it, safe doors can end up waiting forever. A.unbolt() if(A.close()) @@ -179,7 +179,7 @@ if(exteriorAirlock.density == interiorAirlock.density || !A.density) return busy = CYCLE - update_icon() + update_appearance() if(A == interiorAirlock) if(closeDoor(exteriorAirlock)) busy = CYCLE_INTERIOR @@ -219,7 +219,7 @@ lostPower = FALSE busy = FALSE if(update) - update_icon() + update_appearance() updateUsrDialog() /obj/machinery/doorButtons/airlock_controller/process() diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 29040acb5242..315f2e128303 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -65,7 +65,7 @@ if(program) program.process() - update_icon() + update_appearance() src.updateDialog() /obj/machinery/embedded_controller/radio diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm index 995d8a4fb85d..28218a366f0b 100644 --- a/code/game/machinery/fat_sucker.dm +++ b/code/game/machinery/fat_sucker.dm @@ -30,7 +30,7 @@ /obj/machinery/fat_sucker/Initialize() . = ..() soundloop = new(list(src), FALSE) - update_icon() + update_appearance() /obj/machinery/fat_sucker/RefreshParts() ..() @@ -59,7 +59,7 @@ return to_chat(occupant, "You enter [src].") addtimer(CALLBACK(src, .proc/start_extracting), 20, TIMER_OVERRIDE|TIMER_UNIQUE) - update_icon() + update_appearance() /obj/machinery/fat_sucker/open_machine(mob/user) make_meat() @@ -159,7 +159,7 @@ if(C.nutrition > start_at) processing = TRUE soundloop.start() - update_icon() + update_appearance() set_light(2, 1, "#ff0000") else say("Subject not fat enough.") @@ -196,7 +196,7 @@ to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!") return if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return return FALSE diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index fb6ee4388784..faceb46419d5 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -47,7 +47,7 @@ panel_open = TRUE if(dir) setDir(dir) - update_icon() + update_appearance() myarea = get_area(src) LAZYADD(myarea.firealarms, src) @@ -106,7 +106,7 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - update_icon() + update_appearance() if(user) user.visible_message("Sparks fly out of [src]!", "You emag [src], disabling its thermal sensors.") @@ -159,7 +159,7 @@ W.play_tool_sound(src) panel_open = !panel_open to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") - update_icon() + update_appearance() return if(panel_open) @@ -192,7 +192,7 @@ W.play_tool_sound(src) new /obj/item/stack/cable_coil(user.loc, 5) to_chat(user, "You cut the wires from \the [src].") - update_icon() + update_appearance() return else if(W.force) //hit and turn it on @@ -211,7 +211,7 @@ coil.use(5) buildstage = 2 to_chat(user, "You wire \the [src].") - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_CROWBAR) @@ -226,14 +226,14 @@ to_chat(user, "You pry out the circuit.") new /obj/item/electronics/firealarm(user.loc) buildstage = 0 - update_icon() + update_appearance() return if(0) if(istype(W, /obj/item/electronics/firealarm)) to_chat(user, "You insert the circuit.") qdel(W) buildstage = 1 - update_icon() + update_appearance() return else if(istype(W, /obj/item/electroadaptive_pseudocircuit)) @@ -245,7 +245,7 @@ "You adapt a fire alarm circuit and slot it into the assembly." ) buildstage = 1 - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_WRENCH) @@ -274,7 +274,7 @@ "You adapt a fire alarm circuit and slot it into the assembly." ) buildstage = 1 - update_icon() + update_appearance() return TRUE return FALSE diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 09423bef77d4..e147e24717ca 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -54,7 +54,7 @@ The console is located at computer/gulag_teleporter.dm /obj/machinery/gulag_teleporter/attackby(obj/item/I, mob/user) if(!occupant && default_deconstruction_screwdriver(user, "[icon_state]", "[icon_state]",I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 01b2594996b7..82ef63c3d738 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -93,12 +93,12 @@ harvesting = TRUE visible_message("The [name] begins warming up!") say("Initializing harvest protocol.") - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/harvest), interval) /obj/machinery/harvester/proc/harvest() warming_up = FALSE - update_icon() + update_appearance() if(!harvesting || state_open || !powered() || !occupant || !iscarbon(occupant)) return playsound(src, 'sound/machines/juicer.ogg', 20, TRUE) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index fc984e3877b2..b3130d58c6d7 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -381,7 +381,7 @@ Possible to do for anyone motivated enough: playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring! ringing = TRUE - update_icon() + update_appearance() /obj/machinery/holopad/proc/activate_holo(mob/living/user) var/mob/living/silicon/ai/AI = user @@ -450,7 +450,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ set_light(2) else set_light(0) - update_icon() + update_appearance() /obj/machinery/holopad/update_icon_state() var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls) diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index 41b11bb1ef2f..8e86447f6060 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -18,11 +18,11 @@ /obj/machinery/hypnochair/Initialize() . = ..() open_machine() - update_icon() + update_appearance() /obj/machinery/hypnochair/attackby(obj/item/I, mob/user, params) if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return if(default_pry_open(I)) return @@ -97,7 +97,7 @@ interrogating = TRUE START_PROCESSING(SSobj, src) start_time = world.time - update_icon() + update_appearance() timerid = addtimer(CALLBACK(src, .proc/finish_interrogation), 450, TIMER_STOPPABLE) /obj/machinery/hypnochair/process() @@ -117,7 +117,7 @@ /obj/machinery/hypnochair/proc/finish_interrogation() interrogating = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() var/temp_trigger = trigger_phrase trigger_phrase = "" //Erase evidence, in case the subject is able to look at the panel afterwards audible_message("[src] pings!") @@ -140,7 +140,7 @@ deltimer(timerid) interrogating = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() if(QDELETED(victim)) victim = null diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index ce17ee04fb59..a610ec5d11b8 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -35,7 +35,7 @@ use_power(50) on = !(on) - update_icon() + update_appearance() /obj/machinery/igniter/process() //ugh why is this even in process()? if (src.on && !(machine_stat & NOPOWER)) @@ -102,7 +102,7 @@ user.visible_message("[user] disables \the [src]!", "You disable the connection to \the [src].") if (!src.disable) user.visible_message("[user] reconnects \the [src]!", "You fix the connection to \the [src].") - update_icon() + update_appearance() else return ..() diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 72a95a5b0e86..67f867e2b948 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -20,7 +20,7 @@ /obj/machinery/iv_drip/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/machinery/iv_drip/Destroy() attached = null @@ -73,7 +73,7 @@ if(attached) visible_message("[attached] is detached from [src].") attached = null - update_icon() + update_appearance() return if(!target.has_dna()) @@ -87,7 +87,7 @@ add_fingerprint(usr) attached = target START_PROCESSING(SSmachines, src) - update_icon() + update_appearance() else to_chat(usr, "There's nothing attached to the IV drip!") @@ -103,7 +103,7 @@ to_chat(user, "You attach [W] to [src].") user.log_message("attached a [W] to [src] at [AREACOORD(src)] containing ([beaker.reagents.log_list()])", LOG_ATTACK) add_fingerprint(user) - update_icon() + update_appearance() return else return ..() @@ -121,7 +121,7 @@ to_chat(attached, "The IV drip needle is ripped out of you!") attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM)) attached = null - update_icon() + update_appearance() return PROCESS_KILL if(beaker) @@ -135,7 +135,7 @@ // speed up transfer on blood packs transfer_amount *= 2 beaker.reagents.trans_to(attached, transfer_amount, method = INJECT, show_message = FALSE) //make reagents reacts, but don't spam messages - update_icon() + update_appearance() // Take blood else @@ -152,7 +152,7 @@ visible_message("[src] beeps loudly.") playsound(loc, 'sound/machines/twobeep_high.ogg', 50, TRUE) attached.transfer_blood_to(beaker, amount) - update_icon() + update_appearance() /obj/machinery/iv_drip/attack_hand(mob/user) . = ..() @@ -163,7 +163,7 @@ if(attached) visible_message("[attached] is detached from [src].") attached = null - update_icon() + update_appearance() return else if(beaker) eject_beaker(user) @@ -194,7 +194,7 @@ if(beaker) beaker.forceMove(drop_location()) beaker = null - update_icon() + update_appearance() /obj/machinery/iv_drip/verb/toggle_mode() set category = "Object" @@ -209,7 +209,7 @@ return mode = !mode to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].") - update_icon() + update_appearance() /obj/machinery/iv_drip/examine(mob/user) . = ..() diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index c15d96782762..b74c40d9ba18 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -57,10 +57,10 @@ area.lightswitch = !area.lightswitch play_click_sound("button") - area.update_icon() + area.update_appearance() for(var/obj/machinery/light_switch/L in area) - L.update_icon() + L.update_appearance() area.power_change() diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 4d47e814002a..3dd9905dd4b1 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -105,7 +105,7 @@ user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.") - update_icon() + update_appearance() else if (istype(I, /obj/item/card/id)||istype(I, /obj/item/pda)) if(open) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 6bec46aa483a..f893493e5e4a 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -150,7 +150,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(newMessage) for(var/obj/machinery/newscaster/N in GLOB.allCasters) N.newsAlert() - N.update_icon() + N.update_appearance() /datum/newscaster/feed_network/proc/deleteWanted() wanted_issue.active = 0 @@ -159,7 +159,7 @@ GLOBAL_LIST_EMPTY(allCasters) wanted_issue.scannedUser = null wanted_issue.img = null for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) - NEWSCASTER.update_icon() + NEWSCASTER.update_appearance() /datum/newscaster/feed_network/proc/save_photo(icon/photo) var/photo_file = copytext_char(md5("\icon[photo]"), 1, 6) @@ -231,7 +231,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) GLOB.allCasters += src unit_no = GLOB.allCasters.len - update_icon() + update_appearance() /obj/machinery/newscaster/Destroy() GLOB.allCasters -= src @@ -262,7 +262,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) /obj/machinery/newscaster/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() - update_icon() + update_appearance() /obj/machinery/newscaster/ui_interact(mob/user) . = ..() @@ -744,7 +744,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) to_chat(user, "You repair [src].") obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() else to_chat(user, "[src] does not need repairs.") else @@ -848,13 +848,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) /obj/machinery/newscaster/proc/remove_alert() alert = FALSE - update_icon() + update_appearance() /obj/machinery/newscaster/proc/newsAlert(channel) if(channel) say("Breaking news from [channel]!") alert = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src,.proc/remove_alert),alert_delay,TIMER_UNIQUE|TIMER_OVERRIDE) playsound(loc, 'sound/machines/twobeep_high.ogg', 75, TRUE) else diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index af3813f874fc..0772e483a536 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -158,7 +158,7 @@ if(href_list["dir"]) C.setDir(text2num(href_list["dir"])) C.add_fingerprint(usr) - C.update_icon() + C.update_appearance() wait = world.time + 15 return diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index d692c630743e..25a7613c8966 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -106,7 +106,7 @@ DEFINE_BITFIELD(turret_flags, list( . = ..() if(!base) base = src - update_icon() + update_appearance() //Sets up a spark system spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) @@ -186,7 +186,7 @@ DEFINE_BITFIELD(turret_flags, list( if(gun_properties["reqpower"]) reqpower = gun_properties["reqpower"] - update_icon() + update_appearance() return gun_properties /obj/machinery/porta_turret/Destroy() @@ -279,7 +279,7 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/power_change() . = ..() if(!anchored || (machine_stat & BROKEN) || !powered()) - update_icon() + update_appearance() remove_control() check_should_process() @@ -314,7 +314,7 @@ DEFINE_BITFIELD(turret_flags, list( if(obj_integrity > (max_integrity * integrity_failure) && BROKEN) obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() check_should_process() else to_chat(user, "[src] is already in good condition!") @@ -329,7 +329,7 @@ DEFINE_BITFIELD(turret_flags, list( if(!anchored && !isinspace()) set_anchored(TRUE) invisibility = INVISIBILITY_MAXIMUM - update_icon() + update_appearance() to_chat(user, "You secure the exterior bolts on the turret.") if(has_cover) cover = new /obj/machinery/porta_turret_cover(loc) //create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second @@ -367,7 +367,7 @@ DEFINE_BITFIELD(turret_flags, list( obj_flags |= EMAGGED controllock = TRUE toggle_on(FALSE) //turns off the turret temporarily - update_icon() + update_appearance() //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 6 SECONDS) //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here @@ -533,7 +533,7 @@ DEFINE_BITFIELD(turret_flags, list( cover.icon_state = "turretCover" raised = 0 invisibility = 2 - update_icon() + update_appearance() /obj/machinery/porta_turret/proc/assess_perp(mob/living/carbon/human/perp) var/threatcount = 0 //the integer returned @@ -616,7 +616,7 @@ DEFINE_BITFIELD(turret_flags, list( T = closer break - update_icon() + update_appearance() var/obj/projectile/A //any emagged turrets drains 2x power and uses a different projectile? if(mode == TURRET_STUN) @@ -1004,7 +1004,7 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/turretid/proc/updateTurrets() for (var/obj/machinery/porta_turret/aTurret in turrets) aTurret.setState(enabled, lethal, shoot_cyborgs) - update_icon() + update_appearance() /obj/machinery/turretid/update_icon_state() if(machine_stat & NOPOWER) diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm index d44fd987a824..a1da4cbf6463 100644 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ b/code/game/machinery/porta_turret/portable_turret_cover.dm @@ -44,12 +44,12 @@ parent_turret.set_anchored(TRUE) to_chat(user, "You secure the exterior bolts on the turret.") parent_turret.invisibility = 0 - parent_turret.update_icon() + parent_turret.update_appearance() else parent_turret.set_anchored(FALSE) to_chat(user, "You unsecure the exterior bolts on the turret.") parent_turret.invisibility = INVISIBILITY_MAXIMUM - parent_turret.update_icon() + parent_turret.update_appearance() qdel(src) return if(I.GetID()) diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm index 2efc65b66fd8..6fe329ed4a71 100644 --- a/code/game/machinery/prisonlabor.dm +++ b/code/game/machinery/prisonlabor.dm @@ -37,7 +37,7 @@ var/obj/item/stack/license_plates/empty/plate = I plate.use(1) current_plate = new plate.type(src, 1) //Spawn a new single sheet in the machine - update_icon() + update_appearance() else return ..() @@ -50,12 +50,12 @@ /obj/machinery/plate_press/proc/work_press(mob/living/user) pressing = TRUE - update_icon() + update_appearance() to_chat(user, "You start pressing a new license plate!") if(!do_after(user, 40, target = src)) pressing = FALSE - update_icon() + update_appearance() return FALSE use_power(100) @@ -63,6 +63,6 @@ pressing = FALSE QDEL_NULL(current_plate) - update_icon() + update_appearance() new /obj/item/stack/license_plates/filled(drop_location(), 1) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 32567b6bb85c..3ca96ae5dcba 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -49,11 +49,11 @@ START_PROCESSING(SSmachines, src) use_power = ACTIVE_POWER_USE using_power = TRUE - update_icon() + update_appearance() else use_power = IDLE_POWER_USE using_power = FALSE - update_icon() + update_appearance() /obj/machinery/recharger/attackby(obj/item/G, mob/user, params) if(G.tool_behaviour == TOOL_WRENCH) @@ -110,14 +110,14 @@ add_fingerprint(user) if(charging) - charging.update_icon() + charging.update_appearance() charging.forceMove(drop_location()) user.put_in_hands(charging) setCharging(null) /obj/machinery/recharger/attack_tk(mob/user) if(charging) - charging.update_icon() + charging.update_appearance() charging.forceMove(drop_location()) setCharging(null) @@ -133,7 +133,7 @@ C.give(C.chargerate * recharge_coeff) use_power(250 * recharge_coeff) using_power = TRUE - update_icon() + update_appearance() if(istype(charging, /obj/item/ammo_box/magazine/recharge)) var/obj/item/ammo_box/magazine/recharge/R = charging @@ -141,7 +141,7 @@ R.stored_ammo += new R.ammo_type(R) use_power(200 * recharge_coeff) using_power = TRUE - update_icon() + update_appearance() return else return PROCESS_KILL diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index acdac8715506..7039b015e673 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -18,7 +18,7 @@ /obj/machinery/recharge_station/Initialize() . = ..() - update_icon() + update_appearance() if(is_operational) begin_processing() diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index db7e7695bca9..78843df78510 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -21,7 +21,7 @@ AddComponent(/datum/component/butchering/recycler, 1, amount_produced,amount_produced/5) AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/plasma, /datum/material/gold, /datum/material/diamond, /datum/material/plastic, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, FALSE, null, null, null, TRUE) . = ..() - update_icon() + update_appearance() req_one_access = get_all_accesses() + get_all_centcom_access() var/static/list/loc_connections = list( @@ -72,7 +72,7 @@ obj_flags |= EMAGGED if(safety_mode) safety_mode = FALSE - update_icon() + update_appearance() playsound(src, "sparks", 75, TRUE, SILENCED_SOUND_EXTRARANGE) to_chat(user, "You use the cryptographic sequencer on [src].") @@ -166,13 +166,13 @@ /obj/machinery/recycler/proc/emergency_stop() playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) safety_mode = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/reboot), SAFETY_COOLDOWN) /obj/machinery/recycler/proc/reboot() playsound(src, 'sound/machines/ping.ogg', 50, FALSE) safety_mode = FALSE - update_icon() + update_appearance() /obj/machinery/recycler/proc/crush_living(mob/living/L) @@ -190,7 +190,7 @@ if(!blood && !issilicon(L)) blood = TRUE - update_icon() + update_appearance() // Instantly lie down, also go unconscious from the pain, before you die. L.Unconscious(100) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 1c91c5827e0e..3a03453a2ce3 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -187,10 +187,10 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) for (var/obj/machinery/requests_console/Console in GLOB.allConsoles) if (Console.department == department) Console.newmessagepriority = REQ_NO_NEW_MESSAGE - Console.update_icon() + Console.update_appearance() newmessagepriority = REQ_NO_NEW_MESSAGE - update_icon() + update_appearance() var/messageComposite = "" for(var/msg in messages) // This puts more recent messages at the *top*, where they belong. messageComposite = "
    [msg]
    " + messageComposite @@ -297,7 +297,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(radio_freq) Radio.set_frequency(radio_freq) Radio.talk_into(src,"[emergency] emergency in [department]!!",radio_freq) - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/clear_emergency), 5 MINUTES) if(href_list["send"] && message && to_department && priority) @@ -347,7 +347,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) /obj/machinery/requests_console/proc/clear_emergency() emergency = null - update_icon() + update_appearance() //from message_server.dm: Console.createmessage(data["sender"], data["send_dpt"], data["message"], data["verified"], data["stamped"], data["priority"], data["notify_freq"]) /obj/machinery/requests_console/proc/createmessage(source, source_department, message, msgVerified, msgStamped, priority, radio_freq) @@ -370,14 +370,14 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(REQ_NORMAL_MESSAGE_PRIORITY) if(newmessagepriority < REQ_NORMAL_MESSAGE_PRIORITY) newmessagepriority = REQ_NORMAL_MESSAGE_PRIORITY - update_icon() + update_appearance() if(REQ_HIGH_MESSAGE_PRIORITY) header = "High Priority
    [header]" alert = "PRIORITY Alert from [source][authentic]" if(newmessagepriority < REQ_HIGH_MESSAGE_PRIORITY) newmessagepriority = REQ_HIGH_MESSAGE_PRIORITY - update_icon() + update_appearance() if(REQ_EXTREME_MESSAGE_PRIORITY) header = "!!!Extreme Priority!!!
    [header]" @@ -385,7 +385,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) silenced = FALSE if(newmessagepriority < REQ_EXTREME_MESSAGE_PRIORITY) newmessagepriority = REQ_EXTREME_MESSAGE_PRIORITY - update_icon() + update_appearance() messages += "[header][sending]" @@ -405,7 +405,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) else to_chat(user, "You open the maintenance panel.") open = TRUE - update_icon() + update_appearance() return if(O.tool_behaviour == TOOL_SCREWDRIVER) if(open) @@ -414,7 +414,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) to_chat(user, "You modify the wiring.") else to_chat(user, "You reset the wiring.") - update_icon() + update_appearance() else to_chat(user, "You must open the maintenance panel first!") return diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 958c7f7c7fb8..2cc1dd2dafb3 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -100,7 +100,7 @@ if("ChangeBetType") chosen_bet_type = params["type"] . = TRUE - update_icon() // Not applicable to all objects. + update_appearance() // Not applicable to all objects. ///Handles setting ownership and the betting itself. /obj/machinery/roulette/attackby(obj/item/W, mob/user, params) @@ -183,7 +183,7 @@ my_card.registered_account.transfer_money(player_id.registered_account, bet_amount) playing = TRUE - update_icon() + update_appearance() set_light(0) var/rolled_number = rand(0, 36) diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm index 394a8cb034ca..b80cca3864ff 100644 --- a/code/game/machinery/sheetifier.dm +++ b/code/game/machinery/sheetifier.dm @@ -31,7 +31,7 @@ /obj/machinery/sheetifier/proc/AfterInsertMaterials(item_inserted, id_inserted, amount_inserted) busy_processing = TRUE - update_icon() + update_appearance() var/datum/material/last_inserted_material = id_inserted var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing") processing_overlay.color = last_inserted_material.color @@ -40,7 +40,7 @@ /obj/machinery/sheetifier/proc/finish_processing() busy_processing = FALSE - update_icon() + update_appearance() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) materials.retrieve_all() //Returns all as sheets @@ -48,7 +48,7 @@ if(default_unfasten_wrench(user, I)) return if(default_deconstruction_screwdriver(user, I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) return diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 3cf70c27c1c8..bdb167ee1732 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -93,7 +93,7 @@ /obj/machinery/shieldgen/proc/shields_up() active = TRUE - update_icon() + update_appearance() move_resist = INFINITY for(var/turf/target_tile in range(shield_range, src)) @@ -104,7 +104,7 @@ /obj/machinery/shieldgen/proc/shields_down() active = FALSE move_resist = initial(move_resist) - update_icon() + update_appearance() QDEL_LIST(deployed_shields) /obj/machinery/shieldgen/process() @@ -164,7 +164,7 @@ obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) to_chat(user, "You repair \the [src].") - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_WRENCH) if(locked) @@ -285,7 +285,7 @@ else for(var/direction in GLOB.cardinals) cleanup_field(direction) - update_icon() + update_appearance() /obj/machinery/power/shieldwallgen/update_icon_state() if(active) @@ -360,7 +360,7 @@ // update_cable_icons_on_turf(T) - Removed because smartwire Revert //WS Begin - Smartwire Revert var/obj/structure/cable/cable = locate(/obj/structure/cable) in turf - cable.update_icon() + cable.update_appearance() //WS End - Smartwire Revert if(. == SUCCESSFUL_UNFASTEN && anchored) connect_to_network() @@ -368,7 +368,7 @@ /obj/machinery/power/shieldwallgen/attackby(obj/item/item, mob/user, params) if(default_deconstruction_screwdriver(user, icon_state, icon_state, item)) - update_icon() + update_appearance() updateUsrDialog() return TRUE diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 076d611fe129..b05b0a2c2a18 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -208,7 +208,7 @@ working = TRUE toggle_reel_spin(1) - update_icon() + update_appearance() updateDialog() var/spin_loop = addtimer(CALLBACK(src, .proc/do_spin), 2, TIMER_LOOP|TIMER_STOPPABLE) @@ -225,7 +225,7 @@ working = FALSE deltimer(spin_loop) give_prizes(the_name, user) - update_icon() + update_appearance() updateDialog() /obj/machinery/computer/slot_machine/proc/can_spin(mob/user) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 5cfc15f78853..26ebc727ec70 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -34,13 +34,13 @@ /obj/machinery/space_heater/Initialize() . = ..() cell = new(src) - update_icon() + update_appearance() /obj/machinery/space_heater/on_construction() qdel(cell) cell = null panel_open = TRUE - update_icon() + update_appearance() return ..() /obj/machinery/space_heater/on_deconstruction() @@ -80,7 +80,7 @@ if(!istype(L)) if(mode != HEATER_MODE_STANDBY) mode = HEATER_MODE_STANDBY - update_icon() + update_appearance() return var/datum/gas_mixture/env = L.return_air() @@ -93,7 +93,7 @@ if(mode != newMode) mode = newMode - update_icon() + update_appearance() if(mode == HEATER_MODE_STANDBY) return @@ -114,7 +114,7 @@ cell.use(requiredPower / efficiency) else on = FALSE - update_icon() + update_appearance() return PROCESS_KILL /obj/machinery/space_heater/RefreshParts() @@ -163,7 +163,7 @@ else if(I.tool_behaviour == TOOL_SCREWDRIVER) panel_open = !panel_open user.visible_message("\The [user] [panel_open ? "opens" : "closes"] the hatch on \the [src].", "You [panel_open ? "open" : "close"] the hatch on \the [src].") - update_icon() + update_appearance() else if(default_deconstruction_crowbar(I)) return else @@ -210,7 +210,7 @@ on = !on mode = HEATER_MODE_STANDBY usr.visible_message("[usr] switches [on ? "on" : "off"] \the [src].", "You switch [on ? "on" : "off"] \the [src].") - update_icon() + update_appearance() if (on) SSair.start_processing_machine(src) . = TRUE diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index 29bb49c6e307..37e079715dcd 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -55,7 +55,7 @@ "You [stasis_enabled ? "power on" : "shut down"] \the [src].", \ "You hear a nearby machine [stasis_enabled ? "power on" : "shut down"].") play_power_sound() - update_icon() + update_appearance() /obj/machinery/stasis/Exited(atom/movable/AM, atom/newloc) if(AM == occupant) @@ -125,13 +125,13 @@ occupant = L if(stasis_running()) chill_out(L) - update_icon() + update_appearance() /obj/machinery/stasis/post_unbuckle_mob(mob/living/L) thaw_them(L) if(L == occupant) occupant = null - update_icon() + update_appearance() /obj/machinery/stasis/process() if(!occupant || !isliving(occupant)) @@ -147,7 +147,7 @@ /obj/machinery/stasis/screwdriver_act(mob/living/user, obj/item/I) . = ..() . |= default_deconstruction_screwdriver(user, "stasis_maintenance", "stasis", I) - update_icon() + update_appearance() /obj/machinery/stasis/crowbar_act(mob/living/user, obj/item/I) . = ..() diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 968bdca67b4a..231e36282bdc 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -189,7 +189,7 @@ mask = new mask_type(src) if(storage_type) storage = new storage_type(src) - update_icon() + update_appearance() /obj/machinery/suit_storage_unit/Destroy() QDEL_NULL(suit) @@ -236,7 +236,7 @@ if(!is_operational && state_open) open_machine() dump_contents() - update_icon() + update_appearance() /obj/machinery/suit_storage_unit/dump_contents() dropContents() @@ -328,12 +328,12 @@ if (item_to_dispense) vars[choice] = null try_put_in_hand(item_to_dispense, user) - update_icon() + update_appearance() else var/obj/item/in_hands = user.get_active_held_item() if (in_hands) attackby(in_hands, user) - update_icon() + update_appearance() interact(user) @@ -402,7 +402,7 @@ uv_cycles-- uv = TRUE locked = TRUE - update_icon() + update_appearance() if(occupant) if(uv_super) mob_occupant.adjustFireLoss(rand(20, 36)) @@ -539,7 +539,7 @@ storage = I visible_message("[user] inserts [I] into [src]", "You load [I] into [src].") - update_icon() + update_appearance() return if(panel_open && is_wire_tool(I)) @@ -547,7 +547,7 @@ return if(!state_open) if(default_deconstruction_screwdriver(user, "[base_icon_state]", "[base_icon_state]", I)) - update_icon() + update_appearance() return if(default_pry_open(I)) dump_contents() @@ -595,4 +595,4 @@ else if(istype(AM, /obj/item) && !storage) AM.forceMove(src) storage = AM - update_icon() + update_appearance() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index c9295d6ab57d..83182bedb942 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -78,7 +78,7 @@ if(active && ((detonation_timer <= world.time) || explode_now)) active = FALSE timer_set = initial(timer_set) - update_icon() + update_appearance() try_detonate(TRUE) /obj/machinery/syndicatebomb/Initialize() @@ -86,7 +86,7 @@ wires = new /datum/wires/syndicatebomb(src) if(payload) payload = new payload(src) - update_icon() + update_appearance() countdown = new(src) end_processing() @@ -131,7 +131,7 @@ else if(I.tool_behaviour == TOOL_SCREWDRIVER) open_panel = !open_panel - update_icon() + update_appearance() to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.") else if(is_wire_tool(I) && open_panel) @@ -205,7 +205,7 @@ if(!active) visible_message("[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.") activate() - update_icon() + update_appearance() add_fingerprint(user) if(payload && !istype(payload, /obj/item/bombcore/training)) @@ -305,7 +305,7 @@ holder.delayedbig = FALSE holder.delayedlittle = FALSE holder.explode_now = FALSE - holder.update_icon() + holder.update_appearance() holder.updateDialog() STOP_PROCESSING(SSfastprocess, holder) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index fc538e45bcde..20a5b823a230 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -27,7 +27,7 @@ user.put_in_hands(stored) stored = null to_chat(user, "You remove the blackbox from [src]. The tapes stop spinning.") - update_icon() + update_appearance() return else to_chat(user, "It seems that the blackbox is missing...") @@ -42,7 +42,7 @@ "You press the device into [src], and it clicks into place. The tapes begin spinning again.") playsound(src, 'sound/machines/click.ogg', 50, TRUE) stored = I - update_icon() + update_appearance() return return ..() diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 18ab6d82da1a..dec15ed3013b 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -128,7 +128,7 @@ GLOBAL_LIST_EMPTY(telecomms_list) update_power() // Update the icon - update_icon() + update_appearance() if(traffic > 0) traffic -= netspeed diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index ff1477160801..6e0551b25d41 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -58,7 +58,7 @@ if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W)) if(power_station && power_station.engaged) power_station.engaged = 0 //hub with panel open is off, so the station must be informed. - update_icon() + update_appearance() return if(default_deconstruction_crowbar(W)) return @@ -151,7 +151,7 @@ /obj/machinery/teleport/station/Destroy() if(teleporter_hub) teleporter_hub.power_station = null - teleporter_hub.update_icon() + teleporter_hub.update_appearance() teleporter_hub = null if (teleporter_console) teleporter_console.power_station = null @@ -176,7 +176,7 @@ to_chat(user, "This station can't hold more information, try to use better parts.") return else if(default_deconstruction_screwdriver(user, "controller-o", "controller", W)) - update_icon() + update_appearance() return else if(default_deconstruction_crowbar(W)) @@ -200,13 +200,13 @@ else to_chat(user, "No target detected.") engaged = FALSE - teleporter_hub.update_icon() + teleporter_hub.update_appearance() add_fingerprint(user) /obj/machinery/teleport/station/power_change() . = ..() if(teleporter_hub) - teleporter_hub.update_icon() + teleporter_hub.update_appearance() /obj/machinery/teleport/station/update_icon_state() if(panel_open) diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index a07cf6f942bd..8f49c9758f57 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -67,7 +67,7 @@ /obj/machinery/transformer/process() if(cooldown && (cooldown_timer <= world.time)) cooldown = FALSE - update_icon() + update_appearance() /obj/machinery/transformer/proc/do_transform(mob/living/carbon/human/H) if(machine_stat & (BROKEN|NOPOWER)) @@ -82,7 +82,7 @@ // Activate the cooldown cooldown = 1 cooldown_timer = world.time + cooldown_duration - update_icon() + update_appearance() playsound(src.loc, 'sound/items/welder.ogg', 50, TRUE) H.emote("scream") // It is painful diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index f8a4f234dc16..1856ace2550e 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -160,7 +160,7 @@ GLOBAL_LIST_INIT(dye_registry, list( to_chat(user, "[src] must be cleaned up first!") return busy = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/wash_cycle), 200) START_PROCESSING(SSfastprocess, src) @@ -186,7 +186,7 @@ GLOBAL_LIST_INIT(dye_registry, list( . = ..() if(!busy && bloody_mess && (clean_types & CLEAN_TYPE_BLOOD)) bloody_mess = FALSE - update_icon() + update_appearance() . = TRUE /obj/machinery/washing_machine/proc/wash_cycle() @@ -199,7 +199,7 @@ GLOBAL_LIST_INIT(dye_registry, list( if(color_source) qdel(color_source) color_source = null - update_icon() + update_appearance() /obj/item/proc/dye_item(dye_color, dye_key_override) var/dye_key_selector = dye_key_override ? dye_key_override : dying_key @@ -300,7 +300,7 @@ GLOBAL_LIST_INIT(dye_registry, list( return if(default_deconstruction_screwdriver(user, null, null, W)) - update_icon() + update_appearance() return else if(user.a_intent != INTENT_HARM) @@ -321,7 +321,7 @@ GLOBAL_LIST_INIT(dye_registry, list( return TRUE if(W.dye_color) color_source = W - update_icon() + update_appearance() else return ..() @@ -341,14 +341,14 @@ GLOBAL_LIST_INIT(dye_registry, list( if(state_open) if(istype(L, /mob/living/simple_animal/pet)) L.forceMove(src) - update_icon() + update_appearance() return if(!state_open) open_machine() else state_open = FALSE //close the door - update_icon() + update_appearance() /obj/machinery/washing_machine/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/metal(drop_location(), 2) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 2309818a995a..ee5dd4db846d 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -337,12 +337,12 @@ else if(mechsyringe.loc == trg) mechsyringe.icon_state = initial(mechsyringe.icon_state) mechsyringe.icon = initial(mechsyringe.icon) - mechsyringe.update_icon() + mechsyringe.update_appearance() break else mechsyringe.icon_state = initial(mechsyringe.icon_state) mechsyringe.icon = initial(mechsyringe.icon) - mechsyringe.update_icon() + mechsyringe.update_appearance() break sleep(1) return 1 diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index e81a2446def9..fe48f4ead497 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -470,13 +470,13 @@ var/obj/structure/cable/NC = new(new_turf, "red") NC.d1 = 0 NC.d2 = fdirn - NC.update_icon() + NC.update_appearance() var/datum/powernet/PN if(last_piece && last_piece.d2 != chassis.dir) last_piece.d1 = min(last_piece.d2, chassis.dir) last_piece.d2 = max(last_piece.d2, chassis.dir) - last_piece.update_icon() + last_piece.update_appearance() PN = last_piece.powernet if(!PN) diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index d464ca656418..ca24240b4f2e 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -55,17 +55,17 @@ if(!recharging_mech) recharging_mech = locate(/obj/mecha) in recharging_turf if(recharging_mech) - recharge_console.update_icon() + recharge_console.update_appearance() if(recharging_mech && recharging_mech.cell) if(recharging_mech.cell.charge < recharging_mech.cell.maxcharge) var/delta = min(max_charge, recharging_mech.cell.maxcharge - recharging_mech.cell.charge) recharging_mech.give_power(delta) use_power(delta*150) else - recharge_console.update_icon() + recharge_console.update_appearance() if(recharging_mech.loc != recharging_turf) recharging_mech = null - recharge_console.update_icon() + recharge_console.update_appearance() /obj/machinery/mech_bay_recharge_port/attackby(obj/item/I, mob/user, params) @@ -113,7 +113,7 @@ if("reconnect") reconnect() . = TRUE - update_icon() + update_appearance() /obj/machinery/computer/mech_bay_power_console/ui_data(mob/user) var/list/data = list() diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 9d6f0083c733..62e8f10455a8 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -801,7 +801,7 @@ occupant = AI silicon_pilot = TRUE icon_state = initial(icon_state) - update_icon() + update_appearance() playsound(src, 'sound/machines/windowdoor.ogg', 50, TRUE) if(!internal_damage) SEND_SOUND(occupant, sound('sound/mecha/nominal.ogg',volume=50)) @@ -992,7 +992,7 @@ B.remote_control = src B.update_mouse_pointer() icon_state = initial(icon_state) - update_icon() + update_appearance() setDir(dir_in) log_message("[M] moved in as pilot.", LOG_MECHA) if(!internal_damage) @@ -1085,7 +1085,7 @@ L.forceMove(mmi) L.reset_perspective() mmi.set_mecha(null) - mmi.update_icon() + mmi.update_appearance() icon_state = initial(icon_state)+"-open" setDir(dir_in) diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index bae9a13afdce..2ef07992eb26 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -45,11 +45,11 @@ /obj/mecha/working/ripley/go_out() ..() - update_icon() + update_appearance() /obj/mecha/working/ripley/moved_inside(mob/living/carbon/human/H) ..() - update_icon() + update_appearance() /obj/mecha/working/ripley/check_for_internal_damage(list/possible_int_damage,ignore_threshold=null) if (!enclosed) diff --git a/code/game/objects/effects/anomalies/anomalies_melter.dm b/code/game/objects/effects/anomalies/anomalies_melter.dm index 763c1f334610..ad13faf2113a 100644 --- a/code/game/objects/effects/anomalies/anomalies_melter.dm +++ b/code/game/objects/effects/anomalies/anomalies_melter.dm @@ -18,16 +18,16 @@ for(var/X in meltee.get_equipped_items()) var/obj/item/I = X I.acid_act(20, 20) - I.update_icon() + I.update_appearance() for (var/obj/item/melt in range(effectrange, src)) melt.acid_act(20, 10) - melt.update_icon() + melt.update_appearance() /obj/effect/anomaly/melter/Bumped(atom/movable/AM) if(isobj(AM)) var/obj/acid = AM acid.acid_act(100,20) - acid.update_icon() + acid.update_appearance() /obj/effect/anomaly/melter/detonate() @@ -35,10 +35,10 @@ for(var/X in meltee.get_equipped_items()) var/obj/item/I = X I.acid_act(200, 20) - I.update_icon() + I.update_appearance() for(var/obj/item in range(effectrange, src)) item.acid_act(100,20) - item.update_icon() + item.update_appearance() . = ..() diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index b44719ba904e..57c871ed4c00 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -90,7 +90,7 @@ SIGNAL_HANDLER if(iscarbon(AM) && blood_state && bloodiness > 40) SEND_SIGNAL(AM, COMSIG_STEP_ON_BLOOD, src) - update_icon() + update_appearance() /obj/effect/decal/cleanable/wash(clean_types) ..() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index b6d7a96d2b58..3dd327dda08c 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -206,7 +206,7 @@ icon_state = "" //All of the footprint visuals come from overlays if(mapload) entered_dirs |= dir //Keep the same appearance as in the map editor - update_icon() + update_appearance() //Rotate all of the footprint directions too /obj/effect/decal/cleanable/blood/footprints/setDir(newdir) @@ -225,7 +225,7 @@ if(old_exited_dirs & Ddir) exited_dirs |= angle2dir_cardinal(dir2angle(Ddir) + ang_change) - update_icon() + update_appearance() return ..() /obj/effect/decal/cleanable/blood/footprints/update_icon() diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 4259403c2de0..51020d8f60dc 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -321,7 +321,7 @@ for(var/obj/machinery/atmospherics/components/unary/U in O) if(!U.welded) U.welded = TRUE - U.update_icon() + U.update_appearance() U.visible_message("[U] sealed shut!") for(var/mob/living/L in O) L.ExtinguishMob() diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index e357ac3ea79a..a19ab7781269 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -168,7 +168,7 @@ for(var/obj/machinery/atmospherics/components/unary/U in T) if(!isnull(U.welded) && !U.welded) //must be an unwelded vent pump or vent scrubber. U.welded = TRUE - U.update_icon() + U.update_appearance() U.visible_message("[U] is frozen shut!") for(var/mob/living/L in T) L.ExtinguishMob() diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm index cb5b34ec8cca..914b910d9830 100644 --- a/code/game/objects/effects/spawners/bombspawner.dm +++ b/code/game/objects/effects/spawners/bombspawner.dm @@ -35,7 +35,7 @@ V.attached_device = A A.holder = V - V.update_icon() + V.update_appearance() return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 7f91fe93bfea..be1516810a02 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -506,7 +506,7 @@ delay -= 11 icon_state = "rcd_end_reverse" else - update_icon() + update_appearance() /obj/effect/constructing_effect/update_icon_state() icon_state = "rcd" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e99783bfeb2c..2db11c27731a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -190,10 +190,6 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/canMouseDown = FALSE - //You can change world and inventory states on the go with these if you need to(example: cigar sprites being changed as they burn down) - var/inventory_state - var/world_state - /obj/item/Initialize() if(attack_verb) @@ -516,13 +512,12 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/equipped(mob/user, slot, initial = FALSE) SHOULD_CALL_PARENT(1) visual_equipped(user, slot, initial) + SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED, user, slot) for(var/X in actions) var/datum/action/A = X if(item_action_slot_check(slot, user)) //some items only give their actions buttons when in a specific slot. A.Grant(user) item_flags |= IN_INVENTORY - SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED, user, slot) - SEND_SIGNAL(user, COMSIG_MOB_EQUIPPED_ITEM, src, slot) if(!initial) if(equip_sound && (slot_flags & slot)) playsound(src, equip_sound, EQUIP_SOUND_VOLUME, TRUE, ignore_walls = FALSE) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 04afc181c3d3..8eb1d7225ea9 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -101,7 +101,7 @@ RLD qdel(W) else return ..() - update_icon() //ensures that ammo counters (if present) get updated + update_appearance() //ensures that ammo counters (if present) get updated /obj/item/construction/proc/loadwithsheets(obj/item/stack/sheet/S, value, mob/user) var/maxsheets = round((max_matter-matter)/value) //calculate the max number of sheets that will fit in RCD @@ -130,7 +130,7 @@ RLD to_chat(user, no_ammo_message) return FALSE matter -= amount - update_icon() + update_appearance() return TRUE else if(silo_mats.on_hold()) @@ -546,7 +546,7 @@ RLD /obj/item/construction/rcd/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/construction/rcd/borg no_ammo_message = "Insufficient charge." diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 2dd5ae386d6d..18661712b6e4 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -64,7 +64,7 @@ loaded.amount += transfer_amount else return - update_icon() + update_appearance() to_chat(user, "You add the cables to [src]. It now contains [loaded.amount].") else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(!loaded) @@ -96,7 +96,7 @@ loaded.forceMove(get_turf(user)) loaded = null - update_icon() + update_appearance() else ..() @@ -133,7 +133,7 @@ return ..() /obj/item/rcl/proc/is_empty(mob/user, loud = 1) - update_icon() + update_appearance() if(!loaded || !loaded.amount) if(loud) to_chat(user, "The last of the cables unreel from [src].") @@ -214,7 +214,7 @@ loaded.cable_color = colors[current_color_index] last = loaded.place_turf(get_turf(src), user, turn(user.dir, 180)) is_empty(user) //If we've run out, display message - update_icon() + update_appearance() //searches the current tile for a stub cable of the same colour @@ -303,11 +303,11 @@ loaded = new() loaded.max_amount = max_amount loaded.amount = max_amount - update_icon() + update_appearance() /obj/item/rcl/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/rcl/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/rcl_col)) diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index bdc5aad7fda3..f73924cbea9e 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -440,7 +440,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( activate() C.add_fingerprint(usr) - C.update_icon() + C.update_appearance() if(mode & WRENCH_MODE) C.wrench_act(user, src) return diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 6ef0dc8d87d2..78ee6cc25d3c 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -67,11 +67,11 @@ break if(i > 0) if (target_bin) - target_bin.update_icon() + target_bin.update_appearance() to_chat(user, "You sweep the pile of garbage into [target_bin].") playsound(loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1) /obj/item/pushbroom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta J.put_in_cart(src, user) J.mybroom=src - J.update_icon() + J.update_appearance() diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index a3365a464f34..595c798d4c9e 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -45,13 +45,13 @@ usr.visible_message(show_message) set_light(CANDLE_LUMINOSITY, 0.8) START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/candle/proc/put_out_candle() if(!lit) return lit = FALSE - update_icon() + update_appearance() set_light(0) return TRUE @@ -67,7 +67,7 @@ if(!wax) new /obj/item/trash/candle(loc) qdel(src) - update_icon() + update_appearance() open_flame() /obj/item/candle/attack_self(mob/user) @@ -115,11 +115,11 @@ user.visible_message( "[user] snuffs [src] out.") lit = FALSE - update_icon() + update_appearance() set_light(0) -/obj/item/candle/tribal_torch/update_icon() +/obj/item/candle/tribal_torch/update_appearance() icon_state = "torch[lit ? "_lit" : "_unlit"]" item_state = "torch[lit ? "-on" : ""]" return ..() diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 0879883042e5..e31053283e3f 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -39,7 +39,7 @@ /obj/item/card/data/Initialize() .=..() - update_icon() + update_appearance() /obj/item/card/data/update_overlays() . = ..() @@ -387,7 +387,7 @@ var/obj/item/storage/wallet/powergaming = loc if(powergaming.front_id == src) powergaming.update_label() - powergaming.update_icon() + powergaming.update_appearance() /obj/item/card/id/proc/get_cached_flat_icon() if(!cached_flat_icon) @@ -424,7 +424,7 @@ update_label() /obj/item/card/id/proc/update_label() var/blank = !registered_name name = "[blank ? initial(name) : "[registered_name]'s ID Card"][(!assignment) ? "" : " ([assignment])"]" - update_icon() + update_appearance() /obj/item/card/id/silver name = "silver identification card" @@ -601,7 +601,7 @@ update_label() /obj/item/card/id/captains_spare/update_label() //so it doesn't change to Captain's ID card (Captain) on a sneeze if(registered_name == "Captain") name = "[initial(name)][(!assignment || assignment == "Captain") ? "" : " ([assignment])"]" - update_icon() + update_appearance() else ..() diff --git a/code/game/objects/items/cash.dm b/code/game/objects/items/cash.dm index 3ed1736bda0d..53a809d1cd0c 100644 --- a/code/game/objects/items/cash.dm +++ b/code/game/objects/items/cash.dm @@ -20,7 +20,7 @@ ..() if(amount) value = amount - update_icon() + update_appearance() /obj/item/spacecash/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/spacecash)) @@ -35,7 +35,7 @@ qdel(cash) bundle.value += value - bundle.update_icon() + bundle.update_appearance() if(ishuman(user)) var/mob/living/carbon/human/H = user H.dropItemToGround(src) @@ -53,9 +53,9 @@ /obj/item/spacecash/bundle/Initialize() . = ..() - update_icon() + update_appearance() -/obj/item/spacecash/bundle/update_icon() +/obj/item/spacecash/bundle/update_appearance() icon_state = "nothing" cut_overlays() var/remaining_value = value @@ -84,7 +84,6 @@ M.Translate(rand(-6, 6), rand(-4, 8)) coin.transform = M overlays += coin - return ..() if(coins_only) if(value == 1) @@ -92,14 +91,12 @@ desc = "Heavier then it looks." drop_sound = 'sound/items/handling/coin_drop.ogg' pickup_sound = 'sound/items/handling/coin_pickup.ogg' - return ..() else name = "[value] credits" desc = "Heavier than they look." gender = PLURAL drop_sound = 'sound/items/handling/coin_drop.ogg' pickup_sound = 'sound/items/handling/coin_pickup.ogg' - return ..() else if(value <= 3000) name = "[value] credits" @@ -107,14 +104,13 @@ desc = "Some cold, hard cash." drop_sound = 'sound/items/handling/dosh_drop.ogg' pickup_sound = 'sound/items/handling/dosh_pickup.ogg' - return ..() else name = "[value] credits" gender = NEUTER desc = "That's a lot of dosh." drop_sound = 'sound/items/handling/dosh_drop.ogg' pickup_sound = 'sound/items/handling/dosh_pickup.ogg' - return ..() + return ..() /obj/item/spacecash/bundle/attack_self() var/cashamount = input(usr, "How many credits do you want to take? (0 to [value])", "Take Money", 20) as num @@ -133,9 +129,9 @@ var/obj/item/spacecash/bundle/bundle = new (usr.loc) bundle.value = cashamount - bundle.update_icon() + bundle.update_appearance() usr.put_in_hands(bundle) - update_icon() + update_appearance() /obj/item/spacecash/bundle/AltClick(mob/living/user) var/cashamount = input(usr, "How many credits do you want to take? (0 to [value])", "Take Money", 20) as num @@ -154,9 +150,9 @@ var/obj/item/spacecash/bundle/bundle = new (usr.loc) bundle.value = cashamount - bundle.update_icon() + bundle.update_appearance() usr.put_in_hands(bundle) - update_icon() + update_appearance() /obj/item/spacecash/bundle/attack_hand(mob/user) if(user.get_inactive_held_item() == src) @@ -166,7 +162,7 @@ var/nuvalue = value - 1 value = nuvalue user.put_in_hands(new /obj/item/spacecash/bundle(loc, 1)) - update_icon() + update_appearance() else . = ..() diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 5daa26121345..61a174871de5 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -190,7 +190,7 @@ cached_icon.Insert(mob_icon, "frame[i]") mob_underlay = mutable_appearance(cached_icon, "frame1") - update_icon() + update_appearance() desc = initial(desc) + "
    It appears to contain [target.name]." START_PROCESSING(SSobj, src) @@ -231,7 +231,7 @@ captured.Unconscious(80) if(captured.loc != src) captured.forceMove(src) - update_icon() + update_appearance() if(gun) if(gun.field_check(src)) tickstokill-- diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 8aea822cb55c..29ecb95e2f10 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -50,7 +50,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A [initial(name)]. This one is lit." attack_verb = list("burnt","singed") START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/match/proc/matchburnout() if(lit) @@ -598,7 +598,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() if(!overlay_state) overlay_state = pick(overlay_list) - update_icon() + update_appearance() /obj/item/lighter/cyborg_unequip(mob/user) if(!lit) @@ -643,7 +643,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM force = 0 attack_verb = null //human_defense.dm takes care of it set_light_on(lit) - update_icon() + update_appearance() /obj/item/lighter/extinguish() set_lit(FALSE) @@ -746,7 +746,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() if(!lighter_color) lighter_color = pick(color_list) - update_icon() + update_appearance() /obj/item/lighter/greyscale/create_lighter_overlay() var/mutable_appearance/lighter_overlay = ..() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 3e875a47fd93..a57feb446b35 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -160,7 +160,7 @@ if(has_cap) is_capped = !is_capped to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].") - update_icon() + update_appearance() /obj/item/toy/crayon/CtrlClick(mob/user) if(can_change_colour && !isturf(loc) && user.canUseTopic(src, BE_CLOSE, ismonkey(user))) @@ -255,7 +255,7 @@ . = TRUE paint_mode = PAINT_NORMAL drawtype = "a" - update_icon() + update_appearance() /obj/item/toy/crayon/proc/select_colour(mob/user) var/chosen_colour = input(user, "", "Choose Color", paint_color) as color|null @@ -596,7 +596,7 @@ new /obj/item/toy/crayon/blue(src) new /obj/item/toy/crayon/purple(src) new /obj/item/toy/crayon/black(src) - update_icon() + update_appearance() /obj/item/storage/crayons/update_overlays() . = ..() @@ -665,7 +665,7 @@ playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5) if(can_change_colour) paint_color = "#C0C0C0" - update_icon() + update_appearance() if(actually_paints) H.update_lips("spray_face", paint_color) var/used = use_charges(user, 10, FALSE) @@ -680,7 +680,7 @@ paint_color = pick("#DA0000","#FF9300","#FFF200","#A8E61D","#00B7EF", "#DA00FF") refill() - update_icon() + update_appearance() /obj/item/toy/crayon/spraycan/examine(mob/user) diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index 7892e0c1cfaa..9a6663cf2046 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -12,7 +12,7 @@ /obj/item/holochip/Initialize(mapload, amount) . = ..() credits = amount - update_icon() + update_appearance() /obj/item/holochip/examine(mob/user) . = ..() @@ -79,7 +79,7 @@ credits -= amount if(credits == 0) qdel(src) - update_icon() + update_appearance() return amount else if(pay_anyway) qdel(src) @@ -93,7 +93,7 @@ var/obj/item/holochip/H = I credits += H.credits to_chat(user, "You insert the credits into [src].") - update_icon() + update_appearance() qdel(H) /obj/item/holochip/AltClick(mob/user) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index c8da63dccf9f..14259b624312 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -58,7 +58,7 @@ powered = TRUE else powered = FALSE - update_icon() + update_appearance() /obj/item/defibrillator/update_overlays() . = ..() @@ -130,7 +130,7 @@ else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(cell) - cell.update_icon() + cell.update_appearance() cell.forceMove(get_turf(src)) cell = null to_chat(user, "You remove the cell from [src].") @@ -232,7 +232,7 @@ visible_message("[src] beeps: Charge depleted.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) paddles.cooldown = FALSE - paddles.update_icon() + paddles.update_appearance() update_power() /obj/item/defibrillator/compact @@ -358,13 +358,13 @@ if(req_defib || !time) return cooldown = TRUE - update_icon() + update_appearance() sleep(time) var/turf/T = get_turf(src) T.audible_message("[src] beeps: Unit is recharged.") playsound(src, 'sound/machines/defib_ready.ogg', 50, FALSE) cooldown = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/Initialize() . = ..() @@ -377,7 +377,7 @@ return INITIALIZE_HINT_QDEL defib = loc busy = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/suicide_act(mob/user) user.visible_message("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") @@ -484,7 +484,7 @@ defib.deductcharge(revivecost) cooldown = TRUE busy = FALSE - update_icon() + update_appearance() if(req_defib) defib.cooldowncheck(user) else @@ -498,7 +498,7 @@ user.visible_message("[user] begins to place [src] on [H]'s chest.", "You overcharge the paddles and begin to place them onto [H]'s chest...") busy = TRUE - update_icon() + update_appearance() if(do_after(user, 15, target = H)) user.visible_message("[user] places [src] on [H]'s chest.", "You place [src] on [H]'s chest and begin to charge them.") @@ -511,13 +511,13 @@ if(do_after(user, 15, target = H)) //Takes longer due to overcharging if(!H) busy = FALSE - update_icon() + update_appearance() return if(H && H.stat == DEAD) to_chat(user, "[H] is dead.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE - update_icon() + update_appearance() return user.visible_message("[user] shocks [H] with \the [src]!", "You shock [H] with \the [src]!") playsound(src, 'sound/machines/defib_zap.ogg', 100, TRUE, -1) @@ -537,18 +537,18 @@ defib.deductcharge(revivecost) cooldown = TRUE busy = FALSE - update_icon() + update_appearance() if(!req_defib) recharge(60) if(req_defib && (defib.cooldowncheck(user))) return busy = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/proc/do_help(mob/living/carbon/H, mob/living/user) user.visible_message("[user] begins to place [src] on [H]'s chest.", "You begin to place [src] on [H]'s chest...") busy = TRUE - update_icon() + update_appearance() if(do_after(user, 30, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process user.visible_message("[user] places [src] on [H]'s chest.", "You place [src] on [H]'s chest.") playsound(src, 'sound/machines/defib_charge.ogg', 75, FALSE) @@ -562,7 +562,7 @@ user.audible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's chest is obscured. Operation aborted.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE - update_icon() + update_appearance() return if(H.stat == DEAD) H.visible_message("[H]'s body convulses a bit.") @@ -620,7 +620,7 @@ if(req_defib) defib.deductcharge(revivecost) cooldown = 1 - update_icon() + update_appearance() if(req_defib) defib.cooldowncheck(user) else @@ -640,7 +640,7 @@ user.visible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient is not in a valid state. Operation aborted.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/cyborg name = "cyborg defibrillator paddles" diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index dfa27f6f21f4..95ee20112abd 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -114,7 +114,7 @@ GLOBAL_LIST_EMPTY(PDAs) inserted_item = new inserted_item(src) else inserted_item = new /obj/item/pen(src) - update_icon() + update_appearance() /obj/item/pda/equipped(mob/user, slot) . = ..() @@ -290,7 +290,7 @@ GLOBAL_LIST_EMPTY(PDAs) if (pai) if(pai.loc != src) pai = null - update_icon() + update_appearance() else dat += "
  • [PDAIMG(status)] pAI Device Configuration
  • " dat += "
  • [PDAIMG(status)] Eject pAI Device
  • " @@ -440,7 +440,7 @@ GLOBAL_LIST_EMPTY(PDAs) scanmode = 0 cartridge.host_pda = null cartridge = null - update_icon() + update_appearance() //MENU FUNCTIONS=================================== @@ -620,7 +620,7 @@ GLOBAL_LIST_EMPTY(PDAs) . = id id = null updateSelfDialog() - update_icon() + update_appearance() if(ishuman(loc)) var/mob/living/carbon/human/H = loc @@ -738,7 +738,7 @@ GLOBAL_LIST_EMPTY(PDAs) to_chat(L, "[icon2html(src)] PDA message from [hrefstart][signal.data["name"]] ([signal.data["job"]])[hrefend], [inbound_message] [reply]") - update_icon() + update_appearance() add_overlay(icon_alert) /obj/item/pda/proc/send_to_all(mob/living/U) @@ -814,7 +814,7 @@ GLOBAL_LIST_EMPTY(PDAs) set_light_on(FALSE) else if(light_range) set_light_on(TRUE) - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() @@ -828,7 +828,7 @@ GLOBAL_LIST_EMPTY(PDAs) user.put_in_hands(inserted_item) to_chat(user, "You remove [inserted_item] from [src].") inserted_item = null - update_icon() + update_appearance() else to_chat(user, "This PDA does not have a pen in it!") @@ -842,7 +842,7 @@ GLOBAL_LIST_EMPTY(PDAs) cartridge.host_pda = null cartridge = null updateSelfDialog() - update_icon() + update_appearance() //trying to insert or remove an id /obj/item/pda/proc/id_check(mob/user, obj/item/card/id/I) @@ -859,7 +859,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(!user.transferItemToLoc(I, src)) return FALSE insert_id(I, user) - update_icon() + update_appearance() return TRUE @@ -887,7 +887,7 @@ GLOBAL_LIST_EMPTY(PDAs) cartridge.host_pda = src to_chat(user, "You insert [cartridge] into [src].") updateSelfDialog() - update_icon() + update_appearance() else if(istype(C, /obj/item/card/id)) var/obj/item/card/id/idcard = C @@ -912,7 +912,7 @@ GLOBAL_LIST_EMPTY(PDAs) return pai = C to_chat(user, "You slot \the [C] into [src].") - update_icon() + update_appearance() updateUsrDialog() else if(is_type_in_list(C, contained_item)) //Checks if there is a pen if(inserted_item) @@ -922,7 +922,7 @@ GLOBAL_LIST_EMPTY(PDAs) return to_chat(user, "You slide \the [C] into \the [src].") inserted_item = C - update_icon() + update_appearance() else if(istype(C, /obj/item/photo)) var/obj/item/photo/P = C picture = P.picture diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index aa4c4e8accc8..651eb45e19c2 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -36,7 +36,7 @@ target.transfer_ai(AI_TRANS_TO_CARD, user, null, src) if(AI) log_combat(user, AI, "carded", src) - update_icon() //Whatever happened, update the card's state (icon, name) to match. + update_appearance() //Whatever happened, update the card's state (icon, name) to match. /obj/item/aicard/update_icon_state() if(AI) @@ -103,4 +103,4 @@ AI.radio_enabled = !AI.radio_enabled to_chat(AI, "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!") . = TRUE - update_icon() + update_appearance() diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 222861f7841a..728c4fab7d65 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -499,11 +499,11 @@ if(!fuel) turn_off() STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/flashlight/glowstick/proc/turn_off() on = FALSE - update_icon() + update_appearance() /obj/item/flashlight/glowstick/update_appearance(updates=ALL) . = ..() diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 6b0c3a74fb95..1b1177e137a7 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -42,7 +42,7 @@ return ..() /obj/item/geiger_counter/process() - update_icon() + update_appearance() update_sound() if(!scanning) @@ -126,11 +126,11 @@ if(amount <= RAD_BACKGROUND_RADIATION || !scanning) return current_tick_amount += amount - update_icon() + update_appearance() /obj/item/geiger_counter/attack_self(mob/user) scanning = !scanning - update_icon() + update_appearance() to_chat(user, "[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].") /obj/item/geiger_counter/afterattack(atom/target, mob/user) @@ -171,7 +171,7 @@ user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!") obj_flags &= ~EMAGGED radiation_count = 0 - update_icon() + update_appearance() return 1 else return ..() @@ -184,7 +184,7 @@ return 0 radiation_count = 0 to_chat(usr, "You flush [src]'s radiation counts, resetting it to normal.") - update_icon() + update_appearance() /obj/item/geiger_counter/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -204,7 +204,7 @@ if(!scanning) return scanning = FALSE - update_icon() + update_appearance() /obj/item/geiger_counter/cyborg/equipped(mob/user) . = ..() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 90ab66f15557..c6ad17b81255 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -226,7 +226,7 @@ name = "shortcircuited [initial(name)]" else name = initial(name) - update_icon() + update_appearance() /obj/item/lightreplacer/proc/CanUse(mob/living/user) src.add_fingerprint(user) @@ -256,7 +256,7 @@ /obj/item/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) J.put_in_cart(src, user) J.myreplacer = src - J.update_icon() + J.update_appearance() /obj/item/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 0225a9077a61..01ca5f43feba 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -88,7 +88,7 @@ if(eye.eye_user) eye.setLoc(get_turf(src)) multitool_detect() - update_icon() + update_appearance() track_cooldown = world.time + track_delay /obj/item/multitool/ai_detect/proc/toggle_hud(mob/user) diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm index 767a069621db..fa777fec1124 100644 --- a/code/game/objects/items/devices/portable_chem_mixer.dm +++ b/code/game/objects/items/devices/portable_chem_mixer.dm @@ -46,7 +46,7 @@ update_contents() if (locked) replace_beaker(user) - update_icon() + update_appearance() I.play_tool_sound(src, 50) return @@ -56,7 +56,7 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - update_icon() + update_appearance() updateUsrDialog() return @@ -96,7 +96,7 @@ if(!can_interact(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return replace_beaker(user) - update_icon() + update_appearance() /** * Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently @@ -215,5 +215,5 @@ . = TRUE if("eject") replace_beaker(usr) - update_icon() + update_appearance() . = TRUE diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 6869c3069934..3a6ba2f73950 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -58,7 +58,7 @@ set_anchored(TRUE) mode = value - update_icon() + update_appearance() set_light(0) /obj/item/powersink/attackby(obj/item/I, mob/user, params) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 01f794238832..f3c548710b78 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -103,18 +103,21 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) /obj/item/radio/intercom/emp_act(severity) . = ..() // Parent call here will set `on` to FALSE. - update_icon() + update_appearance() /obj/item/radio/intercom/end_emp_effect(curremp) . = ..() AreaPowerCheck() // Make sure the area/local APC is powered first before we actually turn back on. -/obj/item/radio/intercom/update_icon_state() - icon_state = on ? initial(icon_state) : "intercom-p" - return ..() +/obj/item/radio/intercom/update_icon() + . = ..() + if(on) + icon_state = initial(icon_state) + else + icon_state = "[initial(icon_state)]-p" /** - * Proc called whenever the intercom's area loses or gains power. Responsible for setting the `on` variable and calling `update_icon()`. + * Proc called whenever the intercom's area loses or gains power. Responsible for setting the `on` variable and calling `update_appearance()`. * * Normally called after the intercom's area recieves the `COMSIG_AREA_POWER_CHANGE` signal, but it can also be called directly. * Arguments: @@ -126,7 +129,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) on = FALSE else on = current_area.powered(AREA_USAGE_EQUIP) // set "on" to the equipment power status of our area. - update_icon() + update_appearance() /obj/item/radio/intercom/add_blood_DNA(list/blood_dna) return FALSE diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index b2a45581fb10..b152504a3431 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -16,7 +16,7 @@ /obj/item/swapper/Destroy() if(linked_swapper) linked_swapper.linked_swapper = null //*inception music* - linked_swapper.update_icon() + linked_swapper.update_appearance() linked_swapper = null return ..() @@ -36,8 +36,8 @@ to_chat(user, "You establish a quantum link between the two devices.") linked_swapper = other_swapper other_swapper.linked_swapper = src - update_icon() - linked_swapper.update_icon() + update_appearance() + linked_swapper.update_appearance() else return ..() @@ -72,9 +72,9 @@ to_chat(user, "You break the current quantum link.") if(!QDELETED(linked_swapper)) linked_swapper.linked_swapper = null - linked_swapper.update_icon() + linked_swapper.update_appearance() linked_swapper = null - update_icon() + update_appearance() //Gets the topmost teleportable container /obj/item/swapper/proc/get_teleportable_container() diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index ea4b47374536..ff2bfe04cc66 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -26,7 +26,7 @@ . = ..() if(starting_tape_type) mytape = new starting_tape_type(src) - update_icon() + update_appearance() become_hearing_sensitive(ROUNDSTART_TRAIT) /obj/item/taperecorder/Destroy() @@ -44,7 +44,7 @@ return mytape = I to_chat(user, "You insert [I] into [src].") - update_icon() + update_appearance() /obj/item/taperecorder/proc/eject(mob/user) @@ -53,7 +53,7 @@ stop() user.put_in_hands(mytape) mytape = null - update_icon() + update_appearance() /obj/item/taperecorder/fire_act(exposed_temperature, exposed_volume) mytape.ruin() //Fires destroy the tape @@ -120,7 +120,7 @@ if(mytape.used_capacity < mytape.max_capacity) to_chat(usr, "Recording started.") recording = 1 - update_icon() + update_appearance() mytape.timestamp += mytape.used_capacity mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] Recording started." var/used = mytape.used_capacity //to stop runtimes when you eject the tape @@ -130,7 +130,7 @@ used++ sleep(10) recording = 0 - update_icon() + update_appearance() else to_chat(usr, "The tape is full.") @@ -152,7 +152,7 @@ playing = 0 var/turf/T = get_turf(src) T.visible_message("Tape Recorder: Playback stopped.") - update_icon() + update_appearance() /obj/item/taperecorder/verb/play() @@ -169,7 +169,7 @@ return playing = 1 - update_icon() + update_appearance() to_chat(usr, "Playing started.") var/used = mytape.used_capacity //to stop runtimes when you eject the tape var/max = mytape.max_capacity @@ -194,7 +194,7 @@ i++ playing = 0 - update_icon() + update_appearance() /obj/item/taperecorder/attack_self(mob/user) diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 8632a0fd6355..3d054927d2c8 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -260,4 +260,4 @@ effective or pretty fucking useless. GLOB.active_jammers |= src else GLOB.active_jammers -= src - update_icon() + update_appearance() diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 4671bafcc9fe..438b37fe5944 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -36,7 +36,7 @@ tank_two = item to_chat(user, "You attach the tank to the transfer valve.") - update_icon() + update_appearance() //TODO: Have this take an assemblyholder else if(isassembly(item)) var/obj/item/assembly/A = item @@ -52,7 +52,7 @@ to_chat(user, "You attach the [item] to the valve controls and secure it.") A.on_attach() A.holder = src - A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb). + A.toggle_secure() //this calls update_appearance(), which calls update_appearance() on the holder (i.e. the bomb). log_bomber(user, "attached a [item.name] to a ttv -", src, null, FALSE) attacher = user return @@ -174,12 +174,12 @@ merge_gases() for(var/i in 1 to 6) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 20 + (i - 1) * 10) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 20 + (i - 1) * 10) else if(valve_open && tank_one && tank_two) split_gases() valve_open = FALSE - update_icon() + update_appearance() /* This doesn't do anything but the timer etc. expects it to be here eventually maybe have it update icon to show state (timer, prox etc.) like old bombs @@ -237,4 +237,4 @@ attached_device = null . = TRUE - update_icon() + update_appearance() diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index 6e775d95c30c..d037ea653287 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -62,7 +62,7 @@ . = ..() if(!result) result = roll(sides) - update_icon() + update_appearance() /obj/item/dice/suicide_act(mob/user) user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!") @@ -202,7 +202,7 @@ comment = "NAT 20!" else if(sides == 20 && result == 1) comment = "Ouch, bad luck." - update_icon() + update_appearance() if(initial(icon_state) == "d00") result = (result - 1)*10 if(special_faces.len == sides) diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 2e028170a5f1..51c17ff4290d 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -63,4 +63,4 @@ icon_state = "docs_[C.crayon_color]" forgedseal = C.crayon_color to_chat(user, "You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?") - update_icon() + update_appearance() diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 7d76e12787cd..3bf02b9cdeea 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -191,7 +191,7 @@ hacked = TRUE to_chat(user, "2XRNBW_ENGAGE") saber_color = "rainbow" - update_icon() + update_appearance() else to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") else diff --git a/code/game/objects/items/energyhalberd.dm b/code/game/objects/items/energyhalberd.dm index da15f9fa9892..f26449b895b3 100644 --- a/code/game/objects/items/energyhalberd.dm +++ b/code/game/objects/items/energyhalberd.dm @@ -191,7 +191,7 @@ hacked = TRUE to_chat(user, "HLBRDRNBW_ENGAGE") halberd_color = "rainbow" - update_icon() + update_appearance() else to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") else diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index f9e37b972a95..a695bd70e410 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -25,7 +25,7 @@ /obj/structure/etherealball/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/etherealball/attack_hand(mob/living/carbon/human/user) . = ..() @@ -49,7 +49,7 @@ TurnedOn = FALSE set_light(0) remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) - update_icon() + update_appearance() if(TimerID) deltimer(TimerID) @@ -58,7 +58,7 @@ current_color = random_color() set_light(range, power, current_color) add_atom_colour("#[current_color]", FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() TimerID = addtimer(CALLBACK(src, .proc/DiscoFever), 5, TIMER_STOPPABLE) //Call ourselves every 0.5 seconds to change colors /obj/structure/etherealball/update_icon_state() diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 51bde023501c..b43d91f451d3 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -105,7 +105,7 @@ else if(W.tool_behaviour == TOOL_SCREWDRIVER && igniter && !lit) status = !status to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!") - update_icon() + update_appearance() return else if(isigniter(W)) @@ -117,7 +117,7 @@ if(!user.transferItemToLoc(W, src)) return igniter = I - update_icon() + update_appearance() return else if(istype(W, /obj/item/reagent_containers) && !(W.item_flags & ABSTRACT) && W.is_open_container()) @@ -130,7 +130,7 @@ if(!user.transferItemToLoc(W, src)) return beaker = W - update_icon() + update_appearance() return else @@ -145,7 +145,7 @@ user.put_in_hands(beaker) beaker = null to_chat(user, "You remove the fuel container from [src]!") - update_icon() + update_appearance() /obj/item/flamethrower/examine(mob/user) . = ..() @@ -171,7 +171,7 @@ playsound(loc, deac_sound, 50, TRUE) STOP_PROCESSING(SSobj,src) set_light_on(lit) - update_icon() + update_appearance() /obj/item/flamethrower/CheckParts(list/parts_list) ..() @@ -180,7 +180,7 @@ weldtool.status = FALSE igniter.secured = FALSE status = TRUE - update_icon() + update_appearance() #define REQUIRED_POWER_TO_FIRE_FLAMETHROWER 10 #define FLAMETHROWER_POWER_MULTIPLIER 0.5 @@ -269,7 +269,7 @@ if(create_with_tank) beaker = new /obj/item/reagent_containers/glass/beaker/large(src) beaker.reagents.add_reagent(/datum/reagent/fuel, beaker.reagents.maximum_volume) - update_icon() + update_appearance() /obj/item/flamethrower/full icon = 'icons/obj/guns/48x32guns.dmi' diff --git a/code/game/objects/items/grenades/discogrenade.dm b/code/game/objects/items/grenades/discogrenade.dm index 7791ecf1b177..181feff62147 100644 --- a/code/game/objects/items/grenades/discogrenade.dm +++ b/code/game/objects/items/grenades/discogrenade.dm @@ -83,7 +83,7 @@ lightcolor = random_color() set_light(range, power, lightcolor) add_atom_colour("#[lightcolor]", FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() timerID = addtimer(CALLBACK(src, .proc/randomiseLightColor), 2, TIMER_STOPPABLE) /obj/item/grenade/discogrenade/subgrenade/proc/forcedance(turf/target_turf , mob/living/carbon/human/target) diff --git a/code/game/objects/items/grenades/festive.dm b/code/game/objects/items/grenades/festive.dm index cedcb23dcca6..bffc31db28fd 100644 --- a/code/game/objects/items/grenades/festive.dm +++ b/code/game/objects/items/grenades/festive.dm @@ -35,7 +35,7 @@ damtype = "fire" START_PROCESSING(SSobj, src) playsound(src, 'sound/effects/fuse.ogg', 20, TRUE) - update_icon() + update_appearance() /obj/item/sparkler/process() burntime-- @@ -92,7 +92,7 @@ to_chat(user, "You shorten the fuse of [src] with [I].") playsound(src, 'sound/items/wirecutter.ogg', 20, TRUE) icon_state = initial(icon_state) + "_[det_time]" - update_icon() + update_appearance() else to_chat(user, "You've already removed all of the fuse!") diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 48d6e8b28d67..c600cb5174c1 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -126,9 +126,9 @@ cable_color = param_color || cable_color || pick(cable_colors) if(cable_colors[cable_color]) cable_color = cable_colors[cable_color] - update_icon() + update_appearance() -/obj/item/restraints/handcuffs/cable/update_icon() +/obj/item/restraints/handcuffs/cable/update_appearance() color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) */ @@ -241,7 +241,7 @@ /obj/item/restraints/legcuffs/beartrap/Initialize() . = ..() - update_icon() + update_appearance() var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = .proc/on_entered, @@ -262,12 +262,12 @@ if(!ishuman(user) || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return armed = !armed - update_icon() + update_appearance() to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]") /obj/item/restraints/legcuffs/beartrap/proc/close_trap() armed = FALSE - update_icon() + update_appearance() playsound(src, 'sound/effects/snap.ogg', 50, TRUE) /obj/item/restraints/legcuffs/beartrap/proc/on_entered(datum/source, AM as mob|obj) diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 7d7559b50598..915c7e36cc90 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -134,7 +134,7 @@ /obj/item/hot_potato/proc/activate(delay, mob/user) if(active) return - update_icon() + update_appearance() if(sticky) ADD_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT) name = "primed [name]" @@ -148,7 +148,7 @@ active = TRUE /obj/item/hot_potato/proc/deactivate() - update_icon() + update_appearance() name = initial(name) REMOVE_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT) deltimer(detonation_timerid) diff --git a/code/game/objects/items/hourglass.dm b/code/game/objects/items/hourglass.dm index aa4ba66601e0..acfe971b0337 100644 --- a/code/game/objects/items/hourglass.dm +++ b/code/game/objects/items/hourglass.dm @@ -52,7 +52,7 @@ countdown.stop() finish_time = null animate(src) - update_icon() + update_appearance() /obj/item/hourglass/proc/finish() visible_message("[src] stops.") diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 677e545553e3..23f7aec9b199 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -41,9 +41,9 @@ I.imp.forceMove(src) imp = I.imp I.imp = null - update_icon() + update_appearance() reagents = imp.reagents - I.update_icon() + I.update_appearance() else if(imp) if(I.imp) @@ -52,8 +52,8 @@ I.imp = imp imp = null reagents = null - update_icon() - I.update_icon() + update_appearance() + I.update_appearance() else return ..() @@ -62,7 +62,7 @@ . = ..() if(imp_type) imp = new imp_type(src) - update_icon() + update_appearance() reagents = imp.reagents diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index d51e1d942a95..e8122bd34263 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -24,7 +24,7 @@ /obj/machinery/implantchair/Initialize() . = ..() open_machine() - update_icon() + update_appearance() /obj/machinery/implantchair/ui_state(mob/user) return GLOB.notcontained_state @@ -83,7 +83,7 @@ addtimer(CALLBACK(src,.proc/set_ready),injection_cooldown) else playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, TRUE) - update_icon() + update_appearance() /obj/machinery/implantchair/proc/implant_action(mob/living/M) var/obj/item/I = new implant_type @@ -121,7 +121,7 @@ /obj/machinery/implantchair/proc/set_ready() ready = TRUE - update_icon() + update_appearance() /obj/machinery/implantchair/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index b6d6e730c1a4..5b8db550a87d 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -35,7 +35,7 @@ else M.visible_message("[user] implants [M].", "[user] implants you.") imp = null - update_icon() + update_appearance() else to_chat(user, "[src] fails to implant [M].") @@ -60,4 +60,4 @@ . = ..() if(imp_type) imp = new imp_type(src) - update_icon() + update_appearance() diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index 9867c08fbdc5..37667786262f 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -28,7 +28,7 @@ /obj/item/implantpad/handle_atom_del(atom/A) if(A == case) case = null - update_icon() + update_appearance() updateSelfDialog() . = ..() @@ -47,7 +47,7 @@ case = null updateSelfDialog() - update_icon() + update_appearance() /obj/item/implantpad/attackby(obj/item/implantcase/C, mob/user, params) if(istype(C, /obj/item/implantcase) && !case) @@ -55,7 +55,7 @@ return case = C updateSelfDialog() - update_icon() + update_appearance() else return ..() diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index 0aaf756c4b84..4f4a088f8a7c 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -22,8 +22,8 @@ var/totransfer = min(cell.charge,(powertransfer * coefficient)) var/transferred = target.give(totransfer) cell.use(transferred) - cell.update_icon() - target.update_icon() + cell.update_appearance() + target.update_appearance() /obj/item/inducer/get_cell() return cell @@ -66,12 +66,12 @@ if(!opened) to_chat(user, "You unscrew the battery compartment.") opened = TRUE - update_icon() + update_appearance() return else to_chat(user, "You close the battery compartment.") opened = FALSE - update_icon() + update_appearance() return if(istype(W, /obj/item/stock_parts/cell)) if(opened) @@ -80,7 +80,7 @@ return to_chat(user, "You insert [W] into [src].") cell = W - update_icon() + update_appearance() return else to_chat(user, "[src] already has \a [cell] installed!") @@ -122,7 +122,7 @@ induce(C, coefficient) do_sparks(1, FALSE, A) if(O) - O.update_icon() + O.update_appearance() else break if(done_any) // Only show a message if we succeeded at least once @@ -147,10 +147,10 @@ /obj/item/inducer/attack_self(mob/user) if(opened && cell) user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") - cell.update_icon() + cell.update_appearance() user.put_in_hands(cell) cell = null - update_icon() + update_appearance() /obj/item/inducer/examine(mob/living/M) @@ -178,7 +178,7 @@ /obj/item/inducer/sci/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/inducer/syndicate icon_state = "inducer-syndi" diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index b07b5ad63257..8af80f358652 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -579,14 +579,14 @@ held_sausage = target else to_chat(user, "[target] doesn't seem to want to get on [src]!") - update_icon() + update_appearance() /obj/item/melee/roastingstick/attack_hand(mob/user) ..() if (held_sausage) user.put_in_hands(held_sausage) held_sausage = null - update_icon() + update_appearance() /obj/item/melee/roastingstick/update_overlays() . = ..() @@ -608,7 +608,7 @@ /obj/item/melee/roastingstick/handle_atom_del(atom/target) if (target == held_sausage) held_sausage = null - update_icon() + update_appearance() /obj/item/melee/roastingstick/afterattack(atom/target, mob/user, proximity) . = ..() @@ -639,7 +639,7 @@ held_sausage.add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) held_sausage.name = "[target.name]-roasted [held_sausage.name]" held_sausage.desc = "[held_sausage.desc] It has been cooked to perfection on \a [target]." - update_icon() + update_appearance() /obj/item/melee/cleric_mace name = "cleric mace" @@ -825,7 +825,7 @@ playsound(user, dash_sound, 25, TRUE) user.visible_message("[user] swiftly draws \the [I].", "You draw \the [I].") user.put_in_hands(I) - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") @@ -839,13 +839,13 @@ playsound(user, 'sound/items/sheath.ogg', 25, TRUE) to_chat(user, "You return your stance.") primed = FALSE - update_icon() + update_appearance() else CP.locked = TRUE //Prevents normal removal of the blade while primed playsound(user, 'sound/items/unsheath.ogg', 25, TRUE) user.visible_message("[user] grips the blade within [src] and primes to attack.", "You take an opening stance...", "You hear a weapon being drawn...") primed = TRUE - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") @@ -861,7 +861,7 @@ var/datum/component/storage/CP = GetComponent(/datum/component/storage) CP.locked = FALSE primed = FALSE - update_icon() + update_appearance() primed_attack(A, user) if(CanReach(A, I)) I.melee_attack_chain(user, A, params) @@ -914,4 +914,4 @@ var/obj/item/melee/weebstick/sword = new /obj/item/melee/weebstick(src) sword.name = "[n_title] blade of clan [n_name]" name = "[n_title] scabbard of clan [n_name]" - update_icon() + update_appearance() diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index 5abda1a6ba56..3f8d0210442d 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -73,7 +73,7 @@ if(insertable) J.put_in_cart(src, user) J.mymop=src - J.update_icon() + J.update_appearance() else to_chat(user, "You are unable to fit your [name] into the [J.name].") return diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 2b908d321875..d9311f5e2b43 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -68,7 +68,7 @@ to_chat(user, "You open [src]'s door.") playsound(user, 'sound/effects/bin_open.ogg', 50, TRUE) open = TRUE - update_icon() + update_appearance() /obj/item/pet_carrier/AltClick(mob/living/user) if(open || !user.canUseTopic(src, BE_CLOSE)) @@ -79,7 +79,7 @@ playsound(user, 'sound/machines/boltsdown.ogg', 30, TRUE) else playsound(user, 'sound/machines/boltsup.ogg', 30, TRUE) - update_icon() + update_appearance() /obj/item/pet_carrier/attack(mob/living/target, mob/living/user) if(user.a_intent == INTENT_HARM) @@ -108,7 +108,7 @@ loc.visible_message("[user] pushes open the door to [src]!", \ "[user] pushes open the door of [src]!") open = TRUE - update_icon() + update_appearance() return else if(user.client) container_resist_act(user) @@ -125,7 +125,7 @@ to_chat(user, "Bingo! The lock pops open!") locked = FALSE playsound(src, 'sound/machines/boltsup.ogg', 30, TRUE) - update_icon() + update_appearance() else loc.visible_message("[src] starts rattling as something pushes against the door!", null, null, null, user) to_chat(user, "You start pushing out of [src]... (This will take about 20 seconds.)") @@ -135,7 +135,7 @@ to_chat(user, "You shove open [src]'s door against the lock's resistance and fall out!") locked = FALSE open = TRUE - update_icon() + update_appearance() remove_occupant(user) /obj/item/pet_carrier/update_icon_state() diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index b886e8d81ed0..12f91f99fb8c 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -47,14 +47,14 @@ else target = null STOP_PROCESSING(SSfastprocess, src) - update_icon() + update_appearance() /obj/item/pinpointer/process() if(!active) return PROCESS_KILL if(process_scan) scan_for_target() - update_icon() + update_appearance() /obj/item/pinpointer/proc/scan_for_target() return diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index d49bf239d890..060e59f0f5de 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -229,7 +229,7 @@ loadedWeightClass-- else if (A == tank) tank = null - update_icon() + update_appearance() /obj/item/pneumatic_cannon/ghetto //Obtainable by improvised methods; more gas per use, less capacity name = "improvised pneumatic cannon" @@ -254,7 +254,7 @@ return to_chat(user, "You hook \the [thetank] up to \the [src].") tank = thetank - update_icon() + update_appearance() /obj/item/pneumatic_cannon/update_overlays() . = ..() diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index b6bbb91e815a..47a4120061b4 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -163,7 +163,7 @@ else mode = "draw" to_chat(user, "You toggle [src] to \"[mode]\" mode.") - update_icon() + update_appearance() /obj/item/borg/charger/afterattack(obj/item/target, mob/living/silicon/robot/user, proximity_flag) . = ..() @@ -226,7 +226,7 @@ break if(!user.cell.give(draw)) break - target.update_icon() + target.update_appearance() to_chat(user, "You stop charging yourself.") @@ -264,7 +264,7 @@ break if(!cell.give(draw)) break - target.update_icon() + target.update_appearance() to_chat(user, "You stop charging [target].") @@ -590,7 +590,7 @@ to_chat(user, "[src]'s safety cutoff prevents you from activating it due to living beings being ontop of you!") else deactivate_field() - update_icon() + update_appearance() to_chat(user, "You [active? "activate":"deactivate"] [src].") /obj/item/borg/projectile_dampen/update_icon_state() @@ -773,7 +773,7 @@ if(A == stored) //sanity check UnregisterSignal(stored, COMSIG_ATOM_UPDATE_ICON) stored = null - update_icon() + update_appearance() . = ..() ///A right-click verb, for those not using hotkey mode. @@ -839,7 +839,7 @@ . = ..() stored = new /obj/item/reagent_containers/glass/beaker/large(src) RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) - update_icon() + update_appearance() /obj/item/borg/apparatus/beaker/Destroy() if(stored) @@ -899,7 +899,7 @@ . = ..() stored = new /obj/item/reagent_containers/food/drinks/drinkingglass(src) RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) - update_icon() + update_appearance() //////////////////// //engi part holder// @@ -914,7 +914,7 @@ /obj/item/borg/apparatus/circuit/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/borg/apparatus/circuit/update_overlays() . = ..() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index de37c06316a9..3194c1302512 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -34,7 +34,7 @@ /obj/item/robot_suit/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/robot_suit/prebuilt/Initialize() . = ..() @@ -48,7 +48,7 @@ chest = new(src) chest.wired = TRUE chest.cell = new /obj/item/stock_parts/cell/high/plus(chest) - update_icon() + update_appearance() /obj/item/robot_suit/update_overlays() . = ..() @@ -108,7 +108,7 @@ to_chat(user, "You disassemble the cyborg shell.") else to_chat(user, "There is nothing to remove from the endoskeleton!") - update_icon() + update_appearance() /obj/item/robot_suit/proc/put_in_hand_or_drop(mob/living/user, obj/item/I) //normal put_in_hands() drops the item ontop of the player, this drops it at the suit's loc if(!user.put_in_hands(I)) @@ -172,7 +172,7 @@ W.icon_state = initial(W.icon_state) W.cut_overlays() l_leg = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/leg/right/robot)) if(src.r_leg) @@ -182,7 +182,7 @@ W.icon_state = initial(W.icon_state) W.cut_overlays() r_leg = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/l_arm/robot)) if(l_arm) @@ -192,7 +192,7 @@ W.icon_state = initial(W.icon_state) W.cut_overlays() l_arm = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/r_arm/robot)) if(r_arm) @@ -202,7 +202,7 @@ W.icon_state = initial(W.icon_state)//in case it is a dismembered robotic limb W.cut_overlays() r_arm = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/chest/robot)) var/obj/item/bodypart/chest/robot/CH = W @@ -214,7 +214,7 @@ CH.icon_state = initial(CH.icon_state) //in case it is a dismembered robotic limb CH.cut_overlays() chest = CH - update_icon() + update_appearance() else if(!CH.wired) to_chat(user, "You need to attach wires to it first!") else @@ -234,7 +234,7 @@ HD.icon_state = initial(HD.icon_state)//in case it is a dismembered robotic limb HD.cut_overlays() head = HD - update_icon() + update_appearance() else to_chat(user, "You need to attach a flash to it first!") diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 68135fc8abdb..e87691b651a9 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -321,12 +321,12 @@ /obj/item/borg/upgrade/selfrepair/proc/activate_sr() START_PROCESSING(SSobj, src) on = TRUE - update_icon() + update_appearance() /obj/item/borg/upgrade/selfrepair/proc/deactivate_sr() STOP_PROCESSING(SSobj, src) on = FALSE - update_icon() + update_appearance() /obj/item/borg/upgrade/selfrepair/process() if(!repair_tick) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 779e5729179b..2809189ea395 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -136,17 +136,17 @@ /obj/item/shield/riot/flash/attack(mob/living/M, mob/user) . = embedded_flash.attack(M, user) - update_icon() + update_appearance() /obj/item/shield/riot/flash/attack_self(mob/living/carbon/user) . = embedded_flash.attack_self(user) - update_icon() + update_appearance() /obj/item/shield/riot/flash/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) . = ..() if (. && !embedded_flash.burnt_out) embedded_flash.activate() - update_icon() + update_appearance() /obj/item/shield/riot/flash/attackby(obj/item/W, mob/user) @@ -164,14 +164,14 @@ qdel(embedded_flash) embedded_flash = flash flash.forceMove(src) - update_icon() + update_appearance() return ..() /obj/item/shield/riot/flash/emp_act(severity) . = ..() embedded_flash.emp_act(severity) - update_icon() + update_appearance() /obj/item/shield/riot/flash/update_icon_state() if(!embedded_flash || embedded_flash.burnt_out) diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index dce7af9814cc..94fe739882a9 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -42,7 +42,7 @@ throwforce = 21 icon_prefix = "spearplasma" AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]1") - update_icon() + update_appearance() qdel(tip) ..() diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 3d29da752373..ec4cc5953ce2 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -278,7 +278,7 @@ . = ..() if(amount == max_amount) //only seal full mesh packs is_open = FALSE - update_icon() + update_appearance() /obj/item/stack/medical/mesh/update_icon_state() if(is_open) @@ -317,7 +317,7 @@ if(!is_open) is_open = TRUE to_chat(user, "You open the sterile mesh package.") - update_icon() + update_appearance() playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) return . = ..() diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index cb476daa8403..e1ed86bf3a01 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -36,7 +36,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/Initialize(mapload, new_amount, merge = TRUE) . = ..() - update_icon() + update_appearance() /obj/item/stack/rods/get_main_recipes() . = ..() diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 38b0a260e4e3..ec750eb66aca 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -72,7 +72,7 @@ var/list/temp = SSmaterials.rigid_stack_recipes.Copy() recipes += temp update_weight() - update_icon() + update_appearance() var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = .proc/on_movable_entered_occupied_turf, @@ -334,7 +334,7 @@ return TRUE for(var/i in mats_per_unit) custom_materials[i] = amount * mats_per_unit[i] - update_icon() + update_appearance() update_weight() return TRUE @@ -376,7 +376,7 @@ for(var/i in mats_per_unit) custom_materials[i] = mats_per_unit[i] * src.amount set_custom_materials() //Refresh - update_icon() + update_appearance() update_weight() /** Checks whether this stack can merge itself into another stack. diff --git a/code/game/objects/items/stacks/tickets.dm b/code/game/objects/items/stacks/tickets.dm index f4958f96d676..477b349f4b16 100644 --- a/code/game/objects/items/stacks/tickets.dm +++ b/code/game/objects/items/stacks/tickets.dm @@ -9,7 +9,7 @@ /obj/item/stack/arcadeticket/Initialize(mapload, new_amount, merge = TRUE) . = ..() - update_icon() + update_appearance() /obj/item/stack/arcadeticket/update_icon_state() . = ..() diff --git a/code/game/objects/items/stacks/tiles/tile_reskinning.dm b/code/game/objects/items/stacks/tiles/tile_reskinning.dm index 2af074e8ff5f..92a68ed15b79 100644 --- a/code/game/objects/items/stacks/tiles/tile_reskinning.dm +++ b/code/game/objects/items/stacks/tiles/tile_reskinning.dm @@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(tile_reskin_lists) icon_state = initial(choice.icon_state) turf_type = initial(choice.turf_type) merge_type = initial(choice.merge_type) - update_icon() + update_appearance() return choice = new choice(user.drop_location(), amount) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index a20ecfba67ea..d18b8b91d32d 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -74,7 +74,7 @@ if(insertable) J.put_in_cart(src, user) J.mybag=src - J.update_icon() + J.update_appearance() else to_chat(user, "You are unable to fit your [name] into the [J.name].") return @@ -350,7 +350,7 @@ if(ishuman(M) || ismonkey(M)) if(prob(10)) M.Paralyze(40) - update_icon() + update_appearance() /obj/item/storage/bag/tray/proc/do_scatter(obj/item/I) for(var/i in 1 to rand(1,2)) @@ -368,11 +368,11 @@ /obj/item/storage/bag/tray/Entered() . = ..() - update_icon() + update_appearance() /obj/item/storage/bag/tray/Exited() . = ..() - update_icon() + update_appearance() /obj/item/storage/bag/tray/cafeteria name = "cafeteria tray" diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 84c8859cfe7c..d7ccc53d760b 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -29,7 +29,7 @@ /obj/item/storage/belt/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/storage/belt/utility name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing. @@ -230,7 +230,7 @@ new /obj/item/reagent_containers/syringe(src) new /obj/item/reagent_containers/glass/bottle/epinephrine(src) new /obj/item/reagent_containers/glass/bottle/formaldehyde(src) - update_icon() + update_appearance() /obj/item/storage/belt/medical/webbing/paramedic/PopulateContents() new /obj/item/sensor_device(src) @@ -239,7 +239,7 @@ new /obj/item/reagent_containers/syringe(src) new /obj/item/reagent_containers/glass/bottle/epinephrine(src) new /obj/item/reagent_containers/glass/bottle/formaldehyde(src) - update_icon() + update_appearance() /obj/item/storage/belt/medical/surgery/PopulateContents() new /obj/item/scalpel(src) @@ -249,7 +249,7 @@ new /obj/item/cautery(src) new /obj/item/hemostat(src) new /obj/item/hypospray/mkii(src) - update_icon() + update_appearance() /obj/item/storage/belt/security name = "security belt" @@ -291,7 +291,7 @@ new /obj/item/grenade/flashbang(src) new /obj/item/assembly/flash/handheld(src) new /obj/item/melee/baton/loaded(src) - update_icon() + update_appearance() /obj/item/storage/belt/security/webbing name = "security webbing" @@ -777,7 +777,7 @@ var/obj/item/I = contents[1] user.visible_message("[user] takes [I] out of [src].", "You take [I] out of [src].") user.put_in_hands(I) - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") @@ -791,7 +791,7 @@ /obj/item/storage/belt/sabre/PopulateContents() new /obj/item/melee/sabre(src) - update_icon() + update_appearance() /obj/item/storage/belt/sabre/solgov name = "solarian sabre sheath" @@ -814,7 +814,7 @@ /obj/item/storage/belt/sabre/solgov/PopulateContents() new /obj/item/melee/sabre/solgov(src) - update_icon() + update_appearance() /obj/item/storage/belt/security/webbing/inteq name = "inteq webbing" diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 4a4cba38317b..6275ab05050d 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -36,7 +36,7 @@ /obj/item/storage/box/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/item/storage/box/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 7d3c5fa6e74e..2aefd383342e 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -51,12 +51,12 @@ /obj/item/storage/fancy/Exited() . = ..() is_open = TRUE - update_icon() + update_appearance() /obj/item/storage/fancy/Entered() . = ..() is_open = TRUE - update_icon() + update_appearance() #define DONUT_INBOX_SPRITE_WIDTH 3 @@ -83,7 +83,7 @@ /obj/item/storage/fancy/donut_box/PopulateContents() . = ..() - update_icon() + update_appearance() /obj/item/storage/fancy/donut_box/update_icon_state() . = ..() diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index 10f6ec682178..6d6690106b4d 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -62,12 +62,12 @@ /obj/item/storage/lockbox/Entered() . = ..() open = TRUE - update_icon() + update_appearance() /obj/item/storage/lockbox/Exited() . = ..() open = TRUE - update_icon() + update_appearance() /obj/item/storage/lockbox/loyalty name = "lockbox of mindshield implants" @@ -113,7 +113,7 @@ if(user.canUseTopic(src, BE_CLOSE)) if(!SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) open = (open ? FALSE : TRUE) - update_icon() + update_appearance() ..() /obj/item/storage/lockbox/medal/PopulateContents() diff --git a/code/game/objects/items/storage/sixpack.dm b/code/game/objects/items/storage/sixpack.dm index aded143b5878..52eb86267800 100644 --- a/code/game/objects/items/storage/sixpack.dm +++ b/code/game/objects/items/storage/sixpack.dm @@ -19,7 +19,7 @@ /obj/item/storage/cans/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/storage/cans/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 57e52e8387c4..93cabe588694 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -27,7 +27,7 @@ latches = "double_latch" if(prob(1)) latches = "triple_latch" - update_icon() + update_appearance() /obj/item/storage/toolbox/ComponentInitialize() . = ..() @@ -340,7 +340,7 @@ if(/obj/item/storage/toolbox/syndicate) B.toolbox_color = "s" user.put_in_hands(B) - B.update_icon() + B.update_appearance() to_chat(user, "You add the tiles into the empty [name]. They protrude from the top.") qdel(src) else diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 7552ec200417..91f47f56cdd5 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -56,7 +56,7 @@ var/mob/living/carbon/human/H = loc if(H.wear_id == src) H.sec_hud_set_ID() - update_icon() + update_appearance() update_label() /obj/item/storage/wallet/Entered(atom/movable/AM) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index a7b96a9f105d..f7978ad3468e 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -55,7 +55,7 @@ log_mapping("[src] at [AREACOORD(src)] had an invalid preload_cell_type: [preload_cell_type].") else cell = new preload_cell_type(src) - update_icon() + update_appearance() RegisterSignal(src, COMSIG_PARENT_ATTACKBY, .proc/convert) @@ -82,7 +82,7 @@ if(A == cell) cell = null turned_on = FALSE - update_icon() + update_appearance() return ..() /obj/item/melee/baton/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) @@ -102,7 +102,7 @@ if(turned_on && cell.charge < cell_hit_cost) //we're below minimum, turn off turned_on = FALSE - update_icon() + update_appearance() playsound(src, activate_sound, 75, TRUE, -1) @@ -136,7 +136,7 @@ return cell = W to_chat(user, "You install a cell in [src].") - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_SCREWDRIVER) tryremovecell(user) @@ -145,12 +145,12 @@ /obj/item/melee/baton/proc/tryremovecell(mob/user) if(cell && can_remove_cell) - cell.update_icon() + cell.update_appearance() cell.forceMove(get_turf(src)) cell = null to_chat(user, "You remove the cell from [src].") turned_on = FALSE - update_icon() + update_appearance() /obj/item/melee/baton/attack_self(mob/user) toggle_on(user) @@ -166,7 +166,7 @@ to_chat(user, "[src] does not have a power source!") else to_chat(user, "[src] is out of charge.") - update_icon() + update_appearance() add_fingerprint(user) /obj/item/melee/baton/proc/clumsy_check(mob/living/carbon/human/user) diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 6b27a51f58ac..0f4f5adee562 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -420,7 +420,7 @@ var/used_amount = injection_amount/usage_ratio reagents.trans_to(user,used_amount,multiplier=usage_ratio, method = INJECT) - update_icon() + update_appearance() user.update_inv_back() //for overlays update //Operator backpack spray diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 9947919ce469..fecbe6199eca 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -138,7 +138,7 @@ return FALSE forceMove(tongs) tongs.sliver = src - tongs.update_icon() + tongs.update_appearance() to_chat(user, "You carefully pick up [src] with [tongs].") else if(istype(W, /obj/item/scalpel/supermatter) || istype(W, /obj/item/nuke_core_container/supermatter/)) // we don't want it to dust return @@ -243,7 +243,7 @@ sliver.forceMove(loc) visible_message("\The [sliver] falls out of \the [src] as it hits the ground.") sliver = null - update_icon() + update_appearance() ..() /obj/item/hemostat/supermatter/proc/Consume(atom/movable/AM, mob/user) @@ -263,4 +263,4 @@ radiation_pulse(src, 500, 2) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) QDEL_NULL(sliver) - update_icon() + update_appearance() diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index dc47ace2d2ce..93df2b4793e3 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -44,7 +44,7 @@ icon_state = "screwdriver" var/our_color = pick(screwdriver_colors) add_atom_colour(screwdriver_colors[our_color], FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() if(prob(75)) pixel_y = rand(0, 16) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 18b20cd04683..ed3921ce9ad3 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -48,7 +48,7 @@ create_reagents(max_fuel) if(start_full) reagents.add_reagent(/datum/reagent/fuel, max_fuel) - update_icon() + update_appearance() /obj/item/weldingtool/ComponentInitialize() . = ..() @@ -77,7 +77,7 @@ if(0) force = 3 damtype = "brute" - update_icon() + update_appearance() if(!can_off_process) STOP_PROCESSING(SSobj, src) return @@ -88,7 +88,7 @@ ++burned_fuel_for if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) use(1) - update_icon() + update_appearance() //This is to start fires. process() is only called if the welder is on. open_flame() @@ -106,7 +106,7 @@ flamethrower_rods(I, user) else . = ..() - update_icon() + update_appearance() /obj/item/weldingtool/proc/explode() var/turf/T = get_turf(loc) @@ -151,7 +151,7 @@ if(!status && O.is_refillable()) reagents.trans_to(O, reagents.total_volume, transfered_by = user) to_chat(user, "You empty [src]'s fuel tank into [O].") - update_icon() + update_appearance() /obj/item/weldingtool/attack_qdeleted(atom/O, mob/user, proximity) . = ..() @@ -174,7 +174,7 @@ explode() switched_on(user) - update_icon() + update_appearance() // Ah fuck, I can't believe you've done this @@ -217,7 +217,7 @@ if(get_fuel() <= 0 && welding) set_light_on(FALSE) switched_on(user) - update_icon() + update_appearance() return 0 return 1 @@ -234,7 +234,7 @@ force = 15 damtype = "fire" hitsound = 'sound/items/welder.ogg' - update_icon() + update_appearance() START_PROCESSING(SSobj, src) else to_chat(user, "You need more fuel!") @@ -251,7 +251,7 @@ force = 3 damtype = "brute" hitsound = "swing_hit" - update_icon() + update_appearance() /obj/item/weldingtool/examine(mob/user) diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 246d6b31855d..f6627f0d2137 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -40,7 +40,7 @@ icon_state = "cutters" var/our_color = pick(wirecutter_colors) add_atom_colour(wirecutter_colors[our_color], FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() /obj/item/wirecutters/update_overlays() . = ..() diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 95713e6d6eba..808a13a3e168 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -111,7 +111,7 @@ hitsound = 'sound/weapons/blade1.ogg' playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) to_chat(user, "[src] is now active. Woe onto your enemies!") - update_icon() + update_appearance() /obj/item/wrench/combat/update_icon_state() if(on) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index d70994554b16..caa2b8fc293b 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -68,7 +68,7 @@ A.reagents.trans_to(src, 10, transfered_by = user) to_chat(user, "You fill the balloon with the contents of [A].") desc = "A translucent balloon with some form of liquid sloshing around in it." - update_icon() + update_appearance() /obj/item/toy/waterballoon/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/glass)) @@ -81,7 +81,7 @@ desc = "A translucent balloon with some form of liquid sloshing around in it." to_chat(user, "You fill the balloon with the contents of [I].") I.reagents.trans_to(src, 10, transfered_by = user) - update_icon() + update_appearance() else if(I.get_sharpness()) balloon_burst() else @@ -262,7 +262,7 @@ to_chat(user, text("You reload [] cap\s.", 7 - src.bullets)) A.amount_left -= 7 - src.bullets src.bullets = 7 - A.update_icon() + A.update_appearance() return 1 else return ..() @@ -709,7 +709,7 @@ H.pickup(user) user.put_in_hands(H) user.visible_message("[user] draws a card from the deck.", "You draw a card from the deck.") - update_icon() + update_appearance() return H /obj/item/toy/cards/deck/update_icon_state() @@ -743,7 +743,7 @@ qdel(SC) else to_chat(user, "You can't mix cards from other decks!") - update_icon() + update_appearance() else if(istype(I, /obj/item/toy/cards/cardhand)) var/obj/item/toy/cards/cardhand/CH = I if(CH.parentdeck == src) @@ -755,7 +755,7 @@ qdel(CH) else to_chat(user, "You can't mix cards from other decks!") - update_icon() + update_appearance() else return ..() diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index ef538159b018..61acce5c9d0a 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -175,7 +175,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(!acid_level) SSacid.processing[src] = src - update_icon() + update_appearance() var/acid_cap = acidpwr * 300 //so we cannot use huge amounts of weak acids to do as well as strong acids. if(acid_level < acid_cap) acid_level = min(acid_level + acidpwr * acid_volume, acid_cap) @@ -211,7 +211,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE) && !(resistance_flags & FIRE_PROOF)) resistance_flags |= ON_FIRE SSfire_burning.processing[src] = src - update_icon() + update_appearance() return 1 return ..() @@ -225,7 +225,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/proc/extinguish() if(resistance_flags & ON_FIRE) resistance_flags &= ~ON_FIRE - update_icon() + update_appearance() SSfire_burning.processing -= src ///Called when the obj is hit by a tesla bolt. diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 0f5a69e30c07..563e48e27f49 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -22,7 +22,7 @@ circuit = null if((state != GLASS_CORE) && (state != AI_READY_CORE)) state = EMPTY_CORE - update_icon() + update_appearance() if(A == brain) brain = null . = ..() @@ -112,7 +112,7 @@ return playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) to_chat(user, "You place the circuit board inside the frame.") - update_icon() + update_appearance() state = CIRCUIT_CORE circuit = P return @@ -121,13 +121,13 @@ P.play_tool_sound(src) to_chat(user, "You screw the circuit board into place.") state = SCREWED_CORE - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) to_chat(user, "You remove the circuit board.") state = EMPTY_CORE - update_icon() + update_appearance() circuit.forceMove(loc) circuit = null return @@ -136,7 +136,7 @@ P.play_tool_sound(src) to_chat(user, "You unfasten the circuit board.") state = CIRCUIT_CORE - update_icon() + update_appearance() return if(istype(P, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = P @@ -146,7 +146,7 @@ if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5)) to_chat(user, "You add cables to the frame.") state = CABLED_CORE - update_icon() + update_appearance() else to_chat(user, "You need five lengths of cable to wire the AI core!") return @@ -158,7 +158,7 @@ P.play_tool_sound(src) to_chat(user, "You remove the cables.") state = SCREWED_CORE - update_icon() + update_appearance() new /obj/item/stack/cable_coil(drop_location(), 5) return @@ -170,7 +170,7 @@ if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2)) to_chat(user, "You put in the glass panel.") state = GLASS_CORE - update_icon() + update_appearance() else to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!") return @@ -198,7 +198,7 @@ brain = M to_chat(user, "You add [M.name] to the frame.") - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR && brain) @@ -206,7 +206,7 @@ to_chat(user, "You remove the brain.") brain.forceMove(loc) brain = null - update_icon() + update_appearance() return if(GLASS_CORE) @@ -214,7 +214,7 @@ P.play_tool_sound(src) to_chat(user, "You remove the glass panel.") state = CABLED_CORE - update_icon() + update_appearance() new /obj/item/stack/sheet/rglass(loc, 2) return @@ -239,7 +239,7 @@ qdel(src) else state = AI_READY_CORE - update_icon() + update_appearance() return if(AI_READY_CORE) @@ -251,7 +251,7 @@ P.play_tool_sound(src) to_chat(user, "You disconnect the monitor.") state = GLASS_CORE - update_icon() + update_appearance() return return ..() diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 56b8aedcad48..03cff6da3f82 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -117,7 +117,7 @@ var/y = text2num(params["y"]) grid[x][y] = color used = TRUE - update_icon() + update_appearance() . = TRUE if("finalize") . = TRUE @@ -155,7 +155,7 @@ CRASH("Error generating painting png : [result]") generated_icon = new(png_filename) icon_generated = TRUE - update_icon() + update_appearance() /obj/item/canvas/proc/get_data_string() var/list/data = list() @@ -276,7 +276,7 @@ C.forceMove(drop_location()) C = null to_chat(user, "You remove the painting from the frame.") - update_icon() + update_appearance() return TRUE /obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas) @@ -285,7 +285,7 @@ if(!C.finalized) C.finalize(user) to_chat(user,"You frame [C].") - update_icon() + update_appearance() /obj/structure/sign/painting/proc/try_rename(mob/user) if(!C.painting_name) @@ -339,7 +339,7 @@ new_canvas.painting_name = title new_canvas.author_ckey = author C = new_canvas - update_icon() + update_appearance() /obj/structure/sign/painting/proc/save_persistent() if(!persistence_id || !C) diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 15f7684f2169..fb72e3b1d18e 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -439,7 +439,7 @@ LINEN BINS /obj/structure/bedsheetbin/fire_act(exposed_temperature, exposed_volume) if(amount) amount = 0 - update_icon() + update_appearance() ..() /obj/structure/bedsheetbin/attackby(obj/item/I, mob/user, params) @@ -449,7 +449,7 @@ LINEN BINS sheets.Add(I) amount++ to_chat(user, "You put [I] in [src].") - update_icon() + update_appearance() else if(default_unfasten_wrench(user, I, 5)) return @@ -498,7 +498,7 @@ LINEN BINS B.forceMove(drop_location()) user.put_in_hands(B) to_chat(user, "You take [B] out of [src].") - update_icon() + update_appearance() if(hidden) hidden.forceMove(drop_location()) @@ -521,7 +521,7 @@ LINEN BINS B.forceMove(drop_location()) to_chat(user, "You telekinetically remove [B] from [src].") - update_icon() + update_appearance() if(hidden) hidden.forceMove(drop_location()) diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index c115e1161c76..36b764590609 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -20,7 +20,7 @@ /obj/structure/catwalk/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/catwalk/over layer = CATWALK_LAYER //over pipes, duh @@ -38,7 +38,7 @@ plated_tile = /obj/item/stack/tile/plasteel/white icon_state = "catwalk_platedwhite" -/obj/structure/catwalk/update_icon() +/obj/structure/catwalk/update_appearance() ..() cut_overlays() icon_state = hatch_open ? "open" : "catwalk" @@ -69,7 +69,7 @@ else playsound(src, 'sound/items/Deconstruct.ogg', 100, 2) to_chat(user, "You shut \the [src]'s maintenance hatch.") - update_icon() + update_appearance() return if(istype(C, /obj/item/stack/tile) && !plated_tile) var/obj/item/stack/tile/plasteel/ST = C @@ -80,7 +80,7 @@ src.add_fingerprint(user) if(ST.use(1)) plated_tile = ST.type - update_icon() + update_appearance() return return ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 612992c84c7c..137af446fa15 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -45,7 +45,7 @@ if(mapload && !opened) // if closed, any item at the crate's loc is put in the contents addtimer(CALLBACK(src, .proc/take_contents), 0) . = ..() - update_icon() + update_appearance() if(populate) PopulateContents() @@ -169,7 +169,7 @@ density = FALSE climb_time *= 0.5 //it's faster to climb onto an open thing dump_contents() - update_icon() + update_appearance() return TRUE /obj/structure/closet/proc/insert(atom/movable/AM) @@ -221,7 +221,7 @@ climb_time = initial(climb_time) opened = FALSE density = TRUE - update_icon() + update_appearance() return TRUE /obj/structure/closet/proc/toggle(mob/living/user) @@ -284,7 +284,7 @@ user.visible_message("[user] [welded ? "welds shut" : "unwelded"] \the [src].", "You [welded ? "weld" : "unwelded"] \the [src] with \the [W].", "You hear welding.") - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_WRENCH && anchorable) if(isinspace() && !anchored) return @@ -461,7 +461,7 @@ locked = !locked user.visible_message("[user] [locked ? null : "un"]locks [src].", "You [locked ? null : "un"]lock [src].") - update_icon() + update_appearance() else if(!silent) to_chat(user, "Access Denied.") else if(secure && broken) @@ -476,7 +476,7 @@ playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) broken = TRUE locked = FALSE - update_icon() + update_appearance() /obj/structure/closet/get_remote_view_fullscreens(mob/user) if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) @@ -492,7 +492,7 @@ if(secure && !broken && !(. & EMP_PROTECT_SELF)) if(prob(50 / severity)) locked = !locked - update_icon() + update_appearance() if(prob(20 / severity) && !opened) if(!locked) open() diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 1ffe0f0a5b23..23e3bde31173 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -39,7 +39,7 @@ if(t) name = "body bag - [t]" tagged = 1 - update_icon() + update_appearance() else name = "body bag" return @@ -47,7 +47,7 @@ to_chat(user, "You cut the tag off [src].") name = "body bag" tagged = 0 - update_icon() + update_appearance() /obj/structure/closet/body_bag/update_overlays() . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 4e003189da7c..e221117f74a9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -48,7 +48,7 @@ if(allowed(user) || !registered_name || (istype(I) && (registered_name == I.registered_name))) //they can open all lockers, or nobody owns this, or they own this locker locked = !locked - update_icon() + update_appearance() if(!registered_name) registered_name = I.registered_name diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 365d618131a4..252aff8d4d5a 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -23,7 +23,7 @@ . = ..() if(icon_state == "[initial(icon_state)]open") opened = TRUE - update_icon() + update_appearance() /obj/structure/closet/crate/CanAllowThrough(atom/movable/mover, turf/target) . = ..() @@ -58,7 +58,7 @@ playsound(src, 'sound/items/poster_ripped.ogg', 75, TRUE) manifest.forceMove(get_turf(src)) manifest = null - update_icon() + update_appearance() /obj/structure/closet/crate/proc/tear_manifest(mob/user) to_chat(user, "You tear the manifest off of [src].") @@ -68,7 +68,7 @@ if(ishuman(user)) user.put_in_hands(manifest) manifest = null - update_icon() + update_appearance() /obj/structure/closet/crate/coffin name = "coffin" diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm index 8e0f91d56b9d..26335320c2b3 100644 --- a/code/game/objects/structures/crates_lockers/crates/bins.dm +++ b/code/game/objects/structures/crates_lockers/crates/bins.dm @@ -10,7 +10,7 @@ /obj/structure/closet/crate/bin/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/closet/crate/bin/update_overlays() . = ..() @@ -28,7 +28,7 @@ to_chat(user, "You fill the bag.") for(var/obj/item/O in src) SEND_SIGNAL(T, COMSIG_TRY_STORAGE_INSERT, O, user, TRUE) - T.update_icon() + T.update_appearance() do_animate() return TRUE else @@ -41,4 +41,4 @@ /obj/structure/closet/crate/bin/proc/do_close() playsound(loc, close_sound, 15, TRUE, -3) - update_icon() + update_appearance() diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 254ed51c4c43..63d9b6552c16 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -93,7 +93,7 @@ user.visible_message("[user] unlocks [src]'s privacy lock.", "You unlock [src]'s privacy lock.") privacy_lock = FALSE - update_icon() + update_appearance() else if(!silent) to_chat(user, "Bank account does not match with buyer!") else if(!silent) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index ff083b199a76..4431bd1307c2 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -30,7 +30,7 @@ trophy_message = showpiece_entry["trophy_message"] if(start_showpiece_type) showpiece = new start_showpiece_type (src) - update_icon() + update_appearance() /obj/structure/displaycase/Destroy() if(electronics) @@ -75,7 +75,7 @@ broken = 1 new /obj/item/shard(src.loc) playsound(src, "shatter", 70, TRUE) - update_icon() + update_appearance() trigger_alarm() /obj/structure/displaycase/proc/trigger_alarm() @@ -85,7 +85,7 @@ alarmed.burglaralert(src) playsound(src, 'sound/effects/alert.ogg', 50, TRUE) -/obj/structure/displaycase/update_icon() +/obj/structure/displaycase/update_appearance() var/icon/I if(open) I = icon('icons/obj/stationobjs.dmi',"glassbox_open") @@ -115,7 +115,7 @@ to_chat(user, "You begin repairing [src]...") if(W.use_tool(src, user, 40, amount=5, volume=50)) obj_integrity = max_integrity - update_icon() + update_appearance() to_chat(user, "You repair [src].") else to_chat(user, "[src] is already in good condition!") @@ -139,7 +139,7 @@ if(user.transferItemToLoc(W, src)) showpiece = W to_chat(user, "You put [W] on display.") - update_icon() + update_appearance() else if(glass_fix && broken && istype(W, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = W if(G.get_amount() < 2) @@ -150,13 +150,13 @@ G.use(2) broken = 0 obj_integrity = max_integrity - update_icon() + update_appearance() else return ..() /obj/structure/displaycase/proc/toggle_lock(mob/user) open = !open - update_icon() + update_appearance() /obj/structure/displaycase/attack_paw(mob/user) return attack_hand(user) @@ -171,7 +171,7 @@ log_combat(user, src, "deactivates the hover field of") dump() src.add_fingerprint(user) - update_icon() + update_appearance() return else //prevents remote "kicks" with TK @@ -318,7 +318,7 @@ to_chat(user, "You insert [W] into the case.") showpiece = W added_roundstart = FALSE - update_icon() + update_appearance() placer_key = user.ckey @@ -381,7 +381,7 @@ ///We're using the same trick as paper does in order to cache the image, and only load the UI when messed with. var/list/viewing_ui = list() -/obj/structure/displaycase/forsale/update_icon() //remind me to fix my shitcode later +/obj/structure/displaycase/forsale/update_appearance() //remind me to fix my shitcode later var/icon/I if(open) I = icon('icons/obj/stationobjs.dmi',"laserboxb0") @@ -459,7 +459,7 @@ icon = 'icons/obj/stationobjs.dmi' flick("laserbox_vend", src) showpiece = null - update_icon() + update_appearance() SStgui.update_uis(src) return TRUE if("Open") @@ -525,7 +525,7 @@ if(do_after(user, 20, target = src)) broken = 0 obj_integrity = max_integrity - update_icon() + update_appearance() return TRUE /obj/structure/displaycase/forsale/wrench_act(mob/living/user, obj/item/I) @@ -565,7 +565,7 @@ if(!broken && !(flags_1 & NODECONSTRUCT_1)) broken = TRUE playsound(src, "shatter", 70, TRUE) - update_icon() + update_appearance() trigger_alarm() //In case it's given an alarm anyway. /obj/structure/displaycase/forsale/kitchen diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm index cf1ebfee616e..f5e50fc57d06 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -40,7 +40,7 @@ last_process = world.time to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20) - update_icon() + update_appearance() addtimer(CALLBACK(src, /atom/.proc/update_appearance), time_between_uses) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 5845c44c6fe5..4246075e49f6 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -22,7 +22,7 @@ /obj/structure/door_assembly/Initialize() . = ..() - update_icon() + update_appearance() update_name() /obj/structure/door_assembly/examine(mob/user) @@ -271,12 +271,12 @@ door.name = base_name door.previous_airlock = previous_assembly electronics.forceMove(door) - door.update_icon() + door.update_appearance() qdel(src) else return ..() update_name() - update_icon() + update_appearance() /obj/structure/door_assembly/update_overlays() . = ..() @@ -310,7 +310,7 @@ if(electronics) target.electronics = source.electronics source.electronics.forceMove(target) - target.update_icon() + target.update_appearance() target.update_name() qdel(source) diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 962b2e1b8afd..89796ad80e1f 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -27,7 +27,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) opened = TRUE else stored_extinguisher = new /obj/item/extinguisher(src) - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/examine(mob/user) . = ..() @@ -52,7 +52,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) /obj/structure/extinguisher_cabinet/handle_atom_del(atom/A) if(A == stored_extinguisher) stored_extinguisher = null - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH && !stored_extinguisher) @@ -72,7 +72,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) return stored_extinguisher = I to_chat(user, "You place [I] in [src].") - update_icon() + update_appearance() return TRUE else toggle_cabinet(user) @@ -95,7 +95,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) if(!opened) opened = 1 playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) - update_icon() + update_appearance() else toggle_cabinet(user) @@ -107,7 +107,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) stored_extinguisher = null opened = 1 playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) - update_icon() + update_appearance() else toggle_cabinet(user) @@ -126,7 +126,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) else playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) opened = !opened - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/update_overlays() . = ..() @@ -147,7 +147,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) if(stored_extinguisher) stored_extinguisher.forceMove(loc) stored_extinguisher = null - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 410f9d2ec73a..5569c4cf6365 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -38,7 +38,7 @@ return opening = TRUE - update_icon() + update_appearance() if(!density) var/srcturf = get_turf(src) for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield @@ -51,7 +51,7 @@ density = !density set_opacity(density) opening = FALSE - update_icon() + update_appearance() air_update_turf(TRUE) /obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 3d5230c299ed..f6de885caf77 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -15,7 +15,7 @@ /obj/structure/fireaxecabinet/Initialize() . = ..() fireaxe = new - update_icon() + update_appearance() /obj/structure/fireaxecabinet/Destroy() if(fireaxe) @@ -33,7 +33,7 @@ to_chat(user, "You begin repairing [src].") if(I.use_tool(src, user, 40, volume=50, amount=2)) obj_integrity = max_integrity - update_icon() + update_appearance() to_chat(user, "You repair [src].") else to_chat(user, "[src] is already in good condition!") @@ -47,7 +47,7 @@ if(do_after(user, 20, target = src) && G.use(2)) broken = 0 obj_integrity = max_integrity - update_icon() + update_appearance() else if(open || broken) if(istype(I, /obj/item/fireaxe) && !fireaxe) var/obj/item/fireaxe/F = I @@ -58,7 +58,7 @@ return fireaxe = F to_chat(user, "You place the [F.name] back in the [name].") - update_icon() + update_appearance() return else if(!broken) toggle_open() @@ -80,11 +80,11 @@ return . = ..() if(.) - update_icon() + update_appearance() /obj/structure/fireaxecabinet/obj_break(damage_flag) if(!broken && !(flags_1 & NODECONSTRUCT_1)) - update_icon() + update_appearance() broken = TRUE playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE) new /obj/item/shard(loc) @@ -114,14 +114,14 @@ fireaxe = null to_chat(user, "You take the fire axe from the [name].") src.add_fingerprint(user) - update_icon() + update_appearance() return if(locked) to_chat(user, "The [name] won't budge!") return else open = !open - update_icon() + update_appearance() return /obj/structure/fireaxecabinet/attack_paw(mob/living/user) @@ -137,7 +137,7 @@ return else open = !open - update_icon() + update_appearance() return /obj/structure/fireaxecabinet/update_overlays() @@ -169,7 +169,7 @@ if(do_after(user, 20, target = src)) to_chat(user, "You [locked ? "disable" : "re-enable"] the locking modules.") locked = !locked - update_icon() + update_appearance() /obj/structure/fireaxecabinet/verb/toggle_open() set name = "Open/Close" @@ -181,5 +181,5 @@ return else open = !open - update_icon() + update_appearance() return diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index bb9af6fece33..8c9c0ca9f64e 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -113,7 +113,7 @@ playsound(src, 'sound/effects/comfyfire.ogg',50,FALSE, FALSE, TRUE) var/turf/T = get_turf(src) T.hotspot_expose(700, 5) - update_icon() + update_appearance() adjust_light() /obj/structure/fireplace/extinguish() @@ -143,11 +143,11 @@ desc = "A large stone brick fireplace, warm and cozy." flame_expiry_timer = world.time + fuel_added fuel_added = 0 - update_icon() + update_appearance() adjust_light() /obj/structure/fireplace/proc/put_out() lit = FALSE - update_icon() + update_appearance() adjust_light() desc = initial(desc) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 088b3c613f0b..103e29bb2b1a 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -30,7 +30,7 @@ /obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() - update_icon() + update_appearance() /obj/structure/grille/update_appearance(updates) if(QDELETED(src) || broken) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index be4fc6a464c6..571f5ca0d3a3 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -20,7 +20,7 @@ I.forceMove(src) if(contents.len >= capacity) break - update_icon() + update_appearance() /obj/structure/guncase/update_overlays() . = ..() @@ -39,14 +39,14 @@ if(!user.transferItemToLoc(I, src)) return to_chat(user, "You place [I] in [src].") - update_icon() + update_appearance() else to_chat(user, "[src] is full.") return else if(user.a_intent != INTENT_HARM) open = !open - update_icon() + update_appearance() else return ..() @@ -60,7 +60,7 @@ show_menu(user) else open = !open - update_icon() + update_appearance() /** * show_menu: Shows a radial menu to a user consisting of an available weaponry for taking @@ -92,7 +92,7 @@ return if(!user.put_in_hands(weapon)) weapon.forceMove(get_turf(src)) - update_icon() + update_appearance() /** * check_menu: Checks if we are allowed to interact with a radial menu @@ -110,7 +110,7 @@ return TRUE /obj/structure/guncase/handle_atom_del(atom/A) - update_icon() + update_appearance() /obj/structure/guncase/contents_explosion(severity, target) for(var/atom/A in contents) diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index 9ed1af58974f..aff870c6eedf 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -16,7 +16,7 @@ /obj/structure/headpike/CheckParts(list/parts_list) ..() victim = locate(/obj/item/bodypart/head) in parts_list - update_icon() + update_appearance() if(bonespear) spear = locate(/obj/item/spear/bonespear) in parts_list else diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 48da6f8126e6..f97624af0e0d 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -67,7 +67,7 @@ if(!myspray) put_in_cart(I, user) myspray=I - update_icon() + update_appearance() else to_chat(user, fail_msg) else if(istype(I, /obj/item/lightreplacer)) @@ -80,7 +80,7 @@ if(signs < max_signs) put_in_cart(I, user) signs++ - update_icon() + update_appearance() else to_chat(user, "[src] can't hold any more signs!") else if(mybag) @@ -159,7 +159,7 @@ WARNING("Signs ([signs]) didn't match contents") signs = 0 - update_icon() + update_appearance() updateUsrDialog() diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 5a9282d1e371..4ba59605eb0d 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -15,11 +15,11 @@ if (up) src.up = up up.down = src - up.update_icon() + up.update_appearance() if (down) src.down = down down.up = src - down.update_icon() + down.update_appearance() return INITIALIZE_HINT_LATELOAD /obj/structure/ladder/Destroy(force) @@ -39,24 +39,24 @@ if(crafted == L.crafted) down = L L.up = src // Don't waste effort looping the other way - L.update_icon() + L.update_appearance() if (!up) L = locate() in T.above() if (L) if(crafted == L.crafted) up = L L.down = src // Don't waste effort looping the other way - L.update_icon() + L.update_appearance() - update_icon() + update_appearance() /obj/structure/ladder/proc/disconnect() if(up && up.down == src) up.down = null - up.update_icon() + up.update_appearance() if(down && down.up == src) down.up = null - down.update_icon() + down.update_appearance() up = down = null /obj/structure/ladder/update_icon_state() @@ -166,7 +166,7 @@ /obj/structure/ladder/unbreakable/LateInitialize() // Override the parent to find ladders based on being height-linked if (!id || (up && down)) - update_icon() + update_appearance() return for (var/O in GLOB.ladders) @@ -176,17 +176,17 @@ if (!down && L.height == height - 1) down = L L.up = src - L.update_icon() + L.update_appearance() if (up) break // break if both our connections are filled else if (!up && L.height == height + 1) up = L L.down = src - L.update_icon() + L.update_appearance() if (down) break // break if both our connections are filled - update_icon() + update_appearance() /obj/structure/ladder/crafted crafted = TRUE diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index de2582bbb705..7e562976e1af 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -37,7 +37,7 @@ user.visible_message("[user] touches [src]. It seems to respond to [user.p_their()] presence!", "You create a connection between you and [src].") linked_minds |= user.mind - update_icon() + update_appearance() float(linked_minds.len) if(linked_minds.len) START_PROCESSING(SSobj, src) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 6506d3151eb2..bf7c919215d1 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -95,7 +95,7 @@ door_opened = TRUE layer = OPEN_DOOR_LAYER air_update_turf(1) - update_icon() + update_appearance() isSwitchingStates = FALSE if(close_delay != -1) @@ -116,7 +116,7 @@ door_opened = FALSE layer = initial(layer) air_update_turf(1) - update_icon() + update_appearance() isSwitchingStates = FALSE /obj/structure/mineral_door/update_icon_state() diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 457bd0faf4d0..3ccf6486fa1e 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -19,10 +19,10 @@ reagents.trans_to(I, 5, transfered_by = user) to_chat(user, "You wet [I] in [src].") playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - update_icon() + update_appearance() else . = ..() - update_icon() + update_appearance() /obj/structure/mopbucket/update_overlays() . = ..() diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 3dcc815e2a3c..cb4b3365b510 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -126,7 +126,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an connected.setDir(dir) for(var/atom/movable/AM as anything in src) AM.forceMove(T) - update_icon() + update_appearance() /obj/structure/bodycontainer/proc/close() playsound(src, 'sound/effects/roll.ogg', 5, TRUE) @@ -137,7 +137,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an continue AM.forceMove(src) recursive_organ_check(src) - update_icon() + update_appearance() /obj/structure/bodycontainer/get_remote_view_fullscreens(mob/user) if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) @@ -261,7 +261,7 @@ GLOBAL_LIST_EMPTY(crematoriums) audible_message("You hear a roar as the crematorium activates.") locked = TRUE - update_icon() + update_appearance() for(var/mob/living/M in conts) if (M.stat != DEAD) @@ -286,7 +286,7 @@ GLOBAL_LIST_EMPTY(crematoriums) if(!QDELETED(src)) locked = FALSE - update_icon() + update_appearance() playsound(src.loc, 'sound/machines/ding.ogg', 50, TRUE) //you horrible people /obj/structure/bodycontainer/crematorium/creamatorium @@ -320,7 +320,7 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/tray/Destroy() if(connected) connected.connected = null - connected.update_icon() + connected.update_appearance() connected = null return ..() diff --git a/code/game/objects/structures/poddoor_assembly.dm b/code/game/objects/structures/poddoor_assembly.dm index 96202deec4f2..6018e8e2b73a 100644 --- a/code/game/objects/structures/poddoor_assembly.dm +++ b/code/game/objects/structures/poddoor_assembly.dm @@ -21,7 +21,7 @@ /obj/structure/poddoor_assembly/Initialize() . = ..() - update_icon() + update_appearance() update_door_name() /obj/structure/poddoor_assembly/examine(mob/user) @@ -183,12 +183,12 @@ door.name = base_name door.assemblytype = previous_assembly electronics.forceMove(door) - door.update_icon() + door.update_appearance() qdel(src) else return ..() update_door_name() - update_icon() + update_appearance() /obj/structure/poddoor_assembly/proc/update_door_name() diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 1ee85d8ae696..0df440340eed 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -145,7 +145,7 @@ FLOOR SAFES return to_chat(user, "You [open ? "close" : "open"] [src].") open = !open - update_icon() + update_appearance() return TRUE if("turnright") if(open) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 9a4ef44f0f02..a2c5d59af916 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -34,7 +34,7 @@ /obj/machinery/shower/interact(mob/M) on = !on - update_icon() + update_appearance() handle_mist() add_fingerprint(M) if(on) diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index 43774e62814a..3e496f06252a 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -51,12 +51,12 @@ update_surrounding() /obj/structure/stairs/proc/update_surrounding() - update_icon() + update_appearance() for(var/i in GLOB.cardinals) var/turf/T = get_step(get_turf(src), i) var/obj/structure/stairs/S = locate() in T if(S) - S.update_icon() + S.update_appearance() /obj/structure/stairs/proc/on_exit(datum/source, atom/movable/leaving, direction) SIGNAL_HANDLER diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 568f18678311..1be5f857e155 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -23,7 +23,7 @@ new /obj/item/tank/internals/oxygen(src) for(var/i in 1 to plasmatanks) new /obj/item/tank/internals/plasma(src) - update_icon() + update_appearance() /obj/structure/tank_dispenser/update_overlays() . = ..() @@ -65,7 +65,7 @@ if(!user.transferItemToLoc(I, src)) return to_chat(user, "You put [I] in [src].") - update_icon() + update_appearance() /obj/structure/tank_dispenser/ui_state(mob/user) return GLOB.physical_state @@ -100,7 +100,7 @@ usr.put_in_hands(tank) oxygentanks-- . = TRUE - update_icon() + update_appearance() /obj/structure/tank_dispenser/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 4de8ad772eba..570ead69ead7 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -38,7 +38,7 @@ for(var/obj/structure/transit_tube_pod/pod in loc) if(!pod.moving) AM.forceMove(pod) - pod.update_icon() + pod.update_appearance() return @@ -249,7 +249,7 @@ playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE) pod.setDir(turn(src.dir, -90)) AM.forceMove(pod) - pod.update_icon() + pod.update_appearance() launch_pod() /obj/structure/transit_tube/station/dispenser/pod_stopped(obj/structure/transit_tube_pod/pod, from_dir) diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index d17d8445998f..7c744154c0d6 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -86,7 +86,7 @@ location = get_turf(src) for(var/atom/movable/M in contents) M.forceMove(location) - update_icon() + update_appearance() /obj/structure/transit_tube_pod/Process_Spacemove() if(moving) //No drifting while moving in the tubes @@ -199,7 +199,7 @@ if(direction == turn(station.boarding_dir,180)) if(station.open_status == STATION_TUBE_OPEN) mob.forceMove(loc) - update_icon() + update_appearance() else station.open_animation() diff --git a/code/game/objects/structures/tribal_torch.dm b/code/game/objects/structures/tribal_torch.dm index abec3409e470..0c093662a5aa 100644 --- a/code/game/objects/structures/tribal_torch.dm +++ b/code/game/objects/structures/tribal_torch.dm @@ -19,7 +19,7 @@ burning = FALSE icon_state = "torch_unlit" set_light(0) - update_icon() + update_appearance() return if(!burning) user.visible_message("[user] starts to pull [src] free from the ground....", "You start to pull [src] free from the ground...") @@ -33,7 +33,7 @@ /obj/structure/destructible/tribal_torch/attackby(obj/item/W, mob/user, params) if(W.get_temperature()) StartBurning() - update_icon() + update_appearance() user.visible_message("[user] lights [src] with [W].", "You light [src] with [W].") return @@ -42,7 +42,7 @@ burning = TRUE icon_state = "torch_lit" set_light(7) - update_icon() + update_appearance() return /obj/structure/destructible/tribal_torch/fire_act(exposed_temperature, exposed_volume) diff --git a/code/game/objects/structures/votingbox.dm b/code/game/objects/structures/votingbox.dm index 9219fe8c2104..8b746ffb9ae8 100644 --- a/code/game/objects/structures/votingbox.dm +++ b/code/game/objects/structures/votingbox.dm @@ -71,7 +71,7 @@ switch(href_list["act"]) if("toggle_vote") voting_active = !voting_active - update_icon() + update_appearance() if("toggle_auth") id_auth = !id_auth if("reset_voted") @@ -205,7 +205,7 @@ P.info = tally.Join() P.name = "Voting Results" - P.update_icon() + P.update_appearance() user.put_in_hands(P) to_chat(user,"[src] prints out the voting tally.") diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 0187faa1a3d0..377c40d4e7ce 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -15,7 +15,7 @@ /obj/structure/toilet/Initialize() . = ..() open = round(rand(0, 1)) - update_icon() + update_appearance() /obj/structure/toilet/attack_hand(mob/living/user) @@ -71,7 +71,7 @@ w_items -= I.w_class else open = !open - update_icon() + update_appearance() /obj/structure/toilet/update_icon_state() @@ -96,7 +96,7 @@ if(I.use_tool(src, user, 30)) user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", "You hear grinding porcelain.") cistern = !cistern - update_icon() + update_appearance() else if(I.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) I.play_tool_sound(src) deconstruct() diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index d7fd66553a29..490752373295 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -318,7 +318,7 @@ return ..() //Update to reflect changes(if applicable) - update_icon() + update_appearance() @@ -339,7 +339,7 @@ return TRUE /obj/structure/windoor_assembly/proc/after_rotation(mob/user) - update_icon() + update_appearance() //Flips the windoor assembly, determines whather the door opens to the left or the right /obj/structure/windoor_assembly/verb/flip() @@ -361,5 +361,5 @@ facing = "l" to_chat(usr, "The windoor will now slide to the left.") - update_icon() + update_appearance() return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index a4867024b04f..f4db3ae39c93 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -320,7 +320,7 @@ //This proc is used to update the icons of nearby windows. /obj/structure/window/proc/update_nearby_icons() - update_icon() + update_appearance() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH_NEIGHBORS(src) @@ -758,7 +758,7 @@ /obj/structure/window/paperframe/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/window/paperframe/examine(mob/user) . = ..() @@ -813,10 +813,10 @@ qdel(W) user.visible_message("[user] patches some of the holes in \the [src].") if(obj_integrity == max_integrity) - update_icon() + update_appearance() return ..() - update_icon() + update_appearance() /obj/structure/window/bronze name = "brass window" diff --git a/code/game/turfs/closed/wall/conc_walls.dm b/code/game/turfs/closed/wall/conc_walls.dm index 47ccf5e6a659..6f0487ff39b7 100644 --- a/code/game/turfs/closed/wall/conc_walls.dm +++ b/code/game/turfs/closed/wall/conc_walls.dm @@ -118,7 +118,7 @@ /turf/closed/wall/concrete/proc/update_stats() // explosion block is diminished on a damaged / soft wall explosion_block = (health / max_health) * harden_lvl * initial(explosion_block) - update_icon() + update_appearance() /turf/closed/wall/concrete/proc/alter_health(delta) // 8x as vulnerable when unhardened diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index 0ffdc3667edb..1bd8f6783fd5 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -73,7 +73,7 @@ if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) d_state = SUPPORT_LINES - update_icon() + update_appearance() to_chat(user, "You cut the outer grille.") return 1 @@ -84,14 +84,14 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) return 1 d_state = COVER - update_icon() + update_appearance() to_chat(user, "You unsecure the support lines.") return 1 else if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) d_state = INTACT - update_icon() + update_appearance() to_chat(user, "You repair the outer grille.") return 1 @@ -104,7 +104,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = CUT_COVER - update_icon() + update_appearance() to_chat(user, "You press firmly on the cover, dislodging it.") return 1 @@ -114,7 +114,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = SUPPORT_LINES - update_icon() + update_appearance() to_chat(user, "The support lines have been secured.") return 1 @@ -125,7 +125,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return 1 d_state = ANCHOR_BOLTS - update_icon() + update_appearance() to_chat(user, "You pry off the cover.") return 1 @@ -137,7 +137,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE d_state = COVER - update_icon() + update_appearance() to_chat(user, "The metal cover has been welded securely to the frame.") return 1 @@ -148,7 +148,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = SUPPORT_RODS - update_icon() + update_appearance() to_chat(user, "You remove the bolts anchoring the support rods.") return 1 @@ -158,7 +158,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = CUT_COVER - update_icon() + update_appearance() to_chat(user, "The metal cover has been pried back into place.") return 1 @@ -171,7 +171,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = SHEATH - update_icon() + update_appearance() to_chat(user, "You slice through the support rods.") return 1 @@ -182,7 +182,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = ANCHOR_BOLTS - update_icon() + update_appearance() to_chat(user, "You tighten the bolts anchoring the support rods.") return 1 @@ -204,7 +204,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE d_state = SUPPORT_RODS - update_icon() + update_appearance() to_chat(user, "You weld the support rods back together.") return 1 return 0 diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 4b03b9c462f3..7be9fb0e21d6 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -52,7 +52,7 @@ var/turf/closed/wall/wall_copy = T if(LAZYLEN(dent_decals)) wall_copy.dent_decals = dent_decals.Copy() - wall_copy.update_icon() + wall_copy.update_appearance() /turf/closed/wall/update_overlays() . = ..() @@ -213,7 +213,7 @@ if(iswallturf(src) && LAZYLEN(dent_decals)) to_chat(user, "You fix some dents on the wall.") dent_decals = null - update_icon() + update_appearance() return TRUE return FALSE @@ -316,6 +316,6 @@ decal.pixel_x = x decal.pixel_y = y LAZYADD(dent_decals, decal) - update_icon() + update_appearance() #undef MAX_DENT_DECALS diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 981ed32ad090..b8931f740c4b 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -21,7 +21,7 @@ intact = TRUE tiled_dirt = TRUE - // initiailized as null to stop turfs that update_icon() before Initialize() (in late ruin loading) from getting "stuck" as plating + // initiailized as null to stop turfs that update_appearance() before Initialize() (in late ruin loading) from getting "stuck" as plating var/icon_plating = null var/broken = FALSE var/burnt = FALSE diff --git a/code/game/turfs/open/floor/conc_floor.dm b/code/game/turfs/open/floor/conc_floor.dm index 229cfabb61e9..6a4908a4889b 100644 --- a/code/game/turfs/open/floor/conc_floor.dm +++ b/code/game/turfs/open/floor/conc_floor.dm @@ -32,7 +32,7 @@ /turf/open/floor/concrete/Initialize() . = ..() check_harden() - update_icon() + update_appearance() /turf/open/floor/concrete/examine(mob/user) . = ..() @@ -86,7 +86,7 @@ var/turf/open/floor/concrete/newconc = ChangeTurf(choice, flags = CHANGETURF_INHERIT_AIR) newconc.harden_lvl = old_harden newconc.check_harden() - newconc.update_icon() + newconc.update_appearance() return TRUE /turf/open/floor/concrete/proc/check_menu(mob/living/user) @@ -102,7 +102,7 @@ return if(!(entered_dirs & AM.dir)) entered_dirs |= AM.dir - update_icon() + update_appearance() /turf/open/floor/concrete/Exited(atom/movable/AM) . = ..() @@ -110,7 +110,7 @@ return if(!(exited_dirs & AM.dir)) exited_dirs |= AM.dir - update_icon() + update_appearance() /turf/open/floor/concrete/update_icon() . = ..() @@ -161,7 +161,7 @@ if(old_exited_dirs & Ddir) exited_dirs |= NDir - update_icon() + update_appearance() return ..() /turf/open/floor/concrete/proc/check_harden() @@ -173,7 +173,7 @@ harden_lvl = min(harden_lvl + (wait/time_to_harden), 1) if(harden_lvl == 1) STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() /turf/open/floor/concrete/break_tile() if(harden_lvl < 0.8) @@ -186,7 +186,7 @@ return harden_lvl = 1 // burning while soft instantly hardens STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return /turf/open/floor/concrete/try_replace_tile(obj/item/stack/tile/T, mob/user, params) diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index 7686d70612ab..37c369a3d8c9 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -231,9 +231,10 @@ /turf/open/floor/carpet/Initialize(mapload, inherited_virtual_z) . = ..() - update_icon() + update_appearance() /turf/open/floor/carpet/update_icon() + . = ..() if(!..()) return 0 if(!broken && !burnt) @@ -441,11 +442,11 @@ /turf/open/floor/carpet/break_tile() broken = TRUE - update_icon() + update_appearance() /turf/open/floor/carpet/burn_tile() burnt = TRUE - update_icon() + update_appearance() /turf/open/floor/carpet/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index ef9a22462b08..9157bfecc5b0 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -49,14 +49,14 @@ /turf/open/floor/light/Initialize(mapload, inherited_virtual_z) . = ..() - update_icon() + update_appearance() if(!length(lighttile_designs)) populate_lighttile_designs() /turf/open/floor/light/break_tile() ..() state = pick(LIGHTFLOOR_FLICKER, LIGHTFLOOR_BREAKING, LIGHTFLOOR_BROKEN)/// pick a broken state - update_icon() + update_appearance() /turf/open/floor/light/update_appearance(updates) . = ..() @@ -103,7 +103,7 @@ if(!can_modify_colour) return on = !on - update_icon() + update_appearance() /turf/open/floor/light/multitool_act(mob/living/user, obj/item/I) . = ..() @@ -115,7 +115,7 @@ if(!choice) return FALSE currentcolor = choice - update_icon() + update_appearance() /turf/open/floor/light/attackby(obj/item/C, mob/user, params) if(..()) @@ -128,7 +128,7 @@ if(state && user.temporarilyRemoveItemFromInventory(C)) qdel(C) state = LIGHTFLOOR_FINE //fixing it by bashing it with a light bulb, fun eh? - update_icon() + update_appearance() to_chat(user, "You replace the light bulb.") else to_chat(user, "The light bulb seems fine, no need to replace it.") @@ -143,7 +143,7 @@ if(prob(50)) state++ currentcolor = pick(coloredlights) - update_icon() + update_appearance() //Cycles through all of the colours /turf/open/floor/light/colour_cycle diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index e4018b3bbbe3..525221000f86 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -20,7 +20,7 @@ /turf/open/floor/circuit/Initialize(mapload, inherited_virtual_z) SSmapping.nuke_tiles += src - update_icon() + update_appearance() . = ..() /turf/open/floor/circuit/Destroy() diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index 80e98dde6a6e..5a41e234f53f 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -44,7 +44,7 @@ else icon_plating = initial(icon_state) -/turf/open/floor/plating/update_icon() +/turf/open/floor/plating/update_appearance() if(!..()) return if(!broken && !burnt && icon_plating) diff --git a/code/game/turfs/open/floor/plating/icemoon.dm b/code/game/turfs/open/floor/plating/icemoon.dm index 1b67a5404ea7..2b1892d5a4ed 100644 --- a/code/game/turfs/open/floor/plating/icemoon.dm +++ b/code/game/turfs/open/floor/plating/icemoon.dm @@ -27,7 +27,7 @@ return if(!(entered_dirs & AM.dir)) entered_dirs |= AM.dir - update_icon() + update_appearance() /turf/open/floor/plating/asteroid/snow/Exited(atom/movable/AM) . = ..() @@ -35,7 +35,7 @@ return if(!(exited_dirs & AM.dir)) exited_dirs |= AM.dir - update_icon() + update_appearance() // adapted version of footprints' update_icon code /turf/open/floor/plating/asteroid/snow/update_overlays() @@ -72,7 +72,7 @@ if(old_exited_dirs & Ddir) exited_dirs |= NDir - update_icon() + update_appearance() return ..() /turf/open/floor/plating/asteroid/snow/getDug() diff --git a/code/game/turfs/open/space/transit.dm b/code/game/turfs/open/space/transit.dm index 117d054c8c37..bfa550494b12 100644 --- a/code/game/turfs/open/space/transit.dm +++ b/code/game/turfs/open/space/transit.dm @@ -48,7 +48,7 @@ /turf/open/space/transit/Initialize(mapload, inherited_virtual_z) . = ..() - update_icon() + update_appearance() for(var/atom/movable/AM in src) AM.throw_atom_into_space() diff --git a/code/modules/NTNet/relays.dm b/code/modules/NTNet/relays.dm index 55df449d8c2b..9a1b01403eda 100644 --- a/code/modules/NTNet/relays.dm +++ b/code/modules/NTNet/relays.dm @@ -68,7 +68,7 @@ else use_power = IDLE_POWER_USE - update_icon() + update_appearance() if(dos_overload) dos_overload = max(0, dos_overload - dos_dissipate) @@ -76,12 +76,12 @@ // If DoS traffic exceeded capacity, crash. if((dos_overload > dos_capacity) && !dos_failure) set_dos_failure(TRUE) - update_icon() + update_appearance() SSnetworks.station_network.add_log("Quantum relay switched from normal operation mode to overload recovery mode.") // If the DoS buffer reaches 0 again, restart. if((dos_overload == 0) && dos_failure) set_dos_failure(FALSE) - update_icon() + update_appearance() SSnetworks.station_network.add_log("Quantum relay switched from overload recovery mode to normal operation mode.") ..() @@ -107,13 +107,13 @@ if("restart") dos_overload = 0 set_dos_failure(FALSE) - update_icon() + update_appearance() SSnetworks.station_network.add_log("Quantum relay manually restarted from overload recovery mode to normal operation mode.") return TRUE if("toggle") set_relay_enabled(!relay_enabled) SSnetworks.station_network.add_log("Quantum relay manually [relay_enabled ? "enabled" : "disabled"].") - update_icon() + update_appearance() return TRUE /obj/machinery/ntnet_relay/Initialize() diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 056e5c168f03..189f43543c48 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2198,7 +2198,7 @@ else P.name = "[customname]" P.info = input_text - P.update_icon() + P.update_appearance() P.x = rand(-2, 0) P.y = rand(-1, 2) @@ -2275,7 +2275,7 @@ P.info = tmsg P.x = rand(-2, 0) P.y = rand(-1, 2) - P.update_icon() + P.update_appearance() fax.receivefax(P) if(istype(H) && H.stat == CONSCIOUS && (istype(H.ears, /obj/item/radio/headset))) to_chat(H, "Your headset pings, notifying you that a reply to your fax has arrived.") diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index b827639b9f0c..3bcc1a642613 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -216,7 +216,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/obj/item/storage/wallet/W = worn W.front_id = id id.forceMove(W) - W.update_icon() + W.update_appearance() else H.equip_to_slot(id,ITEM_SLOT_ID) @@ -549,7 +549,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that F.power = 250 F.warming_up = 3 F.start_fields() - F.update_icon() + F.update_appearance() spawn(30) for(var/obj/machinery/the_singularitygen/G in GLOB.machines) diff --git a/code/modules/admin/verbs/manipulate_organs.dm b/code/modules/admin/verbs/manipulate_organs.dm index a3b7e4247c1d..0695777a6897 100644 --- a/code/modules/admin/verbs/manipulate_organs.dm +++ b/code/modules/admin/verbs/manipulate_organs.dm @@ -71,4 +71,4 @@ var/obj/item/implantcase/case = new(get_turf(C)) case.imp = I I.forceMove(case) - case.update_icon() + case.update_appearance() diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 5871ae981b6c..a9e893ff9ca4 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -485,7 +485,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(!turned_on) toggle_on(user) to_chat(usr, "You switch the baton to [txt] mode.") - update_icon() + update_appearance() /obj/item/melee/baton/abductor/update_icon_state() . = ..() diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm index f6c61109512e..cae4fb2aa983 100644 --- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm +++ b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm @@ -26,7 +26,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/ overmind.color = complementary_color for(var/BL in GLOB.blobs) var/obj/structure/blob/B = BL - B.update_icon() + B.update_appearance() for(var/BLO in overmind.blob_mobs) var/mob/living/simple_animal/hostile/blob/BM = BLO BM.update_icons() //If it's getting a new strain, tell it what it does! diff --git a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm index f6bd6c9ef525..4800aed698d2 100644 --- a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm +++ b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm @@ -17,7 +17,7 @@ var/obj/structure/blob/newB = B.expand(null, null, 0) if(newB) newB.obj_integrity = B.obj_integrity - damage - newB.update_icon() + newB.update_appearance() return ..() diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 25857459d556..a2b1022bb186 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) set_strain(BS) color = blobstrain.complementary_color if(blob_core) - blob_core.update_icon() + blob_core.update_appearance() announcement_time = world.time + 6000 . = ..() START_PROCESSING(SSobj, src) @@ -178,7 +178,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) var/obj/structure/blob/B = BL if(B && B.overmind == src) B.overmind = null - B.update_icon() //reset anything that was ours + B.update_appearance() //reset anything that was ours for(var/BLO in blob_mobs) var/mob/living/simple_animal/hostile/blob/BM = BLO if(BM) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm index 58263475f23b..2054c8f0013b 100644 --- a/code/modules/antagonists/blob/powers.dm +++ b/code/modules/antagonists/blob/powers.dm @@ -55,7 +55,7 @@ core.overmind = src blobs_legit += src blob_core = core - core.update_icon() + core.update_appearance() update_health_hud() placed = 1 return 1 @@ -181,7 +181,7 @@ if(LAZYLEN(candidates)) //if we got at least one candidate, they're a blobbernaut now. B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health B.obj_integrity = min(B.obj_integrity, B.max_integrity) - B.update_icon() + B.update_appearance() B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") playsound(B.loc, 'sound/effects/splat.ogg', 50, TRUE) var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index a2ddefdfc9c1..726c12fbd1bc 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -30,7 +30,7 @@ overmind.blobs_legit += src GLOB.blobs += src //Keep track of the blob in the normal list either way setDir(pick(GLOB.cardinals)) - update_icon() + update_appearance() if(atmosblock) air_update_turf(1) ConsumeTile() @@ -93,7 +93,7 @@ var/obj/structure/blob/B = L if(!B.overmind && !istype(B, /obj/structure/blob/core) && prob(30)) B.overmind = pulsing_overmind //reclaim unclaimed, non-core blobs. - B.update_icon() + B.update_appearance() var/distance = get_dist(get_turf(src), get_turf(B)) var/expand_probablity = max(20 - distance * 8, 1) if(B.Adjacent(src)) @@ -117,7 +117,7 @@ if(heal_timestamp <= world.time) obj_integrity = min(max_integrity, obj_integrity+health_regen) heal_timestamp = world.time + 20 - update_icon() + update_appearance() pulse_timestamp = world.time + 10 return 1 //we did it, we were pulsed! return 0 //oh no we failed @@ -175,7 +175,7 @@ if(T.Enter(B,src)) //NOW we can attempt to move into the tile B.density = initial(B.density) B.forceMove(T) - B.update_icon() + B.update_appearance() if(B.overmind && expand_reaction) B.overmind.blobstrain.expand_reaction(src, B, T, controller) return B @@ -280,7 +280,7 @@ /obj/structure/blob/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() if(. && obj_integrity > 0) - update_icon() + update_appearance() /obj/structure/blob/obj_destruction(damage_flag) if(overmind) @@ -292,7 +292,7 @@ CRASH("change_to(): invalid type for blob") var/obj/structure/blob/B = new type(src.loc, controller) B.creation_action() - B.update_icon() + B.update_appearance() B.setDir(dir) qdel(src) return B diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm index 8931001e3cbc..ebebdc336676 100644 --- a/code/modules/antagonists/blob/structures/core.dm +++ b/code/modules/antagonists/blob/structures/core.dm @@ -14,11 +14,11 @@ GLOB.blob_cores += src START_PROCESSING(SSobj, src) GLOB.poi_list |= src - update_icon() //so it atleast appears + update_appearance() //so it atleast appears if(!placed && !overmind) return INITIALIZE_HINT_QDEL if(overmind) - update_icon() + update_appearance() . = ..() /obj/structure/blob/special/core/Destroy() @@ -40,7 +40,7 @@ . += blob_overlay . += mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay") -/obj/structure/blob/special/core/update_icon() +/obj/structure/blob/special/core/update_appearance() color = null GLOB.poi_list -= src return ..() diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index ccd2238d2fa9..8c60f724215d 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -58,7 +58,7 @@ . = ..() if(isnull(.)) return - update_icon() + update_appearance() /obj/structure/destructible/cult/update_icon_state() icon_state = "[initial(icon_state)][anchored ? null : "_off"]" diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 94c3d7febee9..bb92fb4f75e2 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -37,7 +37,7 @@ GLOB.nuke_list += src core = new /obj/item/nuke_core(src) STOP_PROCESSING(SSobj, core) - update_icon() + update_appearance() GLOB.poi_list |= src previous_level = get_security_level() @@ -109,7 +109,7 @@ if(I.use_tool(src, user, 60, volume=100)) deconstruction_state = NUKESTATE_UNSCREWED to_chat(user, "You remove the screws from [src]'s front panel.") - update_icon() + update_appearance() return if(NUKESTATE_PANEL_REMOVED) @@ -120,7 +120,7 @@ if(I.use_tool(src, user, 80, volume=100, amount=1)) to_chat(user, "You cut [src]'s inner plate.") deconstruction_state = NUKESTATE_WELDED - update_icon() + update_appearance() return if(NUKESTATE_CORE_EXPOSED) if(istype(I, /obj/item/nuke_core_container)) @@ -130,7 +130,7 @@ if(core_box.load(core, user)) to_chat(user, "You load the plutonium core into [core_box].") deconstruction_state = NUKESTATE_CORE_REMOVED - update_icon() + update_appearance() core = null else to_chat(user, "You fail to load the plutonium core into [core_box]. [core_box] has already been used!") @@ -144,7 +144,7 @@ to_chat(user, "You repair [src]'s inner metal plate. The radiation is contained.") deconstruction_state = NUKESTATE_PANEL_REMOVED STOP_PROCESSING(SSobj, core) - update_icon() + update_appearance() return . = ..() @@ -156,14 +156,14 @@ if(tool.use_tool(src, user, 30, volume=100)) to_chat(user, "You remove [src]'s front panel.") deconstruction_state = NUKESTATE_PANEL_REMOVED - update_icon() + update_appearance() return TRUE if(NUKESTATE_WELDED) to_chat(user, "You start prying off [src]'s inner plate...") if(tool.use_tool(src, user, 30, volume=100)) to_chat(user, "You pry off [src]'s inner plate. You can see the core's green glow!") deconstruction_state = NUKESTATE_CORE_EXPOSED - update_icon() + update_appearance() START_PROCESSING(SSobj, core) return TRUE @@ -408,7 +408,7 @@ timing = FALSE detonation_timer = null countdown.stop() - update_icon() + update_appearance() /obj/machinery/nuclearbomb/proc/set_active() if(safety) @@ -428,7 +428,7 @@ S.switch_mode_to(initial(S.mode)) S.alert = FALSE countdown.stop() - update_icon() + update_appearance() /obj/machinery/nuclearbomb/proc/get_time_left() if(timing) @@ -455,7 +455,7 @@ exploding = TRUE yes_code = FALSE safety = TRUE - update_icon() + update_appearance() sound_to_playing_players('sound/machines/alarm.ogg') if(SSticker && SSticker.mode) SSticker.roundend_check_paused = TRUE @@ -551,7 +551,7 @@ S.switch_mode_to(initial(S.mode)) S.alert = FALSE countdown.stop() - update_icon() + update_appearance() /obj/machinery/nuclearbomb/beer/proc/fizzbuzz() var/datum/reagents/R = new/datum/reagents(1000) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 88cdc68a2c8b..8a9200fb08d0 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -146,7 +146,7 @@ to_chat(admin, "Repairing flash failed!") else flash.burnt_out = FALSE - flash.update_icon() + flash.update_appearance() /datum/antagonist/rev/head/proc/admin_demote(datum/mind/target,mob/user) message_admins("[key_name_admin(user)] has demoted [key_name_admin(owner)] from head revolutionary.") diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index db65e0cbd688..0a2d4268ba9f 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -626,7 +626,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) /datum/action/innate/ai/break_fire_alarms/Activate() for(var/obj/machinery/firealarm/F in GLOB.machines) F.obj_flags |= EMAGGED - F.update_icon() + F.update_appearance() to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 9cfd066479dc..d6f56fe1c9e7 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -96,7 +96,7 @@ /obj/item/assembly/proc/toggle_secure() secured = !secured - update_icon() + update_appearance() return secured /obj/item/assembly/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index 2109ce75c1cc..ab64cdc86700 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -145,7 +145,7 @@ master = bomb forceMove(bomb) - bomb.update_icon() + bomb.update_appearance() user.put_in_hands(bomb) //Equips the bomb if possible, or puts it on the floor. to_chat(user, "You attach [assembly] to [src].") diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index e2d17b722979..4a9f9eaf1321 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -61,7 +61,7 @@ if(specialfunctions & BOLTS) if(!D.wires.is_cut(WIRE_BOLTS) && D.hasPower()) D.locked = !D.locked - D.update_icon() + D.update_appearance() if(specialfunctions & SHOCK) if(D.secondsElectrified) D.set_electrified(MACHINE_ELECTRIFIED_PERMANENT, usr) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 75ffa592ca11..4bd1a3de93ad 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -63,7 +63,7 @@ /obj/item/assembly/flash/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something. if(!burnt_out) burnt_out = TRUE - update_icon() + update_appearance() if(ismob(loc)) var/mob/M = loc M.visible_message("[src] burns out!","[src] burns out!") diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 0af6c85fb6b5..2a07737e2c63 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -27,7 +27,7 @@ else scanning = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return secured /obj/item/assembly/health/AltClick(mob/living/user) diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index b216433e6cb2..4d2ffdac5d4e 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -34,7 +34,7 @@ attach(A,user) attach(A2,user) name = "[A.name]-[A2.name] assembly" - update_icon() + update_appearance() SSblackbox.record_feedback("tally", "assembly_made", 1, "[initial(A.name)]-[initial(A2.name)]") /obj/item/assembly_holder/proc/attach(obj/item/assembly/A, mob/user) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index bbb8a5631ba0..bc8fdcc3d908 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -42,7 +42,7 @@ return FALSE //Cooldown check on = !on refreshBeam() - update_icon() + update_appearance() return TRUE /obj/item/assembly/infra/toggle_secure() @@ -53,7 +53,7 @@ else QDEL_LIST(beams) STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return secured /obj/item/assembly/infra/update_appearance(updates=ALL) @@ -212,7 +212,7 @@ visible = !visible . = TRUE - update_icon() + update_appearance() refreshBeam() /***************************IBeam*********************************/ diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index ee6a967be956..bf9353a658d9 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -24,7 +24,7 @@ if((HAS_TRAIT(user, TRAIT_DUMB) || HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) to_chat(user, "Your hand slips, setting off the trigger!") pulse(FALSE) - update_icon() + update_appearance() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) /obj/item/assembly/mousetrap/update_icon_state() @@ -44,7 +44,7 @@ if(HAS_TRAIT(H, TRAIT_PIERCEIMMUNE)) playsound(src, 'sound/effects/snap.ogg', 50, TRUE) armed = FALSE - update_icon() + update_appearance() pulse(FALSE) return FALSE switch(type) @@ -65,7 +65,7 @@ M.splat() playsound(src, 'sound/effects/snap.ogg', 50, TRUE) armed = FALSE - update_icon() + update_appearance() pulse(FALSE) @@ -85,7 +85,7 @@ return to_chat(user, "You disarm [src].") armed = !armed - update_icon() + update_appearance() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index ee114181017e..c68ee14dd867 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -32,7 +32,7 @@ timing = !timing else scanning = FALSE - update_icon() + update_appearance() return TRUE /obj/item/assembly/prox_sensor/on_detach() @@ -53,7 +53,7 @@ else START_PROCESSING(SSobj, src) proximity_monitor.SetHost(loc,src) - update_icon() + update_appearance() return secured /obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj) @@ -85,7 +85,7 @@ return FALSE scanning = scan proximity_monitor.SetRange(scanning ? sensitivity : 0) - update_icon() + update_appearance() /obj/item/assembly/prox_sensor/proc/sensitivity_change(value) var/sense = min(max(sensitivity + value, 0), 5) @@ -143,7 +143,7 @@ . = TRUE if("time") timing = !timing - update_icon() + update_appearance() . = TRUE if("input") var/value = text2num(params["adjust"]) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 9e1dcd1e3144..e273ee43404e 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -106,7 +106,7 @@ code = initial(code) . = TRUE - update_icon() + update_appearance() /obj/item/assembly/signaler/attackby(obj/item/W, mob/user, params) if(issignaler(W)) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index a6ceb35859e7..466e9085e408 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -40,7 +40,7 @@ if(!..()) return FALSE//Cooldown check timing = !timing - update_icon() + update_appearance() return TRUE /obj/item/assembly/timer/toggle_secure() @@ -50,7 +50,7 @@ else timing = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return secured /obj/item/assembly/timer/proc/timer_end() @@ -62,7 +62,7 @@ hearing_mob.playsound_local(get_turf(src), 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE) if(loop) timing = TRUE - update_icon() + update_appearance() /obj/item/assembly/timer/process() if(!timing) @@ -113,7 +113,7 @@ timing = !timing if(timing && istype(holder, /obj/item/transfer_valve)) log_bomber(usr, "activated a", src, "attachment on [holder]") - update_icon() + update_appearance() . = TRUE if("repeat") loop = !loop diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index f0fc9a2e4fbc..bef2f277f7e1 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -221,7 +221,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(name == initial(name)) name = "[get_area_name(src)] Air Alarm" - update_icon() + update_appearance() /obj/machinery/airalarm/Destroy() SSradio.remove_object(src, frequency) @@ -467,7 +467,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) investigate_log("has had its setpoint changed to [heating_temp_setpoint] by [key_name(usr)]",INVESTIGATE_ATMOS) . = TRUE - update_icon() + update_appearance() /obj/machinery/airalarm/proc/reset(wire) @@ -475,7 +475,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(WIRE_POWER) if(!wires.is_cut(WIRE_POWER)) shorted = FALSE - update_icon() + update_appearance() if(WIRE_AI) if(!wires.is_cut(WIRE_AI)) aidisabled = FALSE @@ -801,7 +801,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(A.atmosalert(new_area_danger_level,src)) //if area was in normal state or if area was in alert state post_alert(new_area_danger_level) - update_icon() + update_appearance() /obj/machinery/airalarm/attackby(obj/item/W, mob/user, params) switch(buildstage) @@ -811,13 +811,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) to_chat(user, "You cut the final wires.") new /obj/item/stack/cable_coil(loc, 5) buildstage = 1 - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_SCREWDRIVER) // Opening that Air Alarm up. W.play_tool_sound(src) panel_open = !panel_open to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") - update_icon() + update_appearance() return else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))// trying to unlock the interface with an ID card togglelock(user) @@ -836,7 +836,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) new /obj/item/electronics/airalarm(src.loc) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) buildstage = 0 - update_icon() + update_appearance() return if(istype(W, /obj/item/stack/cable_coil)) @@ -857,14 +857,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) shorted = 0 post_alert(0) buildstage = 2 - update_icon() + update_appearance() return if(0) if(istype(W, /obj/item/electronics/airalarm)) if(user.temporarilyRemoveItemFromInventory(W)) to_chat(user, "You insert the circuit.") buildstage = 1 - update_icon() + update_appearance() qdel(W) return @@ -875,7 +875,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt an air alarm circuit and slot it into the assembly.") buildstage = 1 - update_icon() + update_appearance() return if(W.tool_behaviour == TOOL_WRENCH) @@ -898,7 +898,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt an air alarm circuit and slot it into the assembly.") buildstage = 1 - update_icon() + update_appearance() return TRUE return FALSE diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 6e647fe9da15..a7924f4c0c3c 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -130,11 +130,11 @@ if(can_be_node(target, i)) nodes[i] = target break - update_icon() + update_appearance() /obj/machinery/atmospherics/proc/setPipingLayer(new_layer) piping_layer = (pipe_flags & PIPING_DEFAULT_LAYER_ONLY) ? PIPING_LAYER_DEFAULT : new_layer - update_icon() + update_appearance() /obj/machinery/atmospherics/proc/can_be_node(obj/machinery/atmospherics/target, iteration) return connection_check(target, piping_layer) @@ -186,7 +186,7 @@ var/ref_position = nodes.Find(reference) if(ref_position) nodes[ref_position] = null - update_icon() + update_appearance() /obj/machinery/atmospherics/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pipe)) //lets you autodrop diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index 88edcf9cf699..9f2d582be256 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -38,7 +38,7 @@ /obj/machinery/atmospherics/components/binary/circulator/Initialize(mapload) .=..() component_parts = list(new /obj/item/circuitboard/machine/circulator) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/circulator/ComponentInitialize() . = ..() @@ -84,7 +84,7 @@ ..() update_icon_nopipes() -/obj/machinery/atmospherics/components/binary/circulator/update_icon() +/obj/machinery/atmospherics/components/binary/circulator/update_appearance() cut_overlays() if(anchored) @@ -190,7 +190,7 @@ node2.addMember(src) SSair.add_to_rebuild_queue(src) - update_icon() + update_appearance() return TRUE @@ -258,7 +258,7 @@ generator.cold_circ = null else generator.hot_circ = null - generator.update_icon() + generator.update_appearance() generator = null /obj/machinery/atmospherics/components/binary/circulator/setPipingLayer(new_layer) @@ -283,5 +283,5 @@ /obj/machinery/atmospherics/components/binary/circulator/obj_break(damage_flag) if(generator) generator.kill_circs() - generator.update_icon() + generator.update_appearance() ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm index ed4eb50b253a..0d93d554c47f 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm @@ -202,7 +202,7 @@ addtimer(CALLBACK(src, .proc/broadcast_status), 2) if(!("status" in signal.data)) //do not update_icon - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/dp_vent_pump/welder_act(mob/living/user, obj/item/I) ..() @@ -216,7 +216,7 @@ else user.visible_message("[user] unwelded the vent.", "You unweld the vent.", "You hear welding.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE investigate_log("was [welded ? "welded shut" : "unwelded"] by [key_name(user)]", INVESTIGATE_ATMOS) @@ -246,7 +246,7 @@ return user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE playsound(loc, 'sound/weapons/bladeslice.ogg', 100, TRUE) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm index 4b3da9179662..4078c9ef38c2 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -30,7 +30,7 @@ Passive gate is similar to the regular pump except: if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/passive_gate/AltClick(mob/user) @@ -38,7 +38,7 @@ Passive gate is similar to the regular pump except: target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the pressure output on [src] to [target_pressure] kPa.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/passive_gate/Destroy() @@ -115,7 +115,7 @@ Passive gate is similar to the regular pump except: if(.) target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/passive_gate/atmosinit() ..() @@ -145,7 +145,7 @@ Passive gate is similar to the regular pump except: return broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/passive_gate/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm index c8a00c3445ef..fd98028ca306 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm @@ -20,7 +20,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pressure_valve/AltClick(mob/user) @@ -28,7 +28,7 @@ target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, span_notice("pressure output set to [target_pressure] kPa.")) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pressure_valve/update_icon_nopipes() @@ -88,7 +88,7 @@ if(.) target_pressure = clamp(pressure, 0, ONE_ATMOSPHERE*100) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/pressure_valve/can_unwrench(mob/user) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 5556149b908c..8579d70a1165 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -31,7 +31,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pump/AltClick(mob/user) @@ -39,7 +39,7 @@ target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the pressure output on [src] to [target_pressure] kPa.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pump/Destroy() @@ -123,7 +123,7 @@ if(.) target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/pump/atmosinit() ..() @@ -153,7 +153,7 @@ return broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/pump/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm index 8ef01b857653..91c22fd0a884 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm @@ -104,4 +104,4 @@ if(.) close_pressure = clamp(pressure, 0, open_pressure) investigate_log("close pressure was set to [close_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm index 190ad024652e..cdc0f75c6781 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm @@ -23,7 +23,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/temperature_gate/AltClick(mob/user) @@ -31,7 +31,7 @@ target_temperature = max_temperature investigate_log("was set to [target_temperature] K by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You set the target temperature on [src] to [target_temperature] K.") - update_icon() + update_appearance() return ..() @@ -108,7 +108,7 @@ if(.) target_temperature = clamp(minimum_temperature, temperature, max_temperature) investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/temperature_gate/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm index 6d09aeb2b143..eff2a0525230 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm @@ -18,14 +18,14 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/temperature_pump/AltClick(mob/user) if(can_interact(user) && !(heat_transfer_rate == max_heat_transfer_rate)) heat_transfer_rate = max_heat_transfer_rate investigate_log("was set to [heat_transfer_rate]% by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/temperature_pump/update_icon_nopipes() @@ -91,4 +91,4 @@ if(.) heat_transfer_rate = clamp(rate, 0, max_heat_transfer_rate) investigate_log("was set to [heat_transfer_rate]% by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index 12a07cba9f5f..3cbd43897878 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -32,7 +32,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/volume_pump/AltClick(mob/user) @@ -40,7 +40,7 @@ transfer_rate = MAX_TRANSFER_RATE investigate_log("was set to [transfer_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the volume output on [src] to [transfer_rate] L/s.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/volume_pump/Destroy() @@ -143,7 +143,7 @@ if(.) transfer_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/volume_pump/receive_signal(datum/signal/signal) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) @@ -169,7 +169,7 @@ return //do not update_icon broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/volume_pump/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 324819339e35..b4a02de7d108 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -36,7 +36,7 @@ /obj/machinery/atmospherics/components/proc/hide_pipe(datum/source, covered) showpipe = !covered - update_icon() + update_appearance() /obj/machinery/atmospherics/components/update_icon() update_icon_nopipes() diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 357681700d92..404ecbf46eb2 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -18,7 +18,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/filter/AltClick(mob/user) @@ -26,7 +26,7 @@ transfer_rate = MAX_TRANSFER_RATE investigate_log("was set to [transfer_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the volume output on [src] to [transfer_rate] L/s.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/filter/proc/set_frequency(new_frequency) @@ -136,7 +136,7 @@ filter_name = GLOB.gas_data.names[gas] investigate_log("was set to filter [filter_name] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE - update_icon() + update_appearance() /obj/machinery/atmospherics/components/trinary/filter/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 08e529b6c7c9..c21aaf7ccd79 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -20,7 +20,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/mixer/AltClick(mob/user) @@ -28,7 +28,7 @@ target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the pressure output on [src] to [target_pressure] kPa.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/mixer/update_overlays() @@ -160,7 +160,7 @@ adjust_node1_value(100 - value) investigate_log("was set to [node2_concentration] % on node 2 by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE - update_icon() + update_appearance() /obj/machinery/atmospherics/components/trinary/mixer/proc/adjust_node1_value(newValue) node1_concentration = newValue / 100 diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index be1c6993a2a7..3864bc2ada18 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -53,7 +53,7 @@ var/oldoccupant = occupant . = ..() // Parent proc takes care of removing occupant if necessary if (AM == oldoccupant) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/cryo_cell/on_construction() ..(dir, dir) @@ -172,7 +172,7 @@ if(old_value) //Turned off on = FALSE end_processing() - update_icon() + update_appearance() else //Turned on begin_processing() @@ -190,7 +190,7 @@ if(mob_occupant.health >= mob_occupant.getMaxHealth()) // Don't bother with fully healed people. on = FALSE - update_icon() + update_appearance() playsound(src, 'sound/machines/cryo_warning.ogg', volume) // Bug the doctors. var/msg = "Patient fully restored." if(autoeject) // Eject if configured. @@ -225,7 +225,7 @@ if(!nodes[1] || !airs[1] || air1.get_moles(GAS_O2) < 5) // Turn off if the machine won't work due to not having enough moles to operate. on = FALSE - update_icon() + update_appearance() return if(occupant) @@ -320,7 +320,7 @@ || default_change_direction_wrench(user, I) \ || default_pry_open(I) \ || default_deconstruction_crowbar(I)) - update_icon() + update_appearance() return else if(I.tool_behaviour == TOOL_SCREWDRIVER) to_chat(user, "You can't access the maintenance panel while the pod is " \ @@ -398,7 +398,7 @@ on = FALSE else if(!state_open) on = TRUE - update_icon() + update_appearance() . = TRUE if("door") if(state_open) @@ -420,7 +420,7 @@ /obj/machinery/atmospherics/components/unary/cryo_cell/CtrlClick(mob/user) if(can_interact(user) && !state_open) on = !on - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/unary/cryo_cell/AltClick(mob/user) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index bc424d1b7ecc..a051df7de2c9 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -28,7 +28,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/unary/outlet_injector/AltClick(mob/user) @@ -36,7 +36,7 @@ volume_rate = MAX_TRANSFER_RATE investigate_log("was set to [volume_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the volume output on [src] to [volume_rate] L/s.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/unary/outlet_injector/Destroy() @@ -135,7 +135,7 @@ addtimer(CALLBACK(src, .proc/broadcast_status), 2) if(!("status" in signal.data)) //do not update_icon - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/outlet_injector/ui_interact(mob/user, datum/tgui/ui) @@ -172,7 +172,7 @@ if(.) volume_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [volume_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() broadcast_status() /obj/machinery/atmospherics/components/unary/outlet_injector/can_unwrench(mob/user) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm b/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm index 1bc4bf810d48..d5f51757685d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm @@ -102,4 +102,4 @@ if(.) close_pressure = clamp(pressure, 0, open_pressure) investigate_log("close pressure was set to [close_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index f64f31a52382..3b570f209c8b 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -173,7 +173,7 @@ target_temperature = clamp(target, min_temperature, max_temperature) investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() //WS Edit - Update from Cit's Thermomachine - PR #8800, adds additional info to ctrl and alt clicks - BFAT @@ -184,7 +184,7 @@ return on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) message_admins("[src.name] was turned [on ? "on" : "off"] [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]") diff --git a/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm b/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm index 136f540d4b96..4904d2b3a4ec 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm @@ -18,7 +18,7 @@ /obj/machinery/atmospherics/components/unary/on_construction() ..() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/proc/assign_uid_vents() uid = num2text(gl_uid++) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index a3109fb98bdf..3a878409d0e2 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -250,7 +250,7 @@ // log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]") broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/vent_pump/welder_act(mob/living/user, obj/item/I) ..() @@ -264,7 +264,7 @@ else user.visible_message("[user] unwelded the vent.", "You unweld the vent.", "You hear welding.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE investigate_log("was [welded ? "welded shut" : "unwelded"] by [key_name(user)]", INVESTIGATE_ATMOS) @@ -294,7 +294,7 @@ return user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE playsound(loc, 'sound/weapons/bladeslice.ogg', 100, TRUE) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 6cd9be66ee65..0e5e7dc1c74a 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -224,7 +224,7 @@ return //do not update_icon broadcast_status() - update_icon() + update_appearance() return /obj/machinery/atmospherics/components/unary/vent_scrubber/power_change() @@ -243,7 +243,7 @@ else user.visible_message("[user] unwelds the scrubber.", "You unweld the scrubber.", "You hear welding.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE investigate_log("was [welded ? "welded shut" : "unwelded"] by [key_name(user)]", INVESTIGATE_ATMOS) @@ -269,7 +269,7 @@ return user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the scrubber.", "You hear loud scraping noises.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE playsound(loc, 'sound/weapons/bladeslice.ogg', 100, TRUE) diff --git a/code/modules/atmospherics/machinery/other/miner.dm b/code/modules/atmospherics/machinery/other/miner.dm index 538508e74908..37045635cf1a 100644 --- a/code/modules/atmospherics/machinery/other/miner.dm +++ b/code/modules/atmospherics/machinery/other/miner.dm @@ -72,12 +72,12 @@ /obj/machinery/atmospherics/miner/proc/set_active(setting) if(active != setting) active = setting - update_icon() + update_appearance() /obj/machinery/atmospherics/miner/proc/set_broken(setting) if(broken != setting) broken = setting - update_icon() + update_appearance() /obj/machinery/atmospherics/miner/proc/update_power() if(!active) diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index 98bd8cf2f162..22ae79ad9719 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -97,7 +97,7 @@ new_nodes += foundfront if(foundback && !QDELETED(foundback)) new_nodes += foundback - update_icon() + update_appearance() return new_nodes /obj/machinery/atmospherics/pipe/layer_manifold/atmosinit() @@ -124,7 +124,7 @@ if(reference in back_nodes) var/i = back_nodes.Find(reference) back_nodes[i] = null - update_icon() + update_appearance() /obj/machinery/atmospherics/pipe/layer_manifold/relaymove(mob/living/user, direction) if(initialize_directions & direction) diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index e67beb38eb4b..106c7b8c7693 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -22,7 +22,7 @@ var/mutable_appearance/center -/* We use New() instead of Initialize() because these values are used in update_icon() +/* We use New() instead of Initialize() because these values are used in update_appearance() * in the mapping subsystem init before Initialize() is called in the atoms subsystem init. * This is true for the other manifolds (the 4 ways and the heat exchanges) too. */ diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 7c3e96b5e24d..6b0f025b6b89 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -168,7 +168,7 @@ timing = !timing if(timing) valve_timer = world.time + (timer_set * 10) - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/canister/proto name = "prototype canister" @@ -200,7 +200,7 @@ air_contents.copy_from(existing_mixture) else create_gas() - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/canister/proc/create_gas() @@ -294,7 +294,7 @@ if(.) if(close_valve) valve_open = FALSE - update_icon() + update_appearance() investigate_log("Valve was closed by [key_name(user)].", INVESTIGATE_ATMOS) else if(valve_open && holding) investigate_log("[key_name(user)] started a transfer into [holding].", INVESTIGATE_ATMOS) @@ -315,7 +315,7 @@ if(air_contents.release_gas_to(target_air, release_pressure) && !holding) air_update_turf() - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/canister/ui_state(mob/user) return GLOB.physical_state @@ -460,4 +460,4 @@ investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transferring into the air.", INVESTIGATE_ATMOS) replace_tank(usr, FALSE) . = TRUE - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index 4c6d0ecf498f..ad5f95cf349d 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -68,7 +68,7 @@ anchored = TRUE //Prevent movement pixel_x = new_port.pixel_x pixel_y = new_port.pixel_y - update_icon() + update_appearance() return TRUE /obj/machinery/portable_atmospherics/Move() @@ -84,7 +84,7 @@ connected_port = null pixel_x = 0 pixel_y = 0 - update_icon() + update_appearance() return TRUE /obj/machinery/portable_atmospherics/AltClick(mob/living/user) @@ -109,7 +109,7 @@ holding = null if(new_tank) holding = new_tank - update_icon() + update_appearance() return TRUE /obj/machinery/portable_atmospherics/attackby(obj/item/W, mob/user, params) @@ -121,7 +121,7 @@ to_chat(user, "[holding ? "In one smooth motion you pop [holding] out of [src]'s connector and replace it with [T]" : "You insert [T] into [src]"].") investigate_log("had its internal [holding] swapped with [T] by [key_name(user)].", INVESTIGATE_ATMOS) replace_tank(user, FALSE, T) - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_WRENCH) if(!(machine_stat & BROKEN)) if(connected_port) @@ -132,7 +132,7 @@ "[user] disconnects [src].", \ "You unfasten [src] from the port.", \ "You hear a ratchet.") - update_icon() + update_appearance() return else var/obj/machinery/atmospherics/components/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/components/unary/portables_connector) in loc @@ -147,7 +147,7 @@ "[user] connects [src].", \ "You fasten [src] to the port.", \ "You hear a ratchet.") - update_icon() + update_appearance() investigate_log("was connected to [possible_port] by [key_name(user)].", INVESTIGATE_ATMOS) else return ..() diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 300d6dcf7f44..4cff27388903 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -70,7 +70,7 @@ if(prob(100 / severity)) direction = PUMP_OUT pump.target_pressure = rand(0, 100 * ONE_ATMOSPHERE) - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/pump/replace_tank(mob/living/user, close_valve) . = ..() @@ -78,7 +78,7 @@ if(close_valve) if(on) on = FALSE - update_icon() + update_appearance() else if(on && holding && direction == PUMP_OUT) investigate_log("[key_name(user)] started a transfer into [holding].", INVESTIGATE_ATMOS) @@ -152,4 +152,4 @@ if(holding) replace_tank(usr, FALSE) . = TRUE - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index 74564970256d..b608d5849e38 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -55,7 +55,7 @@ if(is_operational) if(prob(50 / severity)) on = !on - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/scrubber/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -88,7 +88,7 @@ if(close_valve) if(on) on = FALSE - update_icon() + update_appearance() else if(on && holding) investigate_log("[key_name(user)] started a transfer into [holding].", INVESTIGATE_ATMOS) @@ -107,7 +107,7 @@ if("toggle_filter") scrubbing ^= params["val"] . = TRUE - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/scrubber/huge name = "huge air scrubber" @@ -136,7 +136,7 @@ /obj/machinery/portable_atmospherics/scrubber/huge/process_atmos() if((!anchored && !movable) || !is_operational) on = FALSE - update_icon() + update_appearance() use_power = on ? ACTIVE_POWER_USE : IDLE_POWER_USE if(!on) return diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 4de1b424f113..f6cd27fed284 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -176,7 +176,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /obj/machinery/gateway/Initialize() generate_destination() - update_icon() + update_appearance() portal_visuals = new vis_contents += portal_visuals return ..() @@ -193,7 +193,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) dest.deactivate(src) QDEL_NULL(portal) use_power = IDLE_POWER_USE - update_icon() + update_appearance() portal_visuals.reset_visuals() /obj/machinery/gateway/process() @@ -216,7 +216,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) portal_visuals.setup_visuals(target) generate_bumper() use_power = ACTIVE_POWER_USE - update_icon() + update_appearance() /obj/machinery/gateway/proc/Transfer(atom/movable/AM) if(!target || !target.incoming_pass_check(AM)) diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index 921d1e057bbc..8ee15ad72e2c 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -130,12 +130,12 @@ close_switchstates() mode = new newmode(src) mode.enter_mode(src) - modebutton.update_icon() + modebutton.update_appearance() /datum/buildmode/proc/change_dir(newdir) build_dir = newdir close_dirswitch() - dirbutton.update_icon() + dirbutton.update_appearance() return 1 /datum/buildmode/proc/InterceptClickOn(mob/user, params, atom/object) diff --git a/code/modules/buildmode/buttons.dm b/code/modules/buildmode/buttons.dm index c983ce90a0db..a1893b4b6232 100644 --- a/code/modules/buildmode/buttons.dm +++ b/code/modules/buildmode/buttons.dm @@ -24,7 +24,7 @@ else if(LAZYACCESS(modifiers, RIGHT_CLICK)) bd.mode.change_settings(usr.client) - update_icon() + update_appearance() return 1 /atom/movable/screen/buildmode/mode/update_icon_state() @@ -51,7 +51,7 @@ /atom/movable/screen/buildmode/bdir/Click() bd.toggle_dirswitch() - update_icon() + update_appearance() return 1 // used to switch between modes diff --git a/code/modules/cargo/bounty_console.dm b/code/modules/cargo/bounty_console.dm index 378357904694..a6f0500723e1 100644 --- a/code/modules/cargo/bounty_console.dm +++ b/code/modules/cargo/bounty_console.dm @@ -26,7 +26,7 @@ /obj/item/paper/bounty_printout/Initialize() . = ..() info = "

    Nanotrasen Cargo Bounties


    " - update_icon() + update_appearance() for(var/datum/bounty/bounty as anything in GLOB.bounties_list) if(bounty.claimed) diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index fccc26b521b8..3e5938bbaa55 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -557,7 +557,7 @@ return var/obj/structure/closet/supplypod/centcompod/toLaunch = DuplicateObject(temp_pod) //Duplicate the temp_pod (which we have been varediting or configuring with the UI) and store the result toLaunch.bay = bay //Bay is currently a nonstatic expression, so it cant go into toLaunch using DuplicateObject - toLaunch.update_icon()//we update_icon() here so that the door doesnt "flicker on" right after it lands + toLaunch.update_appearance()//we update_appearance() here so that the door doesnt "flicker on" right after it lands var/shippingLane = GLOB.areas_by_type[/area/centcom/supplypod/flyMeToTheMoon] toLaunch.forceMove(shippingLane) if (launchClone) //We arent launching the actual items from the bay, rather we are creating clones and launching those diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index ac1c4b8bbfdf..8b4c3094ec29 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -242,7 +242,7 @@ rank = "Silicon" var/datum/supply_order/SO = new(pack, name, rank, usr.ckey, "") new /obj/effect/DPtarget(landing_turf, podType, SO) - update_icon() // ?????????????????? + update_appearance() // ?????????????????? return TRUE if("mission-act") diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 7f754ebaa097..72d4d409ccb6 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -66,12 +66,12 @@ /mob/living/simple_animal/pet/gondola/gondolapod/proc/setOpened() opened = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/setClosed), 50) /mob/living/simple_animal/pet/gondola/gondolapod/proc/setClosed() opened = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/pet/gondola/gondolapod/death() qdel(linked_pod) //Will cause the open() proc for the linked supplypod to be called with the "broken" parameter set to true, meaning that it will dump its contents on death diff --git a/code/modules/cargo/order.dm b/code/modules/cargo/order.dm index 69930855a4fe..76310fe838bd 100644 --- a/code/modules/cargo/order.dm +++ b/code/modules/cargo/order.dm @@ -40,7 +40,7 @@ P.info += "Rank: [orderer_rank]
    " P.info += "Comment: [reason]
    " - P.update_icon() + P.update_appearance() return P /datum/supply_order/proc/generateManifest(obj/structure/closet/crate/C, owner, packname) //generates-the-manifests. @@ -63,10 +63,10 @@ P.info += "" P.info += "

    Stamp below to confirm receipt of goods:

    " - P.update_icon() + P.update_appearance() P.forceMove(C) C.manifest = P - C.update_icon() + C.update_appearance() return P diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 39410aa07a35..f33ade28bfb8 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -98,7 +98,7 @@ if (!adminNamed && !specialised) //We dont want to name it ourselves if it has been specifically named by an admin using the centcom_podlauncher datum name = POD_STYLES[chosenStyle][POD_NAME] desc = POD_STYLES[chosenStyle][POD_DESC] - update_icon() + update_appearance() /obj/structure/closet/supplypod/tool_interact(obj/item/W, mob/user) if(bluespace) //We dont want to worry about interacting with bluespace pods, as they are due to delete themselves soon anyways. @@ -212,7 +212,7 @@ playsound(get_turf(holder), openingSound, soundVolume, FALSE, FALSE) //Special admin sound to play INVOKE_ASYNC(holder, .proc/setOpened) //Use the INVOKE_ASYNC proc to call setOpened() on whatever the holder may be, without giving the atom/movable base class a setOpened() proc definition if (style == STYLE_SEETHROUGH) - update_icon() + update_appearance() for (var/atom/movable/O in holder.contents) //Go through the contents of the holder O.forceMove(T) //move everything from the contents of the holder to the turf of the holder if (!effectQuiet && !openingSound && style != STYLE_SEETHROUGH) //If we aren't being quiet, play the default pod open sound @@ -254,10 +254,10 @@ handleReturningClose(holder, FALSE) /obj/structure/closet/supplypod/proc/setOpened() //Proc exists here, as well as in any atom that can assume the role of a "holder" of a supplypod. Check the open() proc for more details - update_icon() + update_appearance() /obj/structure/closet/supplypod/proc/setClosed() //Ditto - update_icon() + update_appearance() /obj/structure/closet/supplypod/Destroy() open_pod(holder = src, broken = TRUE) //Lets dump our contents by opening up @@ -348,7 +348,7 @@ addtimer(CALLBACK(src, .proc/endLaunch), pod.fallDuration, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation /obj/effect/DPtarget/proc/endLaunch() - pod.update_icon() + pod.update_appearance() pod.forceMove(drop_location()) //The fallingPod animation is over, now's a good time to forceMove the actual pod into position QDEL_NULL(fallingPod) //Delete the falling pod effect, because at this point its animation is over. We dont use temp_visual because we want to manually delete it as soon as the pod appears for (var/mob/living/M in src) //Remember earlier (initialization) when we moved mobs into the DPTarget so they wouldnt get lost in nullspace? Time to get them out diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 808310047800..b5ae8023bb4d 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -29,7 +29,7 @@ playsound(src,'sound/machines/synth_no.ogg',50,FALSE) if (SP_UNREADY) ready = FALSE - update_icon() + update_appearance() /obj/item/supplypod_beacon/update_overlays() . = ..() diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 3a368ce476b0..803b476d1cf9 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -352,7 +352,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.save_preferences() if(isobserver(mob)) var/mob/dead/observer/O = mob - O.update_icon() + O.update_appearance() /client/verb/pick_ghost_customization() set name = "Ghost Customization" diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 641a070f1ddc..634d74e8efd9 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -278,7 +278,7 @@ var/obj/item/pda/agent_pda = target if(istype(agent_pda)) agent_pda.update_label() - agent_pda.update_icon() + agent_pda.update_appearance() /datum/action/item_action/chameleon/change/pda/apply_job_data(datum/job/job_datum) ..() diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 41fae944c2a0..05ec517c4afc 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -25,7 +25,7 @@ /obj/item/clothing/glasses/meson/engine/Initialize() . = ..() START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/clothing/glasses/meson/engine/ComponentInitialize() . = ..() @@ -66,7 +66,7 @@ if(H.glasses == src) H.update_sight() - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index fe190caf570d..7885e4636823 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -46,7 +46,7 @@ turn_on(user) else turn_off(user) - update_icon() + update_appearance() /obj/item/clothing/head/hardhat/update_icon_state() if(on) @@ -159,7 +159,7 @@ /obj/item/clothing/head/hardhat/weldhat/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/clothing/head/hardhat/weldhat/attack_self(mob/living/user) toggle_helmet_light(user) @@ -171,7 +171,7 @@ /obj/item/clothing/head/hardhat/weldhat/proc/toggle_welding_screen(mob/living/user) if(weldingvisortoggle(user)) playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing - update_icon() + update_appearance() /obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands) . = ..() diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 8a1b48b49c58..35960c36bbab 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -47,7 +47,7 @@ if(A == attached_light) set_attached_light(null) update_helmlight() - update_icon() + update_appearance() QDEL_NULL(action_light) qdel(A) return ..() @@ -105,7 +105,7 @@ return to_chat(user, "You click [attaching_seclite] into place on [src].") set_attached_light(attaching_seclite) - update_icon() + update_appearance() update_helmlight() action_light = new(src) if(loc == user) @@ -125,7 +125,7 @@ var/obj/item/flashlight/removed_light = set_attached_light(null) update_helmlight() removed_light.update_brightness(user) - update_icon() + update_appearance() user.update_inv_head() QDEL_NULL(action_light) return TRUE @@ -150,7 +150,7 @@ /obj/item/clothing/head/helmet/proc/update_helmlight() if(attached_light) - update_icon() + update_appearance() for(var/datum/action/action as anything in actions) action.UpdateButtonIcon() @@ -229,7 +229,7 @@ /obj/item/clothing/head/helmet/marine/Initialize(mapload) set_attached_light(new /obj/item/flashlight/seclite) update_helmlight() - update_icon() + update_appearance() . = ..() /obj/item/clothing/head/helmet/marine/security diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 53c2f56ae0d3..383d43d3276b 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -173,14 +173,14 @@ /obj/item/clothing/head/kitty/visual_equipped(mob/living/carbon/human/user, slot) if(ishuman(user) && slot == ITEM_SLOT_HEAD) - update_icon(user) + update_icon(ALL, user) user.update_inv_head() //Color might have been changed by update_icon. ..() -/obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user) +/obj/item/clothing/head/kitty/update_icon(updates=ALL, mob/living/carbon/human/user) + . = ..() if(ishuman(user)) add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) - return ..() /obj/item/clothing/head/kitty/genuine desc = "A pair of kitty ears. A tag on the inside says \"Hand made from real cats.\"" @@ -233,7 +233,7 @@ /obj/item/clothing/head/wig/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/item/clothing/head/wig/update_icon_state() var/datum/sprite_accessory/S = GLOB.hairstyles_list[hairstyle] @@ -266,7 +266,7 @@ user.visible_message("[user] changes \the [src]'s hairstyle to [new_style].", "You change \the [src]'s hairstyle to [new_style].") if(newcolor && newcolor != color) // only update if necessary add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() /obj/item/clothing/head/wig/afterattack(mob/living/carbon/human/target, mob/user) . = ..() @@ -274,7 +274,7 @@ to_chat(user, "You adjust the [src] to look just like [target.name]'s [target.hairstyle].") add_atom_colour("#[target.hair_color]", FIXED_COLOUR_PRIORITY) hairstyle = target.hairstyle - update_icon() + update_appearance() /obj/item/clothing/head/wig/random/Initialize(mapload) hairstyle = pick(GLOB.hairstyles_list - "Bald") //Don't want invisible wig @@ -297,7 +297,7 @@ if(ishuman(user) && slot == ITEM_SLOT_HEAD) if (color != "#[user.hair_color]") // only update if necessary add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() user.update_inv_head() /obj/item/clothing/head/wig/suicide_act(mob/living/user) diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index 35cb36632f03..a09ea07a3250 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -28,7 +28,7 @@ on = !on if(!always_noslip) clothing_flags &= ~NOSLIP - update_icon() + update_appearance() to_chat(loc, "You ran out of bananium!") else new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(wearer.dir, 180))) //honk @@ -50,7 +50,7 @@ var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) if(bananium.get_material_amount(/datum/material/bananium)) on = !on - update_icon() + update_appearance() to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") if(!always_noslip) if(on) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 8d16af1a277f..5e0ab797bae7 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -367,7 +367,7 @@ else flags_cover &= ~(HEADCOVERSMOUTH) flags_inv &= ~visor_flags_inv - update_icon() + update_appearance() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) toggle_hardsuit_mode(user) user.update_inv_head() @@ -396,7 +396,7 @@ linkedsuit.flags_inv &= ~(HIDEGLOVES | HIDESHOES | HIDEJUMPSUIT) linkedsuit.icon_state = "hardsuit[on]-[hardsuit_type]" - linkedsuit.update_icon() + linkedsuit.update_appearance() user.update_inv_wear_suit() user.update_inv_w_uniform() user.update_equipment_speed_mods() @@ -987,7 +987,7 @@ turn_on(user) else turn_off(user) - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/light/update_icon_state() if(on) @@ -1170,7 +1170,7 @@ flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) flags_inv &= ~visor_flags_inv cold_protection &= ~HEAD - update_icon() + update_appearance() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) user.update_inv_head() if(iscarbon(user)) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 74b9161c521f..e6e15c51aecc 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -71,7 +71,7 @@ /obj/item/clothing/head/helmet/space/plasmaman/Initialize() . = ..() visor_toggling() - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/plasmaman/AltClick(mob/user) if(user.canUseTopic(src, BE_CLOSE)) @@ -83,10 +83,10 @@ to_chat(user, "Your helmet's torch can't pass through your welding visor!") helmet_on = FALSE playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing - update_icon() + update_appearance() else playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/plasmaman/update_overlays() . = ..() @@ -102,7 +102,7 @@ smile = TRUE smile_color = CR.paint_color to_chat(user, "You draw a smiley on the helmet visor.") - update_icon() + update_appearance() else to_chat(user, "Seems like someone already drew something on this helmet's visor!") @@ -121,7 +121,7 @@ . = ..() if(smile && (clean_types & CLEAN_TYPE_PAINT)) smile = FALSE - update_icon() + update_appearance() return TRUE /obj/item/clothing/head/helmet/space/plasmaman/attack_self(mob/user) diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 10e53fdc958e..cba3d243adda 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -53,7 +53,7 @@ P.info = text("
    Forensic Record - (FR-[])


    ", frNum) P.info += jointext(log, "
    ") P.info += "
    Notes:
    " - P.update_icon() + P.update_appearance() if(ismob(loc)) var/mob/M = loc diff --git a/code/modules/disks/disk.dm b/code/modules/disks/disk.dm index 9d2f4aac8232..f3d9939becfe 100644 --- a/code/modules/disks/disk.dm +++ b/code/modules/disks/disk.dm @@ -32,7 +32,7 @@ add_atom_colour(random_disk_colors[our_color], FIXED_COLOUR_PRIORITY) else add_atom_colour(color, FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() update_overlays() /obj/item/disk/update_overlays() diff --git a/code/modules/donator/_donator.dm b/code/modules/donator/_donator.dm index ee596645d7ca..02631ee8ea28 100644 --- a/code/modules/donator/_donator.dm +++ b/code/modules/donator/_donator.dm @@ -290,7 +290,7 @@ GLOBAL_PROTECT(donators) reward.icon = initial(reward.icon) reward.icon_state = reskin_target - reward.update_icon() + reward.update_appearance() return TRUE if(REWARD_CONV) diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm index 5adb1fe27f93..8e3fe9b0a94a 100644 --- a/code/modules/events/prison_break.dm +++ b/code/modules/events/prison_break.dm @@ -47,7 +47,7 @@ if(istype(O, /obj/structure/closet/secure_closet)) var/obj/structure/closet/secure_closet/temp = O temp.locked = FALSE - temp.update_icon() + temp.update_appearance() else if(istype(O, /obj/machinery/door/airlock)) var/obj/machinery/door/airlock/temp = O if(temp.critical_machine) //Skip doors in critical positions, such as the SM chamber. diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm index 905de941d211..4c740ad924ae 100644 --- a/code/modules/events/stray_cargo.dm +++ b/code/modules/events/stray_cargo.dm @@ -49,7 +49,7 @@ var/datum/supply_pack/SP = new pack_type var/obj/structure/closet/crate/crate = SP.generate(null) crate.locked = FALSE //Unlock secure crates - crate.update_icon() + crate.update_appearance() var/obj/structure/closet/supplypod/pod = make_pod() new /obj/effect/DPtarget(LZ, pod, crate) diff --git a/code/modules/fishing/fishing_portal_machine.dm b/code/modules/fishing/fishing_portal_machine.dm index d85565ced0bb..0cbeae7c3dac 100644 --- a/code/modules/fishing/fishing_portal_machine.dm +++ b/code/modules/fishing/fishing_portal_machine.dm @@ -36,12 +36,12 @@ /obj/machinery/fishing_portal_generator/proc/activate() active = AddComponent(/datum/component/fishing_spot, fishing_source) use_power = ACTIVE_POWER_USE - update_icon() + update_appearance() /obj/machinery/fishing_portal_generator/proc/deactivate() QDEL_NULL(active) use_power = IDLE_POWER_USE - update_icon() + update_appearance() /obj/machinery/fishing_portal_generator/on_set_is_operational(old_value) if(old_value) diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index e4a1bdb4c881..176a7183f560 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -54,7 +54,7 @@ /obj/item/fishing_rod/proc/consume_bait() if(bait) QDEL_NULL(bait) - update_icon() + update_appearance() /obj/item/fishing_rod/attack_self(mob/user) if(currently_hooked_item) @@ -303,7 +303,7 @@ // Trying to remove the item if(!new_item && current_item) user.put_in_hands(current_item) - update_icon() + update_appearance() return // Trying to insert item into empty slot if(new_item && !current_item) @@ -317,7 +317,7 @@ hook = new_item if(ROD_SLOT_LINE) line = new_item - update_icon() + update_appearance() /// Trying to swap item if(new_item && current_item) if(!slot_check(new_item,slot)) @@ -331,7 +331,7 @@ if(ROD_SLOT_LINE) line = new_item user.put_in_hands(current_item) - update_icon() + update_appearance() /obj/item/fishing_rod/Exited(atom/movable/gone, direction) @@ -361,7 +361,7 @@ . = ..() var/obj/item/reagent_containers/food/snacks/bait/doughball/synthetic/infinite_supply_of_bait = new(src) bait = infinite_supply_of_bait - update_icon() + update_appearance() /obj/item/fishing_rod/tech/consume_bait() return diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 793cf91616d1..61c63b5407b0 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -123,7 +123,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(target.client) target.client.images |= current_image -/obj/effect/hallucination/simple/update_icon(new_state,new_icon,new_px=0,new_py=0) +/obj/effect/hallucination/simple/update_icon(updates=ALL, new_state,new_icon,new_px=0,new_py=0) image_state = new_state if(new_icon) image_icon = new_icon @@ -131,8 +131,8 @@ GLOBAL_LIST_INIT(hallucination_list, list( image_icon = initial(image_icon) px = new_px py = new_py + . = ..() Show() - return ..() /obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir) . = ..() diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index fe2c218d42d3..a634a14173ab 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -344,7 +344,7 @@ list_reagents = list(random_reagent.type = 50) . = ..() desc += "The writing reads '[random_reagent.name]'." - update_icon() + update_appearance() /obj/item/reagent_containers/food/drinks/beer name = "space beer" diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 578329033214..65c3ac05dd5b 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -661,7 +661,7 @@ /obj/item/storage/bottles/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/storage/bottles/ComponentInitialize() . = ..() @@ -697,7 +697,7 @@ sealed = FALSE S.locked = FALSE new /obj/item/stack/sheet/mineral/wood(get_turf(src), 1) - update_icon() + update_appearance() return TRUE /obj/item/storage/bottles/sandblast diff --git a/code/modules/food_and_drinks/drinks/drinks/modglass.dm b/code/modules/food_and_drinks/drinks/drinks/modglass.dm index 8d519ac2e11e..01ec56b6ca86 100644 --- a/code/modules/food_and_drinks/drinks/drinks/modglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/modglass.dm @@ -82,7 +82,7 @@ GLOBAL_LIST_EMPTY(glass_variants) if(!choice || choice == icon_state) return icon_state = choice - update_icon() + update_appearance() //if the object is a garnish, with a valid garnish_state, and there isnt already a garnish of the same type, add it to the list at the index of its layer /obj/item/reagent_containers/food/drinks/modglass/attackby(obj/item/garnish/garnish, mob/user, params) @@ -94,13 +94,13 @@ GLOBAL_LIST_EMPTY(glass_variants) to_chat(user, "Theres already something on this part of the glass!") return ..() garnishes["[garnish.garnish_layer]"] = garnish.garnish_state - update_icon() + update_appearance() qdel(garnish) //clear garnishes on wash /obj/item/reagent_containers/food/drinks/modglass/wash(clean_types) garnishes = list() - update_icon() + update_appearance() /** * for each layer a garnish can be on, if there is a garnish in that layers index, apply a mutable appearance of its type and our rim size diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index c27dac4e27e3..bda1d8cca7dd 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -40,7 +40,7 @@ . = ..() possible_states = typelist("possible_states", possible_states) - update_icon() + update_appearance() /obj/item/reagent_containers/food/condiment/update_icon() cut_overlays() @@ -124,7 +124,7 @@ playsound(src, 'sound/items/glass_transfer.ogg', 50, 1) /obj/item/reagent_containers/food/condiment/on_reagent_change(changetype) - update_icon() + update_appearance() /obj/item/reagent_containers/food/condiment/enzyme name = "universal enzyme" @@ -248,6 +248,7 @@ ) /obj/item/reagent_containers/food/condiment/pack/update_icon() + SHOULD_CALL_PARENT(FALSE) return ..() /obj/item/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index 711b2a3d432d..465b7939c0b7 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -325,7 +325,7 @@ /obj/item/reagent_containers/glass/bowl/on_reagent_change(changetype) ..() - update_icon() + update_appearance() /obj/item/reagent_containers/glass/bowl/update_icon_state() if(!reagents || !reagents.total_volume) diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index 279370dc48f9..95ef84ae5cb7 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -229,7 +229,7 @@ /obj/item/reagent_containers/food/snacks/popsicle/On_Consume(mob/living/eater) . = ..() - update_icon() + update_appearance() /obj/item/popsicle_stick name = "popsicle stick" diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index a912c93c5280..6cedb2a98142 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -842,14 +842,14 @@ pancake.pixel_x = rand(-1,1) pancake.pixel_y = 3 * contents.len - 1 add_overlay(pancake) - update_icon() + update_appearance() /obj/item/reagent_containers/food/snacks/pancakes/attack(mob/M, mob/user, def_zone, stacked = TRUE) if(user.a_intent == INTENT_HARM || !contents.len || !stacked) return ..() var/obj/item/O = contents[contents.len] . = O.attack(M, user, def_zone, FALSE) - update_icon() + update_appearance() #undef PANCAKE_MAX_STACK diff --git a/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm b/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm index 89af54550e7f..b0d91d370ab1 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm @@ -71,7 +71,7 @@ for(var/obj/target_item as anything in contents) target_item.forceMove(get_turf(src)) - update_icon() + update_appearance() /obj/item/cutting_board/wrench_act(mob/living/user, obj/item/I) . = ..() @@ -102,7 +102,7 @@ processed_thing.reagents.copy_to(new_food_item, processed_thing.reagents.total_volume)//, multiplier = 1 / food_multiplier) qdel(processed_thing) - update_icon() + update_appearance() /obj/item/cutting_board/attackby(obj/item/attacking_item, mob/living/user, params) if(user.a_intent == INTENT_HARM) @@ -135,7 +135,7 @@ attacking_item.forceMove(src) balloon_alert(user, "placed [attacking_item] on board") - update_icon() + update_appearance() return //if(IS_EDIBLE(attacking_item)) //We may have failed but the user wants some feedback on why they can't put x food item on the board diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index cd0f59140894..3a7c7245955c 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -99,7 +99,7 @@ user.visible_message("[user] stuffs [C] into the gibber!") C.forceMove(src) occupant = C - update_icon() + update_appearance() else startgibbing(user) @@ -133,7 +133,7 @@ /obj/machinery/gibber/proc/go_out() dropContents() - update_icon() + update_appearance() /obj/machinery/gibber/proc/startgibbing(mob/user) if(src.operating) @@ -145,7 +145,7 @@ audible_message("You hear a loud squelchy grinding sound.") playsound(src.loc, 'sound/machines/juicer.ogg', 50, TRUE) operating = TRUE - update_icon() + update_appearance() var/offset = prob(50) ? -2 : 2 animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking @@ -221,7 +221,7 @@ pixel_x = base_pixel_x //return to its spot after shaking operating = FALSE - update_icon() + update_appearance() //auto-gibs anything that bumps into it /obj/machinery/gibber/autogibber diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index 313bd3f09b80..90fb5c27ae7b 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -20,8 +20,10 @@ /obj/machinery/grill/update_icon_state() if(grilled_item) icon_state = "grill" + return ..() else if(grill_fuel) icon_state = "grill_on" + return ..() else icon_state = "grill_open" return ..() @@ -35,7 +37,7 @@ else grill_fuel += (50 * stackamount) S.use(stackamount) - update_icon() + update_appearance() return if(I.resistance_flags & INDESTRUCTIBLE) to_chat(user, "You don't feel it would be wise to grill [I]...") @@ -55,7 +57,7 @@ grilled_item = food_item grilled_item.foodtype |= GRILLED to_chat(user, "You put the [grilled_item] on [src].") - update_icon() + update_appearance() grill_loop.start() return else @@ -63,13 +65,13 @@ grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy))) to_chat(user, "You pour the Monkey Energy in [src].") I.reagents.remove_reagent(/datum/reagent/consumable/monkey_energy, I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy)) - update_icon() + update_appearance() return ..() /obj/machinery/grill/process() ..() - update_icon() + update_appearance() if(!grill_fuel) return else @@ -118,7 +120,7 @@ if(grilled_item) to_chat(user, "You take out [grilled_item] from [src].") grilled_item.forceMove(drop_location()) - update_icon() + update_appearance() return return ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index 404dfb79a77a..1d4e366ad6d9 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -131,7 +131,7 @@ replace_beaker(user, B) to_chat(user, "You add [B] to [src].") updateUsrDialog() - update_icon() + update_appearance() return else if(O.is_drainable()) return diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 94b922f601fe..101b733d3677 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -115,7 +115,7 @@ if(dirty < 100) if(default_deconstruction_screwdriver(user, icon_state, icon_state, O) || default_unfasten_wrench(user, O)) - update_icon() + update_appearance() return if(panel_open && is_wire_tool(O)) @@ -133,7 +133,7 @@ if(O.use_tool(src, user, 20)) user.visible_message("[user] fixes \the [src].", "You fix \the [src].") broken = 0 - update_icon() + update_appearance() return FALSE //to use some fuel else to_chat(user, "It's broken!") @@ -147,7 +147,7 @@ playsound(loc, 'sound/effects/spray3.ogg', 50, TRUE, -6) user.visible_message("[user] cleans \the [src].", "You clean \the [src].") dirty = 0 - update_icon() + update_appearance() else to_chat(user, "You need more space cleaner!") return TRUE @@ -158,7 +158,7 @@ if(do_after(user, P.cleanspeed, target = src)) user.visible_message("[user] cleans \the [src].", "You clean \the [src].") dirty = 0 - update_icon() + update_appearance() return TRUE if(dirty == 100) // The microwave is all dirty so can't be used! @@ -264,7 +264,7 @@ set_light(1.5) soundloop.start() - update_icon() + update_appearance() /obj/machinery/microwave/proc/spark() visible_message("Sparks fly around [src]!") @@ -288,7 +288,7 @@ wzhzhzh() playsound(src.loc, 'sound/effects/splat.ogg', 50, TRUE) dirty_anim_playing = TRUE - update_icon() + update_appearance() loop(MICROWAVE_MUCK, 4) /obj/machinery/microwave/proc/loop(type, time, wait = max(12 - 2 * efficiency, 2)) // standard wait is 10 @@ -356,7 +356,7 @@ /obj/machinery/microwave/proc/after_finish_loop() set_light(0) soundloop.stop() - update_icon() + update_appearance() #undef MICROWAVE_NORMAL #undef MICROWAVE_MUCK diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 32c73b0c0677..ed1347fb5124 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -40,25 +40,30 @@ . += "The status display reads: This unit can hold a maximum of [max_n_of_items] items." /obj/machinery/smartfridge/update_icon_state() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!machine_stat) - SSvis_overlays.add_vis_overlay(src, icon, "smartfridge-light-mask", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - if (visible_contents) - switch(contents.len) - if(0) - icon_state = "[initial(icon_state)]" - if(1 to 25) - icon_state = "[initial(icon_state)]1" - if(26 to 75) - icon_state = "[initial(icon_state)]2" - if(76 to INFINITY) - icon_state = "[initial(icon_state)]3" - else - icon_state = "[initial(icon_state)]" - else + if(machine_stat) icon_state = "[initial(icon_state)]-off" + return ..() + + if(!visible_contents) + icon_state = "[initial(icon_state)]" + return ..() + + switch(contents.len) + if(0) + icon_state = "[initial(icon_state)]" + if(1 to 25) + icon_state = "[initial(icon_state)]1" + if(26 to 75) + icon_state = "[initial(icon_state)]2" + if(76 to INFINITY) + icon_state = "[initial(icon_state)]3" return ..() +/obj/machinery/smartfridge/update_overlays() + . = ..() + if(!machine_stat) + SSvis_overlays.add_vis_overlay(src, icon, "smartfridge-light-mask", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + /******************* * Item Adding @@ -94,7 +99,7 @@ user.visible_message("[user] adds \the [O] to \the [src].", "You add \the [O] to \the [src].") updateUsrDialog() if (visible_contents) - update_icon() + update_appearance() return TRUE if(istype(O, /obj/item/storage/bag)) @@ -120,7 +125,7 @@ if(O.contents.len > 0) to_chat(user, "Some items are refused.") if (visible_contents) - update_icon() + update_appearance() return TRUE else to_chat(user, "There is nothing in [O] to put in [src]!") @@ -216,7 +221,7 @@ dispense(O, usr) break if (visible_contents) - update_icon() + update_appearance() return TRUE for(var/obj/item/O in src) @@ -226,7 +231,7 @@ dispense(O, usr) desired-- if (visible_contents) - update_icon() + update_appearance() return TRUE return FALSE @@ -273,7 +278,7 @@ /obj/machinery/smartfridge/drying_rack/ui_act(action, params) . = ..() if(.) - update_icon() // This is to handle a case where the last item is taken out manually instead of through drying pop-out + update_appearance() // This is to handle a case where the last item is taken out manually instead of through drying pop-out return switch(action) if("Dry") @@ -293,7 +298,7 @@ /obj/machinery/smartfridge/drying_rack/load() //For updating the filled overlay ..() - update_icon() + update_appearance() /obj/machinery/smartfridge/drying_rack/update_overlays() . = ..() @@ -307,7 +312,7 @@ if(drying) if(rack_dry())//no need to update unless something got dried SStgui.update_uis(src) - update_icon() + update_appearance() /obj/machinery/smartfridge/drying_rack/accept_check(obj/item/O) if(istype(O, /obj/item/reagent_containers/food/snacks/)) @@ -325,7 +330,7 @@ else drying = TRUE use_power = ACTIVE_POWER_USE - update_icon() + update_appearance() /obj/machinery/smartfridge/drying_rack/proc/rack_dry() for(var/obj/item/reagent_containers/food/snacks/S in src) diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index db1db0040038..772893e3ff16 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -12,6 +12,7 @@ icon = 'icons/obj/food/containers.dmi' icon_state = "pizzabox" item_state = "pizzabox" + base_icon_state = "pizzabox" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' @@ -31,16 +32,17 @@ /obj/item/pizzabox/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/pizzabox/Destroy() unprocess() return ..() -/obj/item/pizzabox/update_icon() +/obj/item/pizzabox/update_desc() // Description desc = initial(desc) + . = ..() if(open) if(pizza) desc = "[desc] It appears to have \a [pizza] inside. Use your other hand to take it out." @@ -57,35 +59,41 @@ if(box.boxtag != "") desc = "[desc] The [boxes.len ? "top box" : "box"]'s tag reads: [box.boxtag]" - // Icon/Overlays - cut_overlays() +/obj/item/pizzabox/update_icon_state() + if(!open) + icon_state = "[base_icon_state]" + return ..() + + icon_state = pizza ? "[base_icon_state]_messy" : "[base_icon_state]_open" + bomb?.icon_state = "pizzabomb_[bomb_active ? "active" : "inactive"]" + return ..() + +/obj/item/pizzabox/update_overlays() + . = ..() if(open) - icon_state = "pizzabox_open" if(pizza) - icon_state = "pizzabox_messy" var/mutable_appearance/pizza_overlay = mutable_appearance(pizza.icon, pizza.icon_state) pizza_overlay.pixel_y = -3 - add_overlay(pizza_overlay) + . += pizza_overlay if(bomb) - bomb.icon_state = "pizzabomb_[bomb_active ? "active" : "inactive"]" var/mutable_appearance/bomb_overlay = mutable_appearance(bomb.icon, bomb.icon_state) bomb_overlay.pixel_y = 5 - add_overlay(bomb_overlay) - else - icon_state = "pizzabox" - var/current_offset = 3 - for(var/V in boxes) - var/obj/item/pizzabox/P = V - var/mutable_appearance/box_overlay = mutable_appearance(P.icon, P.icon_state) - box_overlay.pixel_y = current_offset - add_overlay(box_overlay) - current_offset += 3 - var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src - if(box.boxtag != "") - var/mutable_appearance/tag_overlay = mutable_appearance(icon, "pizzabox_tag") - tag_overlay.pixel_y = boxes.len * 3 - add_overlay(tag_overlay) - return ..() + . += bomb_overlay + return + + var/box_offset = 0 + for(var/stacked_box in boxes) + box_offset += 3 + var/obj/item/pizzabox/box = stacked_box + var/mutable_appearance/box_overlay = mutable_appearance(box.icon, box.icon_state) + box_overlay.pixel_y = box_offset + . += box_overlay + + var/obj/item/pizzabox/box = LAZYLEN(boxes.len) ? boxes[boxes.len] : src + if(box.boxtag != "") + var/mutable_appearance/tag_overlay = mutable_appearance(icon, "pizzabox_tag") + tag_overlay.pixel_y = box_offset + . += tag_overlay /obj/item/pizzabox/worn_overlays(isinhands, icon_file) . = list() @@ -105,7 +113,7 @@ audible_message("[icon2html(src, hearers(src))] *beep*") bomb_active = TRUE START_PROCESSING(SSobj, src) - update_icon() + update_appearance() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/pizzabox/attack_hand(mob/user) @@ -116,13 +124,13 @@ user.put_in_hands(pizza) to_chat(user, "You take [pizza] out of [src].") pizza = null - update_icon() + update_appearance() else if(bomb) if(wires.is_all_cut() && bomb_defused) user.put_in_hands(bomb) to_chat(user, "You carefully remove the [bomb] from [src].") bomb = null - update_icon() + update_appearance() return else bomb_timer = input(user, "Set the [bomb] timer from [BOMB_TIMER_MIN] to [BOMB_TIMER_MAX].", bomb, bomb_timer) as num|null @@ -137,14 +145,14 @@ bomb.adminlog = "The [bomb.name] in [src.name] that [key_name(user)] activated has detonated!" to_chat(user, "You trap [src] with [bomb].") - update_icon() + update_appearance() else if(boxes.len) var/obj/item/pizzabox/topbox = boxes[boxes.len] boxes -= topbox user.put_in_hands(topbox) to_chat(user, "You remove the topmost [name] from the stack.") - topbox.update_icon() - update_icon() + topbox.update_appearance() + update_appearance() user.regenerate_icons() /obj/item/pizzabox/attackby(obj/item/I, mob/user, params) @@ -159,8 +167,8 @@ boxes += add newbox.boxes.Cut() to_chat(user, "You put [newbox] on top of [src]!") - newbox.update_icon() - update_icon() + newbox.update_appearance() + update_appearance() user.regenerate_icons() if(boxes.len >= 5) if(prob(10 * boxes.len)) @@ -180,7 +188,7 @@ return pizza = I to_chat(user, "You put [I] in [src].") - update_icon() + update_appearance() return else if(istype(I, /obj/item/bombcore/miniature/pizza)) if(open && !bomb) @@ -189,7 +197,7 @@ wires = new /datum/wires/explosive/pizza(src) bomb = I to_chat(user, "You put [I] in [src]. Sneeki breeki...") - update_icon() + update_appearance() return else if(bomb) to_chat(user, "[src] already has a bomb in it!") @@ -203,7 +211,7 @@ if(!user.canUseTopic(src, BE_CLOSE)) return to_chat(user, "You write with [I] on [src].") - update_icon() + update_appearance() return else if(is_wire_tool(I)) if(wires && bomb) @@ -249,9 +257,9 @@ fall_dir = pick(GLOB.alldirs) step(P.pizza, fall_dir) P.pizza = null - P.update_icon() + P.update_appearance() boxes -= P - update_icon() + update_appearance() if(isliving(loc)) var/mob/living/L = loc L.regenerate_icons() @@ -260,7 +268,7 @@ STOP_PROCESSING(SSobj, src) qdel(wires) wires = null - update_icon() + update_appearance() /obj/item/pizzabox/bomb/Initialize() . = ..() diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm index 209acb8110df..b24749aa9a1a 100644 --- a/code/modules/games/cas.dm +++ b/code/modules/games/cas.dm @@ -78,7 +78,7 @@ H.pickup(user) user.put_in_hands(H) user.visible_message("[user] draws a card from the deck.", "You draw a card from the deck.") - update_icon() + update_appearance() /obj/item/toy/cards/deck/cas/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/toy/cards/singlecard/cas)) @@ -93,7 +93,7 @@ cards += RC user.visible_message("[user] adds a card to the bottom of the deck.","You add the card to the bottom of the deck.") qdel(SC) - update_icon() + update_appearance() /obj/item/toy/cards/deck/cas/update_icon_state() if(cards.len < 26) @@ -130,7 +130,7 @@ else if(flipped) name = buffertext flipped = !flipped - update_icon() + update_appearance() /obj/item/toy/cards/singlecard/cas/AltClick(mob/living/user) if(!ishuman(user) || !user.canUseTopic(src, BE_CLOSE)) diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index 1f0a2c94e98f..92687709e7d9 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars,list( var/obj/item/I = O I.damtype = STAMINA // thou shalt not - N.update_icon() + N.update_appearance() if(ismachinery(O)) var/obj/machinery/M = O M.power_change() diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index 1689f24452ff..2e3a7b72460b 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -185,7 +185,7 @@ ready = !ready - update_icon() + update_appearance() var/numbuttons = 0 var/numready = 0 diff --git a/code/modules/hydroponics/beekeeping/honeycomb.dm b/code/modules/hydroponics/beekeeping/honeycomb.dm index c0ce6dfb6db7..01208eb8eb7e 100644 --- a/code/modules/hydroponics/beekeeping/honeycomb.dm +++ b/code/modules/hydroponics/beekeeping/honeycomb.dm @@ -17,7 +17,7 @@ . = ..() pixel_x = rand(8,-8) pixel_y = rand(8,-8) - update_icon() + update_appearance() /obj/item/reagent_containers/honeycomb/update_overlays() @@ -37,4 +37,4 @@ reagents.add_reagent(R.type,5) else honey_color = "" - update_icon() + update_appearance() diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index aaa8aae9ee7f..e9e40fd167b8 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -42,7 +42,7 @@ ..() if(A == beaker) beaker = null - update_icon() + update_appearance() /obj/machinery/biogenerator/RefreshParts() var/E = 0 @@ -63,7 +63,7 @@ . += "The status display reads: Productivity at [productivity*100]%.
    Matter consumption reduced by [(efficiency*25)-25]%.
    Machine can hold up to [max_items] pieces of produce.
    " /obj/machinery/biogenerator/on_reagent_change(changetype) //When the reagents change, change the icon as well. - update_icon() + update_appearance() /obj/machinery/biogenerator/update_icon_state() if(panel_open) @@ -89,7 +89,7 @@ var/obj/item/reagent_containers/glass/B = beaker B.forceMove(drop_location()) beaker = null - update_icon() + update_appearance() return if(default_deconstruction_crowbar(O)) @@ -105,7 +105,7 @@ return beaker = O to_chat(user, "You add the container to the machine.") - update_icon() + update_appearance() else to_chat(user, "Close the maintenance panel first.") return @@ -185,12 +185,12 @@ qdel(I) if(S) processing = TRUE - update_icon() + update_appearance() playsound(loc, 'sound/machines/blender.ogg', 50, TRUE) use_power(S * 30) sleep(S + 15 / productivity) processing = FALSE - update_icon() + update_appearance() /obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE) if(materials.len != 1 || materials[1] != SSmaterials.GetMaterialRef(/datum/material/biomass)) @@ -200,7 +200,7 @@ else if(remove_points) points -= materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency - update_icon() + update_appearance() return TRUE /obj/machinery/biogenerator/proc/check_container_volume(list/reagents, multiplier = 1) @@ -241,7 +241,7 @@ beaker.reagents.add_reagent(R, D.make_reagents[R]) . = 1 --i - update_icon() + update_appearance() return . /obj/machinery/biogenerator/proc/detach(mob/living/user) @@ -251,7 +251,7 @@ else beaker.drop_location(get_turf(src)) beaker = null - update_icon() + update_appearance() /obj/machinery/biogenerator/ui_status(mob/user) if(machine_stat & BROKEN || panel_open) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index a8e17833af14..4c9eb274dcb0 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -66,7 +66,7 @@ reagents.flags |= DRAINABLE reagents.flags &= ~(REFILLABLE) to_chat(user, "You close [src], letting you draw from its tap.") - update_icon() + update_appearance() /obj/structure/fermenting_barrel/update_icon_state() if(open) diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 8be27a802e3e..a21e9f71afc4 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -69,7 +69,7 @@ /obj/machinery/plantgenes/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "dnamod", "dnamod", I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) return @@ -328,7 +328,7 @@ disk.update_disk_name() qdel(seed) seed = null - update_icon() + update_appearance() if("replace") if(disk && disk.gene && istype(disk.gene, G.type) && istype(G, /datum/plant_gene/core)) seed.genes -= G @@ -360,7 +360,7 @@ S.forceMove(src) seed = S update_genes() - update_icon() + update_appearance() /obj/machinery/plantgenes/proc/eject_disk() if (disk && !operation) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index fe6658a38135..fee6a3857d67 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -29,6 +29,9 @@ var/recent_bee_visit = FALSE //Have we been visited by a bee recently, so bees dont overpollinate one plant var/datum/weakref/lastuser //Last user to add reagents to a tray. Mostly for logging. var/self_sustaining = FALSE //If the tray generates nutrients and water on its own + ///The icon state for the overlay used to represent that this tray is self-sustaining. + var/self_sustaining_overlay_icon_state = "gaia_blessing" + // Here lies irrigation. You won't be missed, because you were never used. /obj/machinery/hydroponics/Initialize() @@ -120,7 +123,7 @@ visible_message("[name]'s auto-grow functionality shuts off!") idle_power_usage = 0 self_sustaining = FALSE - update_icon() + update_appearance() else if(self_sustaining) adjustWater(rand(1,2)) @@ -265,7 +268,7 @@ weedinvasion() // Weed invasion into empty tray needs_update = 1 if (needs_update) - update_icon() + update_appearance() if(myseed && prob(5 * (11-myseed.production))) for(var/g in myseed.genes) @@ -274,31 +277,28 @@ selectedtrait.on_grow(src) return -/obj/machinery/hydroponics/update_icon() - //Refreshes the icon and sets the luminosity - cut_overlays() +/obj/machinery/hydroponics/update_appearance(updates) + . = ..() if(self_sustaining) - if(istype(src, /obj/machinery/hydroponics/soil)) - add_atom_colour(rgb(255, 175, 0), FIXED_COLOUR_PRIORITY) - else - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "gaia_blessing")) set_light(3) + return + if(myseed?.get_gene(/datum/plant_gene/trait/glow)) // Hydroponics needs a refactor, badly. + var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) + set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) + return + set_light(0) +/obj/machinery/hydroponics/update_overlays() + . = ..() if(myseed) - update_icon_plant() - update_icon_lights() + . += update_plant_overlay() + . += update_status_light_overlays() - if(!self_sustaining) - if(myseed && myseed.get_gene(/datum/plant_gene/trait/glow)) - var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) - set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) - else - set_light(0) - - return ..() + if(self_sustaining && self_sustaining_overlay_icon_state) + . += mutable_appearance(icon, self_sustaining_overlay_icon_state) -/obj/machinery/hydroponics/proc/update_icon_plant() +/obj/machinery/hydroponics/proc/update_plant_overlay() var/mutable_appearance/plant_overlay = mutable_appearance(myseed.growing_icon, layer = OBJ_LAYER + 0.01) if(dead) plant_overlay.icon_state = myseed.icon_dead @@ -311,19 +311,20 @@ var/t_growthstate = clamp(round((age / myseed.maturation) * myseed.growthstages), 1, myseed.growthstages) plant_overlay.icon_state = "[myseed.icon_grow][t_growthstate]" plant_overlay.pixel_y += 3 //to adjust the plant sprites to the new one without touching every single file - add_overlay(plant_overlay) + return plant_overlay -/obj/machinery/hydroponics/proc/update_icon_lights() +/obj/machinery/hydroponics/proc/update_status_light_overlays() + . = list() if(harvest) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_harvest3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_harvest3") if(plant_health <= (myseed.endurance / 2)) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowhealth3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowhealth3") if(weedlevel >= 5 || pestlevel >= 5 || toxic >= 40) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_alert3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_alert3") if(reagents.total_volume <= 2) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lownutri3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lownutri3") if(waterlevel <= 10) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowwater3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowwater3") /obj/machinery/hydroponics/examine(user) @@ -385,7 +386,7 @@ harvest = 0 weedlevel = 0 // Reset pestlevel = 0 // Reset - update_icon() + update_appearance() visible_message("The [oldPlantName] is overtaken by some [myseed.plantname]!") name = "hydroponics tray ([myseed.plantname])" if(myseed.product) @@ -421,7 +422,7 @@ weedlevel = 0 // Reset sleep(5) // Wait a while - update_icon() + update_appearance() visible_message("[oldPlantName] suddenly mutates into [myseed.plantname]!") TRAY_NAME_UPDATE @@ -441,7 +442,7 @@ weedlevel = 0 // Reset sleep(5) // Wait a while - update_icon() + update_appearance() visible_message("The mutated weeds in [src] spawn some [myseed.plantname]!") TRAY_NAME_UPDATE else @@ -458,7 +459,7 @@ pestlevel = 0 // Pests die lastproduce = 0 if(!dead) - update_icon() + update_appearance() dead = TRUE @@ -529,11 +530,11 @@ if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || istype(reagent_source, /obj/item/reagent_containers/pill)) qdel(reagent_source) lastuser = user - H.update_icon() + H.update_appearance() return 1 - H.update_icon() + H.update_appearance() if(reagent_source) // If the source wasn't composted and destroyed - reagent_source.update_icon() + reagent_source.update_appearance() return 1 else if(istype(O, /obj/item/seeds) && !istype(O, /obj/item/seeds/sample)) @@ -549,7 +550,7 @@ age = 1 plant_health = myseed.endurance lastcycle = world.time - update_icon() + update_appearance() return else to_chat(user, "[src] already has seeds in it!") @@ -582,7 +583,7 @@ if(weedlevel > 0) user.visible_message("[user] uproots the weeds.", "You remove the weeds from [src].") weedlevel = 0 - update_icon() + update_appearance() else to_chat(user, "This plot is completely devoid of weeds! It doesn't need uprooting.") @@ -612,7 +613,7 @@ name = initial(name) desc = initial(desc) weedlevel = 0 //Has a side effect of cleaning up those nasty weeds - update_icon() + update_appearance() else if(istype(O, /obj/item/gun/energy/floragun)) var/obj/item/gun/energy/floragun/flowergun = O if(flowergun.cell.charge < REVOLUTION_CHARGE) // In case an admin var edits the gun or guns gain the ability to have their cell upgraded @@ -638,7 +639,7 @@ myseed.mutatelist = list(fresh_mut_list[locked_mutation]) myseed.endurance = (myseed.endurance/2) flowergun.cell.use(REVOLUTION_CHARGE) - flowergun.update_icon() + flowergun.update_appearance() to_chat(user, "[myseed.plantname]'s mutation was set to [locked_mutation], depleting [flowergun]'s cell!") return else @@ -665,7 +666,7 @@ to_chat(user, "You remove the dead plant from [src].") qdel(myseed) myseed = null - update_icon() + update_appearance() TRAY_NAME_UPDATE else if(user) @@ -683,12 +684,12 @@ self_sustaining = !self_sustaining idle_power_usage = self_sustaining ? 1250 : 0 to_chat(user, "You [self_sustaining ? "activate" : "deactivated"] [src]'s autogrow function[self_sustaining ? ", maintaining the tray's health while using high amounts of power" : ""].") - update_icon() + update_appearance() /obj/machinery/hydroponics/AltClick(mob/user) . = ..() if(!anchored) - update_icon() + update_appearance() return FALSE var/warning = alert(user, "Are you sure you wish to empty the tray's nutrient beaker?","Empty Tray Nutrients?", "Yes", "No") if(warning == "Yes" && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) @@ -714,7 +715,7 @@ if(self_sustaining) //No reason to pay for an empty tray. idle_power_usage = 0 self_sustaining = FALSE - update_icon() + update_appearance() /// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds./// /obj/machinery/hydroponics/proc/adjustWater(adjustamt) @@ -753,8 +754,14 @@ use_power = NO_POWER_USE flags_1 = NODECONSTRUCT_1 unwrenchable = FALSE + self_sustaining_overlay_icon_state = null + +/obj/machinery/hydroponics/soil/update_icon(updates=ALL) + . = ..() + if(self_sustaining) + add_atom_colour(rgb(255, 175, 0), FIXED_COLOUR_PRIORITY) -/obj/machinery/hydroponics/soil/update_icon_lights() +/obj/machinery/hydroponics/soil/update_status_light_overlays() return // Has no lights /obj/machinery/hydroponics/soil/attackby(obj/item/O, mob/user, params) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 0a6264b8bda6..bc18ce87377b 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -276,8 +276,8 @@ C.charge = newcharge if(isobj(C.loc)) var/obj/O = C.loc - O.update_icon() //update power meters and such - C.update_icon() + O.update_appearance() //update power meters and such + C.update_appearance() batteries_recharged = 1 if(batteries_recharged) to_chat(target, "Your batteries are recharged!") @@ -481,7 +481,7 @@ HY.harvest = 0 HY.weedlevel = 0 // Reset HY.pestlevel = 0 // Reset - HY.update_icon() + HY.update_appearance() HY.visible_message("The [H.myseed.plantname] spreads!") /datum/plant_gene/trait/plant_type // Parent type diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index c15f4cb42c7c..800fd9032b5d 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -97,14 +97,14 @@ */ /obj/item/instrument/piano_synth/headphones/proc/start_playing() icon_state = "[initial(icon_state)]_on" - update_icon() + update_appearance() /** * Called by a component signal when our song stops playing. */ /obj/item/instrument/piano_synth/headphones/proc/stop_playing() icon_state = "[initial(icon_state)]" - update_icon() + update_appearance() /obj/item/instrument/piano_synth/headphones/spacepods name = "\improper Nanotrasen space pods" diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index fc4b72bfa679..6fee1ad69e09 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -57,7 +57,7 @@ if(!isbook(I)) continue I.forceMove(src) - update_icon() + update_appearance() /obj/structure/bookcase/set_anchored(anchorvalue) . = ..() @@ -70,7 +70,7 @@ if(!isbook(I)) continue I.forceMove(Tsec) - update_icon() + update_appearance() /obj/structure/bookcase/attackby(obj/item/I, mob/user, params) switch(state) @@ -91,7 +91,7 @@ W.use(2) to_chat(user, "You add a shelf.") state = BOOKCASE_FINISHED - update_icon() + update_appearance() else if(I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 100) to_chat(user, "You unwrench the frame.") @@ -102,13 +102,13 @@ if(isbook(I)) if(!user.transferItemToLoc(I, src)) return - update_icon() + update_appearance() else if(STR) for(var/obj/item/T in I.contents) if(istype(T, /obj/item/book) || istype(T, /obj/item/spellbook)) STR.remove_from_storage(T, src) to_chat(user, "You empty \the [I] into \the [src].") - update_icon() + update_appearance() else if(istype(I, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You scribble illegibly on the side of [src]!") @@ -128,7 +128,7 @@ to_chat(user, "You pry the shelf out.") new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) state = BOOKCASE_ANCHORED - update_icon() + update_appearance() else return ..() @@ -152,7 +152,7 @@ user.put_in_hands(choice) else choice.forceMove(drop_location()) - update_icon() + update_appearance() /obj/structure/bookcase/deconstruct(disassembled = TRUE) @@ -186,7 +186,7 @@ new /obj/item/book/manual/wiki/engineering_guide(src) new /obj/item/book/manual/wiki/engineering_singulo_tesla(src) new /obj/item/book/manual/wiki/robotics_cyborgs(src) - update_icon() + update_appearance() /obj/structure/bookcase/manuals/research_and_development @@ -195,7 +195,7 @@ /obj/structure/bookcase/manuals/research_and_development/Initialize() . = ..() new /obj/item/book/manual/wiki/research_and_development(src) - update_icon() + update_appearance() /* @@ -379,7 +379,7 @@ /obj/structure/bookcase/manuals/medical/Initialize() . = ..() new /obj/item/book/manual/wiki/medical_cloning(src) - update_icon() + update_appearance() /obj/item/book/suicide_act(mob/living/user) user.visible_message("[user] begins closing the book on life! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/library/random_books.dm b/code/modules/library/random_books.dm index d91ac014862e..d957c89e65a8 100644 --- a/code/modules/library/random_books.dm +++ b/code/modules/library/random_books.dm @@ -34,7 +34,7 @@ . = ..() if(books_to_load && isnum(books_to_load)) books_to_load += pick(-1,-1,0,1,1) - update_icon() + update_appearance() /proc/create_random_books(amount, location, fail_loud = FALSE, category = null, obj/item/book/existing_book) . = list() diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 38f72ce43a04..dcb0cb97d25b 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -248,7 +248,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) else var/obj/item/organ/O = part O.organ_flags |= ORGAN_FROZEN - j.update_icon() + j.update_appearance() qdel(src) @@ -371,7 +371,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) var/obj/machinery/door/airlock/found_airlock = locate(/obj/machinery/door/airlock) in turf if(note_path) found_airlock.note = note_path - found_airlock.update_icon() + found_airlock.update_appearance() qdel(src) if(note_info) var/obj/item/paper/paper = new /obj/item/paper(src) @@ -380,7 +380,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) paper.info = "[note_info]" found_airlock.note = paper paper.forceMove(found_airlock) - found_airlock.update_icon() + found_airlock.update_appearance() qdel(src) log_mapping("[src] at [x],[y] had no note_path or note_info, cannot place paper note.") qdel(src) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index ee0ec659a854..8bac57a8b764 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -98,7 +98,7 @@ /obj/item/clothing/head/helmet/space/hostile_environment/Initialize() . = ..() AddComponent(/datum/component/spraycan_paintable) - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/hostile_environment/update_overlays() . = ..() diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index f24e6436f179..906eff84cd5e 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -110,7 +110,7 @@ playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, TRUE) D.fire() charged = FALSE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/Recharge), charge_time) return if(proximity_flag && isliving(target)) @@ -142,13 +142,13 @@ /obj/item/kinetic_crusher/proc/Recharge() if(!charged) charged = TRUE - update_icon() + update_appearance() playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, TRUE) /obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) set_light_on(!light_on) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() /obj/item/kinetic_crusher/update_icon_state() diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index a65bf603f2bb..7e884ad75a83 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/item/stack/marker_beacon/examine(mob/user) . = ..() @@ -66,7 +66,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( return if(input_color) picked_color = input_color - update_icon() + update_appearance() /obj/structure/marker_beacon name = "marker beacon" @@ -85,26 +85,30 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/structure/marker_beacon/Initialize(mapload, set_color) . = ..() picked_color = set_color - update_icon() + update_appearance() /obj/structure/marker_beacon/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color - M.update_icon() + M.update_appearance() qdel(src) /obj/structure/marker_beacon/examine(mob/user) . = ..() . += "Alt-click to select a color. Current color is [picked_color]." -/obj/structure/marker_beacon/update_icon() - . = ..() +/obj/structure/marker_beacon/update_appearance(updates) while(!picked_color || !GLOB.marker_beacon_colors[picked_color]) picked_color = pick(GLOB.marker_beacon_colors) - icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" + + . = ..() set_light(light_range, light_power, GLOB.marker_beacon_colors[picked_color]) +/obj/structure/marker_beacon/update_icon_state() + icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" + return ..() + /obj/structure/marker_beacon/attack_hand(mob/living/user) . = ..() if(.) @@ -113,7 +117,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( if(do_after(user, remove_speed, target = src)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color - M.update_icon() + M.update_appearance() transfer_fingerprints_to(M) if(user.put_in_hands(M, TRUE)) //delete the beacon if it fails playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) @@ -146,4 +150,4 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( return if(input_color) picked_color = input_color - update_icon() + update_appearance() diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index b57607449014..b8240b34ddd2 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -44,7 +44,7 @@ /obj/item/organ/regenerative_core/proc/preserved(implanted = 0) inert = FALSE preserved = TRUE - update_icon() + update_appearance() desc = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay." if(implanted) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "implanted")) @@ -56,7 +56,7 @@ name = "decayed regenerative core" desc = "All that remains of a hivelord. It has decayed, and is completely useless." SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "inert")) - update_icon() + update_appearance() /obj/item/organ/regenerative_core/ui_action_click() if(inert) @@ -139,7 +139,7 @@ /obj/item/organ/regenerative_core/legion/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/organ/regenerative_core/update_icon_state() icon_state = inert ? "legion_soul_inert" : "legion_soul" diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index f936e82169c7..a49dcae2767b 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -149,6 +149,7 @@ /obj/machinery/stasis/survival_pod icon = 'icons/obj/lavaland/survival_pod.dmi' icon_state = "sleeper" + base_icon_state = "sleeper" mattress_state = null buckle_lying = 270 diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index fd5840067ca0..24d03b9d19f9 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -997,7 +997,7 @@ . = ..() . += "This weapon contains a gradual heat accelerator that increases shot power as the weapon's energy stores are depleted. Shots at low power are significantly stronger, but also have incredibly short range." -/obj/item/gun/energy/spur/update_icon() +/obj/item/gun/energy/spur/update_appearance() var/maxcharge = cell.maxcharge var/charge = cell.charge @@ -1739,9 +1739,9 @@ return ..() /obj/item/hierophant_club/proc/prepare_icon_update() - update_icon() + update_appearance() sleep(timer - world.time) - update_icon() + update_appearance() /obj/item/hierophant_club/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/toggle_unfriendly_fire)) //toggle friendly fire... diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm index 67b554a2333a..8a73aff51a69 100644 --- a/code/modules/mining/lavaland/ruins/gym.dm +++ b/code/modules/mining/lavaland/ruins/gym.dm @@ -48,7 +48,7 @@ return else obj_flags |= IN_USE - update_icon() + update_appearance() user.setDir(SOUTH) user.Stun(80) user.forceMove(src.loc) @@ -58,7 +58,7 @@ playsound(user, 'sound/machines/click.ogg', 60, TRUE) obj_flags &= ~IN_USE - update_icon() + update_appearance() user.pixel_y = user.base_pixel_y var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!") SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) diff --git a/code/modules/mining/machine_bluespaceminer.dm b/code/modules/mining/machine_bluespaceminer.dm index 307f194f10e5..feffb562a7e0 100644 --- a/code/modules/mining/machine_bluespaceminer.dm +++ b/code/modules/mining/machine_bluespaceminer.dm @@ -101,7 +101,7 @@ return TRUE active = TRUE to_chat(user, "You turn on the [src].") - update_icon() + update_appearance() else to_chat(user, "[src] needs to be firmly secured to the floor first!") return TRUE @@ -116,7 +116,7 @@ if(!anchored || (!powernet && idle_power_usage)) powered = FALSE active = FALSE - update_icon() + update_appearance() return if(active) var/true_power_usage = idle_power_usage * power_coeff @@ -124,13 +124,13 @@ add_load(true_power_usage) if(!powered) powered = TRUE - update_icon() + update_appearance() if(prob(mining_chance)) mine() else if(powered) powered = FALSE - update_icon() + update_appearance() return /obj/machinery/power/bluespace_miner/can_be_unfasten_wrench(mob/user, silent) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 6132ea7e6418..fd36a4bb4ab1 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -346,10 +346,8 @@ ..() /obj/machinery/mineral/ore_redemption/update_icon_state() - // WS Start - Directional ORM Sprites if (panel_open) icon_state = "[initial(icon_state)]-open" - // WS End - Directional ORM Sprites if(powered()) icon_state = initial(icon_state) else diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index fc23e4b79200..b1e18d191920 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -244,7 +244,7 @@ observer.real_name = observer.client.prefs.real_name observer.name = observer.real_name observer.client.init_verbs() - observer.update_icon() + observer.update_appearance() observer.stop_sound_channel(CHANNEL_LOBBYMUSIC) deadchat_broadcast(" has observed.", "[observer.real_name]", follow_target = observer, turf_target = get_turf(observer), message_type = DEADCHAT_DEATHRATTLE) QDEL_NULL(mind) diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index 9a9744e35153..6aa949436a20 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -18,5 +18,5 @@ if (isturf(T)) update_z(T.z) - update_icon(preferred_form) + update_icon(ALL, preferred_form) updateghostimages() diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 633be183c5b9..007f177145b8 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -114,7 +114,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) facial_hairstyle = body_human.facial_hairstyle facial_hair_color = brighten_color(body_human.facial_hair_color) - update_icon() + update_appearance() if(!T) var/list/turfs = get_areatype_turfs(/area/overmap) @@ -182,12 +182,12 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) /* * This proc will update the icon of the ghost itself, with hair overlays, as well as the ghost image. - * Please call update_icon(icon_state) from now on when you want to update the icon_state of the ghost, + * Please call update_icon(updates, icon_state) from now on when you want to update the icon_state of the ghost, * or you might end up with hair on a sprite that's not supposed to get it. * Hair will always update its dir, so if your sprite has no dirs the haircut will go all over the place. * |- Ricotez */ -/mob/dead/observer/update_icon(new_form) +/mob/dead/observer/update_icon(updates=ALL, new_form) . = ..() if(client) //We update our preferences in case they changed right before update_icon was called. @@ -801,7 +801,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp facial_hairstyle = client.prefs.facial_hairstyle facial_hair_color = brighten_color(client.prefs.facial_hair_color) - update_icon() + update_appearance() /mob/dead/observer/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE) return isAdminGhostAI(usr) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 28efa3df622e..9e6418ced967 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -3,6 +3,7 @@ desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. Circuit board to brain." icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_off" + base_icon_state = "mmi" w_class = WEIGHT_CLASS_NORMAL var/braintype = "Cyborg" var/obj/item/radio/radio = null //Let's give it a radio. @@ -33,11 +34,11 @@ /obj/item/mmi/update_icon_state() if(!brain) - icon_state = "mmi_off" + icon_state = "[base_icon_state]_off" else if(istype(brain, /obj/item/organ/brain/alien)) - icon_state = "mmi_brain_alien" + icon_state = "[base_icon_state]_brain_alien" else - icon_state = "mmi_brain" + icon_state = "[base_icon_state]_brain" return ..() /obj/item/mmi/update_overlays() @@ -89,7 +90,7 @@ brain.organ_flags |= ORGAN_FROZEN name = "[initial(name)]: [brainmob.real_name]" - update_icon() + update_appearance() if(istype(brain, /obj/item/organ/brain/alien)) braintype = "Xenoborg" //HISS....Beep. else @@ -110,7 +111,7 @@ to_chat(user, "You toggle [src]'s radio system [radio.on==1 ? "on" : "off"].") else eject_brain(user) - update_icon() + update_appearance() name = initial(name) to_chat(user, "You unlock and upend [src], spilling the brain onto the floor.") @@ -155,7 +156,7 @@ brain.organ_flags |= ORGAN_FROZEN name = "[initial(name)]: [brainmob.real_name]" - update_icon() + update_appearance() if(istype(brain, /obj/item/organ/brain/alien)) braintype = "Xenoborg" //HISS....Beep. else diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 7dd5d1ed4740..232ee86483a4 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -288,7 +288,7 @@ brainmob.set_stat(CONSCIOUS) //mmis are conscious brainmob.remove_from_dead_mob_list() brainmob.add_to_alive_mob_list() //mmis are technically alive I guess? - stored_mmi.update_icon() //update it because the brain is alive now + stored_mmi.update_appearance() //update it because the brain is alive now brainmob.reset_perspective() //resets perspective to the mmi brainmob = null //clears the brainmob var so it doesn't get deleted when the holder is destroyed diff --git a/code/modules/mob/living/brain/death.dm b/code/modules/mob/living/brain/death.dm index 7caff58d720a..32db2599c0b4 100644 --- a/code/modules/mob/living/brain/death.dm +++ b/code/modules/mob/living/brain/death.dm @@ -7,7 +7,7 @@ var/obj/item/mmi = container mmi.visible_message("[src]'s MMI flatlines!", \ "You hear something flatline.") - mmi.update_icon() + mmi.update_appearance() return ..() diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index 2942e235c90a..e7e110292fed 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -5,6 +5,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) desc = "A cube of shining metal, four inches to a side and covered in shallow grooves." icon = 'icons/obj/assemblies.dmi' icon_state = "posibrain" + base_icon_state = "posibrain" w_class = WEIGHT_CLASS_NORMAL var/ask_role = "" ///Can be set to tell ghosts what the brain will be used for var/next_ask ///World time tick when ghost polling will be available again @@ -56,7 +57,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) ping_ghosts("requested", FALSE) next_ask = world.time + askDelay searching = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/check_success), askDelay) /obj/item/mmi/posibrain/AltClick(mob/living/user) @@ -68,11 +69,11 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(input_seed) to_chat(user, "You set the personality seed to \"[input_seed]\".") ask_role = input_seed - update_icon() + update_appearance() /obj/item/mmi/posibrain/proc/check_success() searching = FALSE - update_icon() + update_appearance() if(QDELETED(brainmob)) return if(brainmob.client) @@ -127,7 +128,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) brainmob.mind.remove_all_antag() brainmob.mind.wipe_memory() - update_icon() + update_appearance() ///Moves the candidate from the ghost to the posibrain /obj/item/mmi/posibrain/proc/transfer_personality(mob/candidate) @@ -190,13 +191,15 @@ GLOBAL_VAR(posibrain_notify_cooldown) /obj/item/mmi/posibrain/update_icon_state() + . = ..() if(searching) - icon_state = "[initial(icon_state)]-searching" - else if(brainmob && brainmob.key) - icon_state = "[initial(icon_state)]-occupied" - else - icon_state = initial(icon_state) - return ..() + icon_state = "[base_icon_state]-searching" + return + if(brainmob?.key) + icon_state = "[base_icon_state]-occupied" + return + icon_state = "[base_icon_state]" + return /obj/item/mmi/posibrain/add_mmi_overlay() return diff --git a/code/modules/mob/living/carbon/alien/utilities/structures.dm b/code/modules/mob/living/carbon/alien/utilities/structures.dm index 93ef3653fd26..6989434995f9 100644 --- a/code/modules/mob/living/carbon/alien/utilities/structures.dm +++ b/code/modules/mob/living/carbon/alien/utilities/structures.dm @@ -313,7 +313,7 @@ /obj/structure/alien/egg/Initialize(mapload) . = ..() - update_icon() + update_appearance() if(status == GROWING || status == GROWN) child = new(src) if(status == GROWING) @@ -363,7 +363,7 @@ /obj/structure/alien/egg/proc/Grow() status = GROWN - update_icon() + update_appearance() proximity_monitor.SetRange(1) //drops and kills the hugger if any is remaining @@ -371,7 +371,7 @@ if(status == GROWN || status == GROWING) proximity_monitor.SetRange(0) status = BURST - update_icon() + update_appearance() flick("egg_opening", src) addtimer(CALLBACK(src, .proc/finish_bursting, kill), 15) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 27d67da106be..c5075ff7a105 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -33,10 +33,10 @@ var/atom/movable/screen/inventory/hand/H H = hud_used.hand_slots["[oindex]"] if(H) - H.update_icon() + H.update_appearance() H = hud_used.hand_slots["[held_index]"] if(H) - H.update_icon() + H.update_appearance() /mob/living/carbon/activate_hand(selhand) //l/r OR 1-held_items.len diff --git a/code/modules/mob/living/carbon/hologram/hologram.dm b/code/modules/mob/living/carbon/hologram/hologram.dm index e1582bec3b54..9479a2357c36 100644 --- a/code/modules/mob/living/carbon/hologram/hologram.dm +++ b/code/modules/mob/living/carbon/hologram/hologram.dm @@ -203,10 +203,10 @@ drop_all_held_items() //can't hold things when you don't actually exist dextrous = FALSE//see above comment to_chat(src, "You toggle your density [density ? "on" : "off"].") - update_icon() + update_appearance() update_gravity() -/mob/living/simple_animal/hologram/update_icon() +/mob/living/simple_animal/hologram/update_appearance() . = ..() alpha = density ? initial(alpha) : 100 //applies opacity effect if non-dense color = density ? initial(color) : "#77abff" //makes the hologram slightly blue diff --git a/code/modules/mob/living/carbon/hologram/hologram_inventory.dm b/code/modules/mob/living/carbon/hologram/hologram_inventory.dm index 0745de663690..f7f98bf5ebbe 100644 --- a/code/modules/mob/living/carbon/hologram/hologram_inventory.dm +++ b/code/modules/mob/living/carbon/hologram/hologram_inventory.dm @@ -106,10 +106,10 @@ var/atom/movable/screen/inventory/inv inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_LPOCKET) + 1] - inv.update_icon() + inv.update_appearance() inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_RPOCKET) + 1] - inv.update_icon() + inv.update_appearance() if(l_store) l_store.screen_loc = ui_storage1 diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index eb2663309517..f54c9dff634d 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -218,7 +218,7 @@ var/obj/item/pda/PDA = O PDA.set_light_on(FALSE) PDA.set_light_range(0) //It won't be turning on again. - PDA.update_icon() + PDA.update_appearance() visible_message("The light in [PDA] shorts out!") else visible_message("[O] is disintegrated by [src]!") diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 9d71e9208681..816611e08e51 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -102,7 +102,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ICLOTHING) + 1] - inv.update_icon() + inv.update_appearance() if(istype(w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform @@ -159,7 +159,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ID) + 1] - inv.update_icon() + inv.update_appearance() var/mutable_appearance/id_overlay = overlays_standing[ID_LAYER] @@ -181,7 +181,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1] - inv.update_icon() + inv.update_appearance() //Bloody hands begin if(!gloves && blood_in_hands && (num_hands > 0)) @@ -228,7 +228,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EYES) + 1] - inv.update_icon() + inv.update_appearance() if(glasses) var/obj/item/I = glasses @@ -261,7 +261,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EARS) + 1] - inv.update_icon() + inv.update_appearance() if(ears) var/obj/item/I = ears @@ -294,7 +294,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_FEET) + 1] - inv.update_icon() + inv.update_appearance() if(shoes) var/obj/item/I = shoes @@ -329,7 +329,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_SUITSTORE) + 1] - inv.update_icon() + inv.update_appearance() if(s_store) var/obj/item/I = s_store @@ -351,7 +351,7 @@ There are several things that need to be remembered: remove_overlay(HEAD_LAYER) if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_HEAD) + 1] - inv.update_icon() + inv.update_appearance() if(head) var/obj/item/I = head @@ -381,7 +381,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BELT) + 1] - inv.update_icon() + inv.update_appearance() if(belt) var/obj/item/I = belt @@ -412,7 +412,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_OCLOTHING) + 1] - inv.update_icon() + inv.update_appearance() if(wear_suit) var/obj/item/I = wear_suit @@ -450,7 +450,7 @@ There are several things that need to be remembered: inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_LPOCKET) + 1] inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_RPOCKET) + 1] - inv.update_icon() + inv.update_appearance() if(l_store) l_store.screen_loc = ui_storage1 @@ -473,7 +473,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_mask) var/obj/item/I = wear_mask @@ -506,7 +506,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_neck) var/obj/item/I = wear_neck @@ -529,7 +529,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1] - inv.update_icon() + inv.update_appearance() if(back) var/obj/item/I = back diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index d8242f175682..719e7f7cc75a 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -120,7 +120,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_mask) if(!(ITEM_SLOT_MASK in check_obscured_slots())) @@ -134,7 +134,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_neck) if(!(ITEM_SLOT_NECK in check_obscured_slots())) @@ -148,7 +148,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1] - inv.update_icon() + inv.update_appearance() if(back) overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi', mob_species = dna?.species) @@ -164,7 +164,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_HEAD) + 1] - inv.update_icon() + inv.update_appearance() if(head) overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi', mob_species = dna?.species) @@ -188,7 +188,7 @@ for(var/hand in hud_used.hand_slots) var/atom/movable/screen/inventory/hand/H = hud_used.hand_slots[hand] if(H) - H.update_icon() + H.update_appearance() //update whether our head item appears on our hud. /mob/living/carbon/proc/update_hud_head(obj/item/I) diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index d02e64391536..65bb3b762955 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -134,14 +134,14 @@ SIGNAL_HANDLER ADD_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_INCAPACITATED) ADD_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_INCAPACITATED) - update_icon() + update_appearance() /// Called when [TRAIT_INCAPACITATED] is removed from the mob. /mob/living/proc/on_incapacitated_trait_loss(datum/source) SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_INCAPACITATED) REMOVE_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_INCAPACITATED) - update_icon() + update_appearance() /// Called when [TRAIT_RESTRAINED] is added to the mob. diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a8d73750e815..e90cda27329f 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -898,7 +898,7 @@ to_chat(src, "Hack aborted. The designated APC no longer exists on the power network.") playsound(get_turf(src), 'sound/machines/buzz-two.ogg', 50, TRUE, ignore_walls = FALSE) else if(apc.aidisabled) - to_chat(src, "Hack aborted. \The [apc] is no longer responding to our systems.") + to_chat(src, "Hack aborted. [apc] is no longer responding to our systems.") playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, TRUE, ignore_walls = FALSE) else malf_picker.processing_time += 10 @@ -909,8 +909,8 @@ apc.coverlocked = TRUE playsound(get_turf(src), 'sound/machines/ding.ogg', 50, TRUE, ignore_walls = FALSE) - to_chat(src, "Hack complete. \The [apc] is now under your exclusive control.") - apc.update_icon() + to_chat(src, "Hack complete. [apc] is now under your exclusive control.") + apc.update_appearance() /mob/living/silicon/ai/verb/deploy_to_shell(mob/living/silicon/robot/target) set category = "AI Commands" diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm index e40f5034437b..712450ec7dd2 100644 --- a/code/modules/mob/living/silicon/ai/multicam.dm +++ b/code/modules/mob/living/silicon/ai/multicam.dm @@ -168,14 +168,14 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) continue cameras_telegraphed -= C C.in_use_lights-- - C.update_icon() + C.update_appearance() for (var/V in add) var/obj/machinery/camera/C = V if(QDELETED(C)) continue cameras_telegraphed |= C C.in_use_lights++ - C.update_icon() + C.update_appearance() /mob/camera/aiEye/pic_in_pic/proc/disable_camera_telegraphing() telegraph_cameras = FALSE @@ -184,7 +184,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) if(QDELETED(C)) continue C.in_use_lights-- - C.update_icon() + C.update_appearance() cameras_telegraphed.Cut() /mob/camera/aiEye/pic_in_pic/Destroy() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 8dfca209ce39..02f1918ccef4 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -155,7 +155,7 @@ mmi.brainmob.name = src.real_name mmi.brainmob.real_name = src.real_name mmi.brainmob.container = mmi - mmi.update_icon() + mmi.update_appearance() INVOKE_ASYNC(src, .proc/updatename) @@ -184,7 +184,7 @@ mmi.brainmob.remove_from_dead_mob_list() mmi.brainmob.add_to_alive_mob_list() mind.transfer_to(mmi.brainmob) - mmi.update_icon() + mmi.update_appearance() else to_chat(src, "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.") ghostize() @@ -570,14 +570,14 @@ if(!(update_color && lamp_enabled) && (turn_off || lamp_enabled || update_color || !lamp_functional || stat || low_power_mode)) set_light_on(FALSE) lamp_enabled = FALSE - lampButton.update_icon() + lampButton.update_appearance() update_icons() return set_light_range(lamp_intensity) set_light_color(lamp_color) set_light_on(TRUE) lamp_enabled = TRUE - lampButton.update_icon() + lampButton.update_appearance() update_icons() /mob/living/silicon/robot/proc/deconstruct() @@ -605,7 +605,7 @@ robot_suit.head.flash2.burn_out() robot_suit.head.flash2 = null robot_suit.head = null - robot_suit.update_icon() + robot_suit.update_appearance() else new /obj/item/robot_suit(T) new /obj/item/bodypart/leg/left/robot(T) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 5f398d24b7b6..433c735a2784 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -292,7 +292,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real add_fingerprint(user) if(opened && !wiresexposed && !issilicon(user)) if(cell) - cell.update_icon() + cell.update_appearance() cell.add_fingerprint(user) user.put_in_active_hand(cell) to_chat(user, "You remove \the [cell].") diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 82af2a7afdcd..dee91ab20f81 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -143,7 +143,7 @@ var/obj/item/assembly/flash/F = I F.times_used = 0 F.burnt_out = FALSE - F.update_icon() + F.update_appearance() else if(istype(I, /obj/item/melee/baton)) var/obj/item/melee/baton/B = I if(B.cell) @@ -614,7 +614,7 @@ if(T.cell.charge < T.cell.maxcharge) var/obj/item/ammo_casing/energy/S = T.ammo_type[T.select] T.cell.give(S.e_cost * coeff) - T.update_icon() + T.update_appearance() else T.charge_tick = 0 diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm index 02136fee0f0e..b0c583b9c247 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -51,7 +51,7 @@ weapon.attack(C, src) playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1) if(C.stat == DEAD) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 2) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 2) back_to_idle() @@ -60,13 +60,13 @@ return switch(mode) if(BOT_IDLE) // idle - update_icon() + update_appearance() walk_to(src,0) look_for_perp() // see if any criminals are in range if(!mode && auto_patrol) // still idle, and set to patrol mode = BOT_START_PATROL // switch to patrol mode if(BOT_HUNT) // hunting for perp - update_icon() + update_appearance() playsound(src,'sound/effects/beepskyspinsabre.ogg',100,TRUE,-1) // general beepsky doesn't give up so easily, jedi scum if(frustration >= 20) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 559f8e4cd2bc..be4807b33369 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -134,7 +134,7 @@ REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, POWER_LACK_TRAIT) REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) - update_icon() + update_appearance() diag_hud_set_botstat() return TRUE @@ -145,7 +145,7 @@ ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) bot_reset() //Resets an AI's call, should it exist. - update_icon() + update_appearance() /mob/living/simple_animal/bot/Initialize() . = ..() @@ -430,7 +430,7 @@ if(istype(dropped_item, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/dropped_cell = dropped_item dropped_cell.charge = 0 - dropped_cell.update_icon() + dropped_cell.update_appearance() else if(istype(dropped_item, /obj/item/storage)) var/obj/item/storage/S = dropped_item @@ -439,7 +439,7 @@ else if(istype(dropped_item, /obj/item/gun/energy)) var/obj/item/gun/energy/dropped_gun = dropped_item dropped_gun.cell.charge = 0 - dropped_gun.update_icon() + dropped_gun.update_appearance() //Generalized behavior code, override where needed! @@ -1005,7 +1005,7 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/revive(full_heal = FALSE, admin_revive = FALSE) if(..()) - update_icon() + update_appearance() . = TRUE /mob/living/simple_animal/bot/ghost() diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 17a790477476..4a072df3ab8b 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -167,19 +167,30 @@ /obj/item/bot_assembly/floorbot/Initialize() . = ..() - update_icon() + update_appearance() -/obj/item/bot_assembly/floorbot/update_icon() - ..() +/obj/item/bot_assembly/floorbot/update_name() + . = ..() switch(build_step) - if(ASSEMBLY_FIRST_STEP) - desc = initial(desc) + if(ASSEMBLY_SECOND_STEP) + name = "incomplete floorbot assembly" + else name = initial(name) - icon_state = "[toolbox_color]toolbox_tiles" +/obj/item/bot_assembly/floorbot/update_desc() + . = ..() + switch(build_step) if(ASSEMBLY_SECOND_STEP) desc = "It's a toolbox with tiles sticking out the top and a sensor attached." - name = "incomplete floorbot assembly" + else + desc = initial(desc) + +/obj/item/bot_assembly/floorbot/update_icon_state() + . = ..() + switch(build_step) + if(ASSEMBLY_FIRST_STEP) + icon_state = "[toolbox_color]toolbox_tiles" + if(ASSEMBLY_SECOND_STEP) icon_state = "[toolbox_color]toolbox_tiles_sensor" /obj/item/bot_assembly/floorbot/attackby(obj/item/W, mob/user, params) @@ -192,7 +203,7 @@ to_chat(user, "You add [W] to [src].") qdel(W) build_step++ - update_icon() + update_appearance() if(ASSEMBLY_SECOND_STEP) if(istype(W, /obj/item/bodypart/l_arm/robot) || istype(W, /obj/item/bodypart/r_arm/robot)) diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index c95c420bd710..4bfa9dd98a6c 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -59,7 +59,7 @@ /mob/living/simple_animal/bot/firebot/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - update_icon() + update_appearance() var/datum/job/engineer/J = new/datum/job/engineer access_card.access += J.get_access() prev_access = access_card.access @@ -98,11 +98,11 @@ /mob/living/simple_animal/bot/firebot/turn_on() . = ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/turn_off() ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/bot_reset() ..() @@ -110,14 +110,14 @@ old_target_fire = null ignore_list = list() anchored = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/proc/soft_reset() path = list() target_fire = null mode = BOT_IDLE last_found = world.time - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/set_custom_texts() text_hack = "You corrupt [name]'s safety protocols." @@ -174,7 +174,7 @@ stationary_mode = !stationary_mode update_controls() - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/proc/is_burning(atom/target) if(ismob(target)) @@ -306,17 +306,18 @@ flick("firebot1_use", user) internal_ext.afterattack(target, user, null) -/mob/living/simple_animal/bot/firebot/update_icon() +/mob/living/simple_animal/bot/firebot/update_icon_state() + . = ..() if(!on) icon_state = "firebot0" return if(IsStun() || IsParalyzed()) icon_state = "firebots1" + return else if(stationary_mode) //Bot has yellow light to indicate stationary mode. icon_state = "firebots1" - else - icon_state = "firebot1" - return ..() + return + icon_state = "firebot1" /mob/living/simple_animal/bot/firebot/explode() on = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 39b52cc0005b..fa6faaa6a889 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -55,7 +55,7 @@ ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) if(new_toolbox_color) toolbox_color = new_toolbox_color - update_icon() + update_appearance() var/datum/job/engineer/J = new/datum/job/engineer access_card.access += J.get_access() prev_access = access_card.access @@ -65,11 +65,11 @@ /mob/living/simple_animal/bot/floorbot/turn_on() . = ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/floorbot/turn_off() ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/floorbot/bot_reset() ..() @@ -77,7 +77,7 @@ oldloc = null ignore_list = list() anchored = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/bot/floorbot/set_custom_texts() text_hack = "You corrupt [name]'s construction protocols." @@ -367,13 +367,13 @@ if(specialtiles == 0) speak("Requesting refill of custom floortiles to continue replacing.") mode = BOT_IDLE - update_icon() + update_appearance() anchored = FALSE target = null -/mob/living/simple_animal/bot/floorbot/update_icon() +/mob/living/simple_animal/bot/floorbot/update_icon_state() + . = ..() icon_state = "[toolbox_color]floorbot[on]" - return ..() /mob/living/simple_animal/bot/floorbot/explode() on = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index d4fa1ccdc43d..7697ac90f37f 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -38,7 +38,7 @@ /mob/living/simple_animal/bot/honkbot/Initialize() . = ..() - update_icon() + update_appearance() auto_patrol = TRUE var/datum/job/clown/J = new/datum/job/clown access_card.access += J.get_access() @@ -132,7 +132,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, oldtarget_name = user.name audible_message("[src] gives out an evil laugh!") playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 75, TRUE, -1) // evil laughter - update_icon() + update_appearance() /mob/living/simple_animal/bot/honkbot/bullet_act(obj/projectile/Proj) if((istype(Proj,/obj/projectile/beam)) || (istype(Proj,/obj/projectile/bullet) && (Proj.damage_type == BURN))||(Proj.damage_type == BRUTE) && (!Proj.nodamage && Proj.damage < health && ishuman(Proj.firer))) diff --git a/code/modules/mob/living/simple_animal/bot/hygienebot.dm b/code/modules/mob/living/simple_animal/bot/hygienebot.dm index cd05106f934e..af1ce80b2a88 100644 --- a/code/modules/mob/living/simple_animal/bot/hygienebot.dm +++ b/code/modules/mob/living/simple_animal/bot/hygienebot.dm @@ -4,6 +4,7 @@ desc = "A flying cleaning robot, he'll chase down people who can't shower properly!" icon = 'icons/obj/watercloset.dmi' icon_state = "drone" + base_icon_state = "hygienebot" density = FALSE anchored = FALSE health = 100 @@ -31,7 +32,7 @@ /mob/living/simple_animal/bot/hygienebot/Initialize() . = ..() - update_icon() + update_appearance() var/datum/job/janitor/J = new/datum/job/janitor access_card.access += J.get_access() prev_access = access_card.access @@ -200,11 +201,11 @@ /mob/living/simple_animal/bot/hygienebot/proc/start_washing() washing = TRUE - update_icon() + update_appearance() /mob/living/simple_animal/bot/hygienebot/proc/stop_washing() washing = FALSE - update_icon() + update_appearance() diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 6e890ca2472c..1af69e0cf146 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -14,6 +14,7 @@ desc = "A little medical robot. He looks somewhat underwhelmed." icon = 'icons/mob/aibots.dmi' icon_state = "medibot0" + base_icon_state = "medibot" density = FALSE anchored = FALSE health = 20 @@ -90,24 +91,23 @@ declare_crit = 0 heal_amount = 5 -/mob/living/simple_animal/bot/medbot/update_icon() - cut_overlays() - if(skin) - add_overlay("medskin_[skin]") +/mob/living/simple_animal/bot/medbot/update_icon_state() + . = ..() if(!on) - icon_state = "medibot0" + icon_state = "[base_icon_state]0" return if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) - icon_state = "medibota" + icon_state = "[base_icon_state]a" return if(mode == BOT_HEALING) - icon_state = "medibots[stationary_mode]" + icon_state = "[base_icon_state]s[stationary_mode]" return - else if(stationary_mode) //Bot has yellow light to indicate stationary mode. - icon_state = "medibot2" - else - icon_state = "medibot1" - return ..() + icon_state = "[base_icon_state][stationary_mode ? 2 : 1]" //Bot has yellow light to indicate stationary mode. + +/mob/living/simple_animal/bot/medbot/update_overlays() + . = ..() + if(skin) + . += "medskin_[skin]" /mob/living/simple_animal/bot/medbot/Initialize(mapload, new_skin) . = ..() @@ -117,7 +117,7 @@ qdel(J) if(new_skin) skin = new_skin - update_icon() + update_appearance() /mob/living/simple_animal/bot/medbot/Destroy() linked_techweb = null @@ -130,14 +130,14 @@ oldloc = null last_found = world.time declare_cooldown = 0 - update_icon() + update_appearance() /mob/living/simple_animal/bot/medbot/proc/soft_reset() //Allows the medibot to still actively perform its medical duties without being completely halted as a hard reset does. path = list() patient = null mode = BOT_IDLE last_found = world.time - update_icon() + update_appearance() /mob/living/simple_animal/bot/medbot/set_custom_texts() @@ -193,7 +193,7 @@ else if(href_list["stationary"]) stationary_mode = !stationary_mode path = list() - update_icon() + update_appearance() else if(href_list["hptech"]) if(!linked_techweb) @@ -377,7 +377,7 @@ if(patient && (get_dist(src,patient) <= 1) && !tending) //Patient is next to us, begin treatment! if(mode != BOT_HEALING) mode = BOT_HEALING - update_icon() + update_appearance() frustration = 0 medicate_patient(patient) return @@ -500,9 +500,9 @@ var/mob/living/carbon/C = A patient = C mode = BOT_HEALING - update_icon() + update_appearance() medicate_patient(C) - update_icon() + update_appearance() else ..() @@ -580,7 +580,7 @@ else tending = FALSE - update_icon() + update_appearance() if(!tending) visible_message("[src] places its tools back into itself.") soft_reset() diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index d6605aa1f599..e64b0b362e0a 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -134,7 +134,7 @@ if(open) turn_off() else - update_icon() //this is also handled by turn_off(), so no need to call this twice. + update_appearance() //this is also handled by turn_off(), so no need to call this twice. else if(istype(I, /obj/item/stock_parts/cell) && open) if(cell) to_chat(user, "[src] already has a power cell!") @@ -179,8 +179,8 @@ playsound(src, "sparks", 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE) /mob/living/simple_animal/bot/mulebot/update_icon_state() //if you change the icon_state names, please make sure to update /datum/wires/mulebot/on_pulse() as well. <3 + . = ..() icon_state = "[base_icon][on ? wires.is_cut(WIRE_AVOIDANCE) : 0]" - return ..() /mob/living/simple_animal/bot/mulebot/update_overlays() . = ..() @@ -448,7 +448,7 @@ load = AM mode = BOT_IDLE - update_icon() + update_appearance() /mob/living/simple_animal/bot/mulebot/proc/load_mob(mob/living/M) can_buckle = TRUE @@ -469,7 +469,7 @@ if(QDELETED(load)) if(load) //if our thing was qdel'd, there's likely a leftover reference. just clear it and remove the overlay. we'll let the bot keep moving around to prevent it abruptly stopping somewhere. load = null - update_icon() + update_appearance() return mode = BOT_IDLE @@ -488,7 +488,7 @@ if(dirn) //move the thing to the delivery point. cached_load.Move(get_step(loc,dirn), dirn) - update_icon() + update_appearance() /mob/living/simple_animal/bot/mulebot/get_status_tab_items() . = ..() @@ -767,7 +767,7 @@ new /obj/item/stack/cable_coil/cut(Tsec) if(cell) cell.forceMove(Tsec) - cell.update_icon() + cell.update_appearance() cell = null do_sparks(3, TRUE, src) @@ -843,7 +843,7 @@ load = AM mode = BOT_IDLE - update_icon() + update_appearance() /mob/living/simple_animal/bot/mulebot/paranormal/update_overlays() diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 8e954265fcf2..f55d71a8590f 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -78,7 +78,7 @@ /mob/living/simple_animal/bot/secbot/Initialize() . = ..() weapon = new baton_type() - update_icon() + update_appearance() var/datum/job/detective/J = new/datum/job/detective access_card.access += J.get_access() prev_access = access_card.access @@ -91,11 +91,11 @@ QDEL_NULL(weapon) return ..() -/mob/living/simple_animal/bot/secbot/update_icon() +/mob/living/simple_animal/bot/secbot/update_icon_state() if(mode == BOT_HUNT) icon_state = "[initial(icon_state)]-c" return - ..() + return ..() /mob/living/simple_animal/bot/secbot/turn_off() ..() @@ -222,7 +222,7 @@ Auto Patrol: []"}, oldtarget_name = user.name audible_message("[src] buzzes oddly!") declare_arrests = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/bot/secbot/bullet_act(obj/projectile/Proj) if(istype(Proj , /obj/projectile/beam)||istype(Proj, /obj/projectile/bullet)) @@ -453,7 +453,7 @@ Auto Patrol: []"}, new /obj/item/assembly/prox_sensor(Tsec) var/obj/item/gun/energy/disabler/G = new (Tsec) G.cell.charge = 0 - G.update_icon() + G.update_appearance() if(prob(50)) new /obj/item/bodypart/leg/left/robot(Tsec) if(prob(25)) diff --git a/code/modules/mob/living/simple_animal/bot/vibebot.dm b/code/modules/mob/living/simple_animal/bot/vibebot.dm index c5f65c4633cd..9a9d93163937 100644 --- a/code/modules/mob/living/simple_animal/bot/vibebot.dm +++ b/code/modules/mob/living/simple_animal/bot/vibebot.dm @@ -24,7 +24,7 @@ /mob/living/simple_animal/bot/vibebot/Initialize() . = ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/vibebot/get_controls(mob/user) var/list/dat = list() @@ -43,13 +43,13 @@ /mob/living/simple_animal/bot/vibebot/turn_off() . = ..() remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) - update_icon() + update_appearance() /mob/living/simple_animal/bot/vibebot/proc/Vibe() remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) add_atom_colour("#[random_color()]", TEMPORARY_COLOUR_PRIORITY) set_light_color(color) - update_icon() + update_appearance() /mob/living/simple_animal/bot/vibebot/proc/retaliate(mob/living/carbon/human/H) diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 78c03dfddcf4..c9391c4cab28 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -243,19 +243,19 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca var/obj/item/ammo_casing/energy/shot = Zapgun.ammo_type[Zapgun.select] if(Zapgun.cell.charge >= shot.e_cost) Zapgun.cell.use(shot.e_cost) - Zapgun.update_icon() + Zapgun.update_appearance() ..() else if(Zapstick) if(Zapstick.charges) Zapstick.charges-- - Zapstick.update_icon() + Zapstick.update_appearance() ..() else if(Pewgun) if(Pewgun.chambered) if(Pewgun.chambered.BB) qdel(Pewgun.chambered.BB) Pewgun.chambered.BB = null //because qdel takes too long, ensures icon update - Pewgun.chambered.update_icon() + Pewgun.chambered.update_appearance() ..() else visible_message("The [src] clears a jam!") @@ -264,7 +264,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) Pewgun.chambered = Pewgun.magazine.get_round(0) Pewgun.chambered.forceMove(Pewgun) - Pewgun.update_icon() + Pewgun.update_appearance() else if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) //only true for pumpguns i think Pewgun.chambered = Pewgun.magazine.get_round(0) Pewgun.chambered.forceMove(Pewgun) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 1611ef0d5c3d..ce83232c3430 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -136,9 +136,9 @@ audible_message("[src]'s shell violently cracks as it's armor is shattered!") throw_message = "bounces off of" shell_snap_message = TRUE //so it doesnt repeat - update_icon() + update_appearance() return TRUE - update_icon() + update_appearance() return FALSE /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/CanAttack(atom/the_target) @@ -185,7 +185,7 @@ ..() cut_overlays() -/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/update_icon() +/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/update_appearance() . = ..() if(stat == CONSCIOUS) if(has_shell) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3d90cfb88242..a9c915ddbe50 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -577,10 +577,10 @@ var/atom/movable/screen/inventory/hand/H H = hud_used.hand_slots["[hand_index]"] if(H) - H.update_icon() + H.update_appearance() H = hud_used.hand_slots["[oindex]"] if(H) - H.update_icon() + H.update_appearance() /mob/living/simple_animal/put_in_hands(obj/item/I, del_on_fail = FALSE, merge_stacks = TRUE) . = ..(I, del_on_fail, merge_stacks) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 4128eedfefb4..654b7d9bd7e6 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -117,17 +117,18 @@ /mob/living/simple_animal/slime/proc/set_colour(new_colour) colour = new_colour - update_slime_name() + update_name() slime_mutation = mutation_table(colour) var/sanitizedcolour = replacetext(colour, " ", "") coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") regenerate_icons() -/mob/living/simple_animal/slime/proc/update_slime_name() +/mob/living/simple_animal/slime/update_name() if(slime_name_regex.Find(name)) number = rand(1, 1000) name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" real_name = name + return ..() /mob/living/simple_animal/slime/proc/random_colour() set_colour(pick(slime_colours)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0755045d5974..fb4a69ba3c00 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -625,11 +625,11 @@ ///Update the pulling hud icon /mob/proc/update_pull_hud_icon() - hud_used?.pull_icon?.update_icon() + hud_used?.pull_icon?.update_appearance() ///Update the resting hud icon /mob/proc/update_rest_hud_icon() - hud_used?.rest_icon?.update_icon() + hud_used?.rest_icon?.update_appearance() /** * Verb to activate the object in your held hand diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 1a861dc304b4..498538185578 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -457,7 +457,7 @@ m_intent = MOVE_INTENT_RUN if(hud_used && hud_used.static_inventory) for(var/atom/movable/screen/mov_intent/selector in hud_used.static_inventory) - selector.update_icon() + selector.update_appearance() ///Moves a mob upwards in z level /mob/verb/up() diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index ad0d0d95d734..f78c7e36ac6d 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -55,7 +55,7 @@ physical = src comp_light_color = "#FFFFFF" idle_threads = list() - update_icon() + update_appearance() /obj/item/modular_computer/Destroy() @@ -157,10 +157,7 @@ . += get_modular_computer_parts_examine(user) /obj/item/modular_computer/update_icon_state() - if(!enabled) - icon_state = icon_state_unpowered - else - icon_state = icon_state_powered + icon_state = enabled ? icon_state_powered : icon_state_unpowered return ..() /obj/item/modular_computer/update_overlays() @@ -168,10 +165,7 @@ if(!display_overlays) return if(enabled) - if(active_program) - . += active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu - else - . += icon_state_menu + . += active_program?.program_icon_state || icon_state_menu if(obj_integrity <= integrity_failure * max_integrity) . += "bsod" @@ -205,7 +199,7 @@ else to_chat(user, "You press the power button and start up \the [src].") enabled = 1 - update_icon() + update_appearance() ui_interact(user) else // Unpowered if(issynth) @@ -339,7 +333,7 @@ var/mob/user = usr if(user && istype(user)) ui_interact(user) // Re-open the UI on this computer. It should show the main screen now. - update_icon() + update_appearance() // Returns 0 for No Signal, 1 for Low Signal and 2 for Good Signal. 3 is for wired connection (always-on) /obj/item/modular_computer/proc/get_ntnet_status(specific_action = 0) @@ -363,7 +357,7 @@ if(loud) physical.visible_message("\The [src] shuts down.") enabled = 0 - update_icon() + update_appearance() /obj/item/modular_computer/screwdriver_act(mob/user, obj/item/tool) if(!all_components.len) diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm index 03720bf52676..a1a67d019a11 100644 --- a/code/modules/modular_computers/computers/item/computer_components.dm +++ b/code/modules/modular_computers/computers/item/computer_components.dm @@ -42,7 +42,7 @@ H.on_remove(src, user) if(enabled && !use_power()) shutdown_computer() - update_icon() + update_appearance() return TRUE diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm index 63b8b42c1f5a..4729117052b6 100644 --- a/code/modules/modular_computers/computers/item/computer_ui.dm +++ b/code/modules/modular_computers/computers/item/computer_ui.dm @@ -108,7 +108,7 @@ active_program.program_state = PROGRAM_STATE_BACKGROUND // Should close any existing UIs active_program = null - update_icon() + update_appearance() if(user && istype(user)) ui_interact(user) // Re-open the UI on this computer. It should show the main screen now. @@ -147,7 +147,7 @@ active_program = P P.alert_pending = FALSE idle_threads.Remove(P) - update_icon() + update_appearance() return var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU] @@ -162,7 +162,7 @@ if(P.run_program(user)) active_program = P P.alert_pending = FALSE - update_icon() + update_appearance() return 1 if("PC_toggle_light") diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index fe0e5e8ff674..f7a518d3568f 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -37,15 +37,14 @@ /obj/item/modular_computer/laptop/update_icon_state() if(!screen_on) icon_state = icon_state_closed - else - . = ..() + return + return ..() /obj/item/modular_computer/laptop/update_overlays() - if(screen_on) - return ..() - else + if(!screen_on) cut_overlays() - icon_state = icon_state_closed + return + return ..() /obj/item/modular_computer/laptop/attack_self(mob/user) if(!screen_on) @@ -111,7 +110,7 @@ screen_on = !screen_on display_overlays = screen_on - update_icon() + update_appearance() diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 5670acaa76e8..ec4741851545 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -38,7 +38,7 @@ integrity_failure = machinery_computer.integrity_failure base_active_power_usage = machinery_computer.base_active_power_usage base_idle_power_usage = machinery_computer.base_idle_power_usage - machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) //when we update_icon, also update the computer + machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /obj/machinery/modular_computer/proc/relay_icon_update) //when we update_icon, also update the computer /obj/item/modular_computer/processor/relay_qdel() qdel(machinery_computer) @@ -54,7 +54,7 @@ if(!machinery_computer) return ..() - machinery_computer.update_icon() + machinery_computer.update_appearance() return /obj/item/modular_computer/processor/attack_ghost(mob/user) diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index 98918b262f0f..9931e70ca1ba 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -2,9 +2,10 @@ name = "tablet computer" icon = 'icons/obj/modular_tablet.dmi' icon_state = "tablet-red" - icon_state_unpowered = "tablet" - icon_state_powered = "tablet" + icon_state_unpowered = "tablet-red" + icon_state_powered = "tablet-red" icon_state_menu = "menu" + base_icon_state = "tablet" hardware_flag = PROGRAM_TABLET max_hardware_size = 1 w_class = WEIGHT_CLASS_SMALL @@ -20,7 +21,7 @@ if(has_variants) if(!finish_color) finish_color = pick("red","blue","brown","green","black") - icon_state = icon_state_powered = icon_state_unpowered = "tablet-[finish_color]" + icon_state = icon_state_powered = icon_state_unpowered = "[base_icon_state]-[finish_color]" return ..() /obj/item/modular_computer/tablet/syndicate_contract_uplink @@ -42,6 +43,8 @@ has_variants = FALSE device_theme = "syndicate" light_color = COLOR_RED + icon_state_powered = "tablet-syndicate" + icon_state_unpowered = "tablet-syndicate" /obj/item/modular_computer/tablet/nukeops/emag_act(mob/user) if(!enabled) @@ -54,6 +57,9 @@ /obj/item/modular_computer/tablet/integrated name = "modular interface" icon_state = "tablet-silicon" + icon_state_powered = "tablet-silicon" + icon_state_unpowered = "tablet-silicon" + base_icon_state = "tablet-silicon" has_light = FALSE //tablet light button actually enables/disables the borg lamp comp_light_luminosity = 0 has_variants = FALSE @@ -154,7 +160,8 @@ /obj/item/modular_computer/tablet/integrated/syndicate icon_state = "tablet-silicon-syndicate" device_theme = "syndicate" - + icon_state_powered = "tablet-silicon-syndicate" + icon_state_unpowered = "tablet-silicon-syndicate" /obj/item/modular_computer/tablet/integrated/syndicate/Initialize() . = ..() diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index e4d3665c3034..b7f1a2f5d912 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -53,27 +53,25 @@ return FALSE return (cpu.emag_act(user)) -/obj/machinery/modular_computer/update_icon() - cut_overlays() - icon_state = icon_state_powered +/obj/machinery/modular_computer/update_appearance() + . = ..() + set_light(cpu?.enabled ? light_strength : 0) + +/obj/machinery/modular_computer/update_icon_state() + icon_state = (cpu?.enabled || (!(machine_stat & NOPOWER) && cpu?.use_power())) ? icon_state_powered : icon_state_unpowered + return ..() - if(!cpu || !cpu.enabled) +/obj/machinery/modular_computer/update_overlays() + . = ..() + if(!cpu?.enabled) if (!(machine_stat & NOPOWER) && (cpu && cpu.use_power())) - add_overlay(screen_icon_screensaver) - else - icon_state = icon_state_unpowered - set_light(0) + . += screen_icon_screensaver else - set_light(light_strength) - if(cpu.active_program) - add_overlay(cpu.active_program.program_icon_state ? cpu.active_program.program_icon_state : screen_icon_state_menu) - else - add_overlay(screen_icon_state_menu) + . += cpu.active_program?.program_icon_state || screen_icon_state_menu if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity) - add_overlay("bsod") - add_overlay("broken") - return ..() + . += "bsod" + . += "broken" /obj/machinery/modular_computer/AltClick(mob/user) if(cpu) @@ -102,13 +100,13 @@ if(cpu) cpu.shutdown_computer(0) set_machine_stat(machine_stat | NOPOWER) - update_icon() + update_appearance() // Modular computers can have battery in them, we handle power in previous proc, so prevent this from messing it up for us. /obj/machinery/modular_computer/power_change() if(cpu && cpu.use_power()) // If MC_CPU still has a power source, PC wouldn't go offline. set_machine_stat(machine_stat & ~NOPOWER) - update_icon() + update_appearance() return . = ..() @@ -149,3 +147,8 @@ /obj/machinery/modular_computer/bullet_act(obj/projectile/Proj) if(cpu) cpu.bullet_act(Proj) + +/// Eats the "source" arg because update_icon actually expects args now. +/obj/machinery/modular_computer/proc/relay_icon_update(datum/source, updates, updated) + SIGNAL_HANDLER + return update_icon(updates) diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm index e9540c55e762..6213cba441a6 100644 --- a/code/modules/modular_computers/computers/machinery/modular_console.dm +++ b/code/modules/modular_computers/computers/machinery/modular_console.dm @@ -53,4 +53,4 @@ network_card.identification_string = "Unknown Console" if(cpu) cpu.screen_on = 1 - update_icon() + update_appearance() diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index aa50e2bad6e6..b784b1d848bc 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -64,7 +64,7 @@ // Relays icon update to the computer. /datum/computer_file/program/proc/update_computer_icon() if(computer) - computer.update_icon() + computer.update_appearance() // Attempts to create a log in global ntnet datum. Returns 1 on success, 0 on fail. /datum/computer_file/program/proc/generate_network_log(text) @@ -216,7 +216,7 @@ program_state = PROGRAM_STATE_BACKGROUND // Should close any existing UIs computer.active_program = null - computer.update_icon() + computer.update_appearance() ui.close() if(user && istype(user)) diff --git a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm index ba24a5ab3e0c..939cafb13f0c 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm @@ -26,7 +26,7 @@ computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.") computer.enabled = FALSE - computer.update_icon() + computer.update_appearance() var/obj/item/computer_hardware/hard_drive/hard_drive = computer.all_components[MC_HDD] var/obj/item/computer_hardware/battery/battery_module = computer.all_components[MC_CELL] var/obj/item/computer_hardware/recharger/recharger = computer.all_components[MC_CHARGE] diff --git a/code/modules/modular_computers/file_system/programs/arcade.dm b/code/modules/modular_computers/file_system/programs/arcade.dm index c6e1fc2d2f24..c220881365ec 100644 --- a/code/modules/modular_computers/file_system/programs/arcade.dm +++ b/code/modules/modular_computers/file_system/programs/arcade.dm @@ -32,7 +32,7 @@ game_active = FALSE program_icon_state = "arcade_off" if(istype(computer)) - computer.update_icon() + computer.update_appearance() ticket_count += 1 usr?.mind?.adjust_experience(/datum/skill/gaming, 50) sleep(10) @@ -42,7 +42,7 @@ game_active = FALSE program_icon_state = "arcade_off" if(istype(computer)) - computer.update_icon() + computer.update_appearance() usr?.mind?.adjust_experience(/datum/skill/gaming, 10) sleep(10) @@ -172,4 +172,4 @@ boss_id = rand(1,6) pause_state = FALSE if(istype(computer)) - computer.update_icon() + computer.update_appearance() diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm index 84dd8e9a122b..d082503a012d 100644 --- a/code/modules/modular_computers/file_system/programs/radar.dm +++ b/code/modules/modular_computers/file_system/programs/radar.dm @@ -15,7 +15,7 @@ var/atom/selected ///Used to store when the next scan is available. Updated by the scan() proc. var/next_scan = 0 - ///Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_icon() calls + ///Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls var/last_icon_state = "" ///Used by the tgui interface, themed NT or Syndicate. var/arrowstyle = "ntosradarpointer.png" @@ -174,7 +174,7 @@ if(!trackable(signal)) program_icon_state = "[initial(program_icon_state)]lost" if(last_icon_state != program_icon_state) - computer.update_icon() + computer.update_appearance() last_icon_state = program_icon_state return @@ -192,7 +192,7 @@ program_icon_state = "[initial(program_icon_state)]far" if(last_icon_state != program_icon_state) - computer.update_icon() + computer.update_appearance() last_icon_state = program_icon_state computer.setDir(get_dir(here_turf, target_turf)) diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm index 2aeba2beba33..7e2954611bfc 100644 --- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm @@ -27,7 +27,7 @@ ui_header = "smmon_[last_status].gif" program_icon_state = "smmon_[last_status]" if(istype(computer)) - computer.update_icon() + computer.update_appearance() /datum/computer_file/program/supermatter_monitor/run_program(mob/living/user) . = ..(user) diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm index ebe40c1922ad..69c8fd30d0ca 100644 --- a/code/modules/modular_computers/hardware/printer.dm +++ b/code/modules/modular_computers/hardware/printer.dm @@ -32,7 +32,7 @@ P.info = text_to_print if(paper_title) P.name = paper_title - P.update_icon() + P.update_appearance() stored_paper-- P = null return TRUE diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm index 777c72e47dc2..2e3dac4fddbe 100644 --- a/code/modules/ninja/suit/ninjaDrainAct.dm +++ b/code/modules/ninja/suit/ninjaDrainAct.dm @@ -55,7 +55,7 @@ They *could* go in their appropriate files, but this is supposed to be modular playsound(loc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) obj_flags |= EMAGGED locked = FALSE - update_icon() + update_appearance() @@ -112,7 +112,7 @@ They *could* go in their appropriate files, but this is supposed to be modular S.cell.give(charge) charge = 0 corrupt() - update_icon() + update_appearance() /obj/machinery/proc/AI_notify_hack() var/alertstr = "Network Alert: Hacking attempt detected[get_area(src)?" in [get_area_name(src, TRUE)]":". Unable to pinpoint location"]." diff --git a/code/modules/ninja/suit/suit_attackby.dm b/code/modules/ninja/suit/suit_attackby.dm index fa20f9e50ef6..f9641a7a63ff 100644 --- a/code/modules/ninja/suit/suit_attackby.dm +++ b/code/modules/ninja/suit/suit_attackby.dm @@ -29,7 +29,7 @@ U.put_in_hands(old_cell) old_cell.add_fingerprint(U) old_cell.corrupt() - old_cell.update_icon() + old_cell.update_appearance() cell = CELL to_chat(U, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%") else diff --git a/code/modules/overmap/missions/research_mission.dm b/code/modules/overmap/missions/research_mission.dm index f43c50ffc958..26fb86de5ac4 100644 --- a/code/modules/overmap/missions/research_mission.dm +++ b/code/modules/overmap/missions/research_mission.dm @@ -107,7 +107,7 @@ set_is_operational(FALSE) STOP_PROCESSING(SSmachines, src) use_power = NO_POWER_USE - power_change() // calls update_icon(), makes sure we're powered + power_change() // calls update_appearance(), makes sure we're powered /obj/machinery/mission_scanner/update_icon_state() . = ..() diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm index 3ae5ac1d45dc..3e9fb497b08a 100644 --- a/code/modules/overmap/objects/dynamic_datum.dm +++ b/code/modules/overmap/objects/dynamic_datum.dm @@ -138,7 +138,7 @@ if(!preserve_level) token.desc += " It may not still be here if you leave it." - token.update_icon() + token.update_appearance() /datum/overmap/dynamic/proc/gen_planet_name() . = "" diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm index 5b969dd13f2a..efbeeba6231a 100644 --- a/code/modules/overmap/objects/event_datum.dm +++ b/code/modules/overmap/objects/event_datum.dm @@ -55,7 +55,7 @@ token.icon_state = "meteor[rand(1, 4)]" token.color = "#a08444" token.light_color = "#a08444" - token.update_icon() + token.update_appearance() /datum/overmap/event/meteor/affect_ship(datum/overmap/ship/controlled/S) spawn_meteor(meteor_types, S.shuttle_port.get_virtual_level(), 0) @@ -95,7 +95,7 @@ token.icon_state = "ion[rand(1, 4)]" token.color = "#7cb4d4" token.light_color = "#7cb4d4" - token.update_icon() + token.update_appearance() /datum/overmap/event/emp/affect_ship(datum/overmap/ship/controlled/S) var/area/source_area = pick(S.shuttle_port.shuttle_areas) @@ -132,7 +132,7 @@ token.icon_state = "electrical[rand(1, 4)]" token.color = "#e8e85c" token.light_color = "#e8e85c" - token.update_icon() + token.update_appearance() /datum/overmap/event/electric/affect_ship(datum/overmap/ship/controlled/S) var/datum/virtual_level/ship_vlevel = S.shuttle_port.get_virtual_level() @@ -168,7 +168,7 @@ token.opacity = TRUE token.color = "#c053f3" token.light_color = "#c053f3" - token.update_icon() + token.update_appearance() /datum/overmap/event/wormhole name = "wormhole" @@ -190,7 +190,7 @@ other_wormhole = new(null, src) //Create a new wormhole at a random location token.color = adjust_colors() token.light_color = adjust_colors() - token.update_icon() + token.update_appearance() /datum/overmap/event/wormhole/affect_ship(datum/overmap/ship/controlled/S) if(!other_wormhole) diff --git a/code/modules/overmap/overmap_token.dm b/code/modules/overmap/overmap_token.dm index 45f50f9e41c1..b69b63142cf0 100644 --- a/code/modules/overmap/overmap_token.dm +++ b/code/modules/overmap/overmap_token.dm @@ -34,7 +34,7 @@ cam_background.assigned_map = map_name cam_background.del_on_map_removal = FALSE update_screen() - update_icon() + update_appearance() /obj/overmap/Destroy(force) if(parent) diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index 9b0ac0af3bc6..294540561507 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -406,7 +406,7 @@ icon_state = "shipkey_plasticbod" var/our_color = pick(key_colors) add_atom_colour(key_colors[our_color], FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() name = "ship key ([master_ship.name])" /obj/item/key/ship/update_overlays() diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 2b60054f9d24..0d7114c5e791 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -6,14 +6,16 @@ var/iscopy = FALSE /obj/item/paper/carbon/update_icon_state() + if(info) + icon_state = "[icon_state]_words" + return ..() if(iscopy) icon_state = "cpaper" + return ..() else if(copied) icon_state = "paper" - else - icon_state = "paper_stack" - if(info) - icon_state = "[icon_state]_words" + return ..() + icon_state = "paper_stack" return ..() /obj/item/paper/carbon/proc/removecopy(mob/living/user) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 91e8ec68ce1c..5c3ad1899104 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -17,7 +17,7 @@ return BRUTELOSS//the clipboard's clip is very strong. industrial duty. can kill a man easily. /obj/item/clipboard/Initialize() - update_icon() + update_appearance() . = ..() /obj/item/clipboard/Destroy() @@ -40,10 +40,10 @@ return toppaper = W to_chat(user, "You clip the paper onto \the [src].") - update_icon() + update_appearance() else if(toppaper) toppaper.attackby(user.get_active_held_item(), user) - update_icon() + update_appearance() /obj/item/clipboard/attack_self(mob/user) @@ -122,4 +122,4 @@ //Update everything attack_self(usr) - update_icon() + update_appearance() diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 02ef579d1d45..6b2b781d0bb4 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -309,7 +309,7 @@ var/obj/item/storage/wallet/W = worn W.front_id = id id.forceMove(worn) - worn.update_icon() + worn.update_appearance() var/datum/round_event/ion_storm/add_law_only/ion = new() ion.announceChance = 0 ion.ionMessage = "[user.name] is the only Captain of the station. [user.name] is the highest authority, legitimate or otherwise, on the station. [user.name] was always the captain and highest authority on the station. Do not state this law." diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 5040c3956c37..f124a048735e 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -48,7 +48,7 @@ if(!user.transferItemToLoc(W, src)) return to_chat(user, "You put [W] into [src].") - update_icon() + update_appearance() else if(istype(W, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You scribble illegibly on the cover of [src]!") @@ -93,7 +93,7 @@ //Update everything attack_self(usr) - update_icon() + update_appearance() /obj/item/folder/documents name = "folder- 'TOP SECRET'" @@ -102,7 +102,7 @@ /obj/item/folder/documents/Initialize() . = ..() new /obj/item/documents/nanotrasen(src) - update_icon() + update_appearance() /obj/item/folder/syndicate icon_state = "folder_syndie" @@ -115,7 +115,7 @@ /obj/item/folder/syndicate/red/Initialize() . = ..() new /obj/item/documents/syndicate/red(src) - update_icon() + update_appearance() /obj/item/folder/syndicate/blue icon_state = "folder_sblue" @@ -123,12 +123,12 @@ /obj/item/folder/syndicate/blue/Initialize() . = ..() new /obj/item/documents/syndicate/blue(src) - update_icon() + update_appearance() /obj/item/folder/syndicate/mining/Initialize() . = ..() new /obj/item/documents/syndicate/mining(src) - update_icon() + update_appearance() /obj/item/folder/solgov/red desc = "A blue folder with a SolGov seal." @@ -137,7 +137,7 @@ /obj/item/folder/solgov/red/Initialize() . = ..() new /obj/item/documents/solgov(src) - update_icon() + update_appearance() /obj/item/folder/terragov/red @@ -147,4 +147,4 @@ /obj/item/folder/terragov/red/Initialize() . = ..() new /obj/item/documents/terragov(src) - update_icon() + update_appearance() diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 9bce0763c2c5..04fcb0af1363 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -117,7 +117,7 @@ pixel_x = base_pixel_x + rand(-9, 9) pixel_y = base_pixel_y + rand(-8, 8) pixel_x = base_pixel_x + rand(-9, 9) - update_icon() + update_appearance() /obj/item/paper/update_icon_state() if((info || add_info) && show_written_words) @@ -376,7 +376,7 @@ stampoverlay.pixel_y = rand(-3, 2) add_overlay(stampoverlay) LAZYADD(stamped, icon_state) - update_icon() + update_appearance() return TRUE else to_chat(usr, pick("You try to stamp but you miss!", "There is no where else you can stamp!")) @@ -422,7 +422,7 @@ update_static_data(usr,ui) - update_icon() + update_appearance() . = TRUE /obj/item/paper/ui_host(mob/user) diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index 203a81d3fcb4..84188c726f4c 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -15,7 +15,7 @@ /obj/item/papercutter/Initialize() . = ..() storedcutter = new /obj/item/hatchet/cutterblade(src) - update_icon() + update_appearance() /obj/item/papercutter/suicide_act(mob/user) @@ -51,7 +51,7 @@ playsound(loc, "pageturn", 60, TRUE) to_chat(user, "You place [P] in [src].") storedpaper = P - update_icon() + update_appearance() return if(istype(P, /obj/item/hatchet/cutterblade) && !storedcutter) if(!user.transferItemToLoc(P, src)) @@ -59,7 +59,7 @@ to_chat(user, "You replace [src]'s [P].") P.forceMove(src) storedcutter = P - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_SCREWDRIVER && storedcutter) P.play_tool_sound(src) @@ -81,7 +81,7 @@ to_chat(user, "You remove [src]'s [storedcutter].") user.put_in_hands(storedcutter) storedcutter = null - update_icon() + update_appearance() if(storedpaper) playsound(src.loc, 'sound/weapons/slash.ogg', 50, TRUE) @@ -90,7 +90,7 @@ qdel(storedpaper) new /obj/item/paperslip(get_turf(src)) new /obj/item/paperslip(get_turf(src)) - update_icon() + update_appearance() /obj/item/papercutter/MouseDrop(atom/over_object) . = ..() diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index dbc04b3de01f..4b82c438eb72 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -25,7 +25,7 @@ if(P && !bin_pen) P.forceMove(src) bin_pen = P - update_icon() + update_appearance() /obj/item/paper_bin/Destroy() if(papers) @@ -37,7 +37,7 @@ /obj/item/paper_bin/fire_act(exposed_temperature, exposed_volume) if(total_paper) total_paper = 0 - update_icon() + update_appearance() ..() /obj/item/paper_bin/MouseDrop(atom/over_object) @@ -72,10 +72,10 @@ user.put_in_hands(P) to_chat(user, "You take [P] out of \the [src].") bin_pen = null - update_icon() + update_appearance() else if(total_paper >= 1) total_paper-- - update_icon() + update_appearance() // If there's any custom paper on the stack, use that instead of creating a new paper. var/obj/item/paper/P if(papers.len > 0) @@ -105,14 +105,14 @@ to_chat(user, "You put [P] in [src].") papers.Add(P) total_paper++ - update_icon() + update_appearance() else if(istype(I, /obj/item/pen) && !bin_pen) var/obj/item/pen/P = I if(!user.transferItemToLoc(P, src)) return to_chat(user, "You put [P] in [src].") bin_pen = P - update_icon() + update_appearance() else return ..() diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index 5c5905247ac1..953f1f1e4452 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -30,7 +30,7 @@ newPaper.forceMove(src) else internalPaper = new(src) - update_icon() + update_appearance() /obj/item/paperplane/handle_atom_del(atom/A) if(A == internalPaper) @@ -86,7 +86,7 @@ else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane internalPaper.attackby(P, user) //spoofed attack to update internal paper. - update_icon() + update_appearance() add_fingerprint(user) return diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 98a832ba2278..9413ceb17a39 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -238,7 +238,7 @@ playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) to_chat(user, "[src] is now active.") updateEmbedding() - update_icon() + update_appearance() /obj/item/pen/edagger/update_icon_state() if(on) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index e9c96fbbe7bf..d5d6ea378595 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -251,7 +251,7 @@ copied_paper.info += copied_info copied_paper.info += "" copied_paper.name = to_copy.name - copied_paper.update_icon() + copied_paper.update_appearance() copied_paper.stamps = to_copy.stamps if(to_copy.stamped) copied_paper.stamped = to_copy.stamped.Copy() diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index d588ee2c5205..24a256282fad 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -41,11 +41,11 @@ ticket.audible_message("\the [ticket] disperses!") qdel(ticket) tickets.Cut() - update_icon() + update_appearance() /obj/machinery/ticket_machine/Initialize() . = ..() - update_icon() + update_appearance() /obj/machinery/ticket_machine/proc/increment() if(current_number > ticket_number) @@ -59,7 +59,7 @@ say("Now serving ticket #[current_number]!") if(!(obj_flags & EMAGGED) && tickets[current_number]) tickets[current_number].audible_message("\the [tickets[current_number]] vibrates!") - update_icon() //Update our icon here rather than when they take a ticket to show the current ticket number being served + update_appearance() //Update our icon here rather than when they take a ticket to show the current ticket number being served /obj/machinery/button/ticket_machine name = "increment ticket counter" @@ -155,7 +155,7 @@ qdel(ticket) tickets.Cut() max_number = initial(max_number) - update_icon() + update_appearance() return /obj/machinery/ticket_machine/proc/reset_cooldown() @@ -221,7 +221,7 @@ /obj/item/paper/extinguish() ..() - update_icon() + update_appearance() /obj/item/ticket_machine_ticket/Destroy() if(owner && source) diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index 25395bd677d8..9b41f9f6236d 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -16,7 +16,7 @@ if(!user.transferItemToLoc(I, src)) return displayed = I - update_icon() + update_appearance() else to_chat(user, "\The [src] already contains a photo.") ..() @@ -31,7 +31,7 @@ user.put_in_hands(I) to_chat(user, "You carefully remove the photo from \the [src].") displayed = null - update_icon() + update_appearance() return ..() /obj/item/wallframe/picture/attack_self(mob/user) @@ -106,7 +106,7 @@ else qdel(framed) framed = P - update_icon() + update_appearance() /obj/structure/sign/picture_frame/examine(mob/user) if(in_range(src, user) && framed) @@ -135,7 +135,7 @@ if(!user.transferItemToLoc(P, src)) return framed = P - update_icon() + update_appearance() else to_chat(user, "\The [src] already contains a photo.") @@ -162,5 +162,5 @@ if(contents.len) var/obj/item/I = pick(contents) I.forceMove(F) - F.update_icon() + F.update_appearance() qdel(src) diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm index ca70da0add22..fa21920fed27 100644 --- a/code/modules/photography/photos/photo.dm +++ b/code/modules/photography/photos/photo.dm @@ -21,7 +21,7 @@ if(!istype(P)) return picture = P - update_icon() + update_appearance() if(P.caption) scribble = P.caption if(setname && P.picture_name) @@ -34,7 +34,7 @@ /obj/item/photo/update_icon_state() if(!istype(picture) || !picture.picture_image) - return + return ..() var/icon/I = picture.get_small_icon(initial(icon_state)) if(I) icon = I diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm index a24d2dfc995f..ff344741ad99 100644 --- a/code/modules/plumbing/ducts.dm +++ b/code/modules/plumbing/ducts.dm @@ -82,7 +82,7 @@ All the important duct code: for(var/atom/movable/AM in get_step(src, D)) if(connect_network(AM, D)) add_connects(D) - update_icon() + update_appearance() ///see if whatever we found can be connected to /obj/machinery/duct/proc/connect_network(atom/movable/AM, direction, ignore_color) @@ -109,7 +109,7 @@ All the important duct code: add_neighbour(D, direction) D.add_connects(opposite_dir) - D.update_icon() + D.update_appearance() return TRUE //tell the current pipe to also update it's sprite if(!(D in neighbours)) //we cool if((duct_color != D.duct_color) && !(ignore_colors || D.ignore_colors)) @@ -160,7 +160,7 @@ All the important duct code: duct.remove_duct(src) lose_neighbours() reset_connects(0) - update_icon() + update_appearance() if(ispath(drop_on_wrench) && !QDELING(src)) new drop_on_wrench(drop_location()) qdel(src) @@ -196,7 +196,7 @@ All the important duct code: connects = 0 for(var/A in neighbours) connects |= neighbours[A] - update_icon() + update_appearance() ///create a new duct datum /obj/machinery/duct/proc/create_duct() @@ -335,7 +335,7 @@ All the important duct code: add_connects(direction) //the connect of the other duct is handled in connect_network, but do this here for the parent duct because it's not necessary in normal cases add_neighbour(D, direction) connect_network(D, direction, TRUE) - update_icon() + update_appearance() ///has a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect. /obj/machinery/duct/multilayered diff --git a/code/modules/plumbing/plumbers/acclimator.dm b/code/modules/plumbing/plumbers/acclimator.dm index 755526c2a2a6..1ac5b30a4b6a 100644 --- a/code/modules/plumbing/plumbers/acclimator.dm +++ b/code/modules/plumbing/plumbers/acclimator.dm @@ -34,17 +34,17 @@ if(machine_stat & NOPOWER || !enabled || !reagents.total_volume || reagents.chem_temp == target_temperature) if(acclimate_state != NEUTRAL) acclimate_state = NEUTRAL - update_icon() + update_appearance() if(!reagents.total_volume) emptying = FALSE return if(reagents.chem_temp < target_temperature && acclimate_state != HEATING) //note that we check if the temperature is the same at the start acclimate_state = HEATING - update_icon() + update_appearance() else if(reagents.chem_temp > target_temperature && acclimate_state != COOLING) acclimate_state = COOLING - update_icon() + update_appearance() if(!emptying) if(reagents.chem_temp >= target_temperature && target_temperature + allowed_temperature_difference >= reagents.chem_temp) //cooling here emptying = TRUE diff --git a/code/modules/plumbing/plumbers/pumps.dm b/code/modules/plumbing/plumbers/pumps.dm index 4f7db6fab4f5..331e3fc24d89 100644 --- a/code/modules/plumbing/plumbers/pumps.dm +++ b/code/modules/plumbing/plumbers/pumps.dm @@ -4,6 +4,7 @@ desc = "Pump up those sweet liquids from under the surface. Uses thermal energy from geysers to power itself." //better than placing 200 cables, because it wasnt fun icon = 'icons/obj/plumbing/plumbers.dmi' icon_state = "pump" + base_icon_state = "pump" anchored = FALSE density = TRUE idle_power_usage = 10 @@ -30,7 +31,7 @@ . = ..() if(. == SUCCESSFUL_UNFASTEN) geyser = null - update_icon() + update_appearance() geyserless = FALSE //we switched state, so lets just set this back aswell /obj/machinery/plumbing/liquid_pump/process() @@ -40,7 +41,7 @@ if(!geyser) for(var/obj/structure/geyser/G in loc.contents) geyser = G - update_icon() + update_appearance() if(!geyser) //we didnt find one, abort geyserless = TRUE visible_message("The [name] makes a sad beep!") @@ -57,9 +58,9 @@ /obj/machinery/plumbing/liquid_pump/update_icon_state() if(geyser) - icon_state = initial(icon_state) + "-on" + icon_state = "[base_icon_state]-on" else if(panel_open) - icon_state = initial(icon_state) + "-open" + icon_state = "[base_icon_state]-open" else - icon_state = initial(icon_state) + icon_state = "[base_icon_state]" return ..() diff --git a/code/modules/plumbing/plumbers/synthesizer.dm b/code/modules/plumbing/plumbers/synthesizer.dm index 8c6a50ed09d8..fc36947a8901 100644 --- a/code/modules/plumbing/plumbers/synthesizer.dm +++ b/code/modules/plumbing/plumbers/synthesizer.dm @@ -99,7 +99,7 @@ if(new_reagent in dispensable_reagents) reagent_id = new_reagent . = TRUE - update_icon() + update_appearance() reagents.clear_reagents() /obj/machinery/plumbing/synthesizer/update_overlays() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 1c3abc8c3f1f..f57a82b00d8f 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1,47 +1,100 @@ -//update_state -#define UPSTATE_CELL_IN (1<<0) -#define UPSTATE_OPENED1 (1<<1) -#define UPSTATE_OPENED2 (1<<2) -#define UPSTATE_MAINT (1<<3) -#define UPSTATE_BROKE (1<<4) -#define UPSTATE_BLUESCREEN (1<<5) -#define UPSTATE_WIREEXP (1<<6) -#define UPSTATE_ALLGOOD (1<<7) - -#define APC_RESET_EMP "emp" - -//update_overlay -#define APC_UPOVERLAY_CHARGEING0 (1<<0) -#define APC_UPOVERLAY_CHARGEING1 (1<<1) -#define APC_UPOVERLAY_CHARGEING2 (1<<2) -#define APC_UPOVERLAY_EQUIPMENT0 (1<<3) -#define APC_UPOVERLAY_EQUIPMENT1 (1<<4) -#define APC_UPOVERLAY_EQUIPMENT2 (1<<5) -#define APC_UPOVERLAY_LIGHTING0 (1<<6) -#define APC_UPOVERLAY_LIGHTING1 (1<<7) -#define APC_UPOVERLAY_LIGHTING2 (1<<8) -#define APC_UPOVERLAY_ENVIRON0 (1<<9) -#define APC_UPOVERLAY_ENVIRON1 (1<<10) -#define APC_UPOVERLAY_ENVIRON2 (1<<11) -#define APC_UPOVERLAY_LOCKED (1<<12) -#define APC_UPOVERLAY_OPERATING (1<<13) - -#define APC_ELECTRONICS_MISSING 0 // None -#define APC_ELECTRONICS_INSTALLED 1 // Installed but not secured -#define APC_ELECTRONICS_SECURED 2 // Installed and secured - +// APC electronics status: +/// There are no electronics in the APC. +#define APC_ELECTRONICS_MISSING 0 +/// The electronics are installed but not secured. +#define APC_ELECTRONICS_INSTALLED 1 +/// The electronics are installed and secured. +#define APC_ELECTRONICS_SECURED 2 + +// APC cover status: +/// The APCs cover is closed. #define APC_COVER_CLOSED 0 +/// The APCs cover is open. #define APC_COVER_OPENED 1 +/// The APCs cover is missing. #define APC_COVER_REMOVED 2 +// APC charging status: +/// The APC is not charging. #define APC_NOT_CHARGING 0 +/// The APC is charging. #define APC_CHARGING 1 +/// The APC is fully charged. #define APC_FULLY_CHARGED 2 -//WS Begin -- Ethereal Charge Scaling -#define APC_DRAIN_TIME 75 +// APC channel status: +/// The APCs power channel is manually set off. +#define APC_CHANNEL_OFF 0 +/// The APCs power channel is automatically off. +#define APC_CHANNEL_AUTO_OFF 1 +/// The APCs power channel is manually set on. +#define APC_CHANNEL_ON 2 +/// The APCs power channel is automatically on. +#define APC_CHANNEL_AUTO_ON 3 + +// APC autoset enums: +/// The APC turns automated and manual power channels off. +#define AUTOSET_FORCE_OFF 0 +/// The APC turns automated power channels off. +#define AUTOSET_OFF 2 +/// The APC turns automated power channels on. +#define AUTOSET_ON 1 + +// External power status: +/// The APC either isn't attached to a powernet or there is no power on the external powernet. +#define APC_NO_POWER 0 +/// The APCs external powernet does not have enough power to charge the APC. +#define APC_LOW_POWER 1 +/// The APCs external powernet has enough power to charge the APC. +#define APC_HAS_POWER 2 + +// Elzuose: +/// How long it takes an elzu to drain or charge APCs. Also used as a spam limiter. +#define APC_DRAIN_TIME (7.5 SECONDS) +/// How much power elzu gain/drain from APCs. #define APC_POWER_GAIN (10 * ETHEREAL_CHARGE_SCALING_MULTIPLIER) -//WS End + +// Wires & EMPs: +/// The wire value used to reset the APCs wires after one's EMPed. +#define APC_RESET_EMP "emp" + +// update_state +// Bitshifts: (If you change the status values to be something other than an int or able to exceed 3 you will need to change these too) +/// The bit shift for the APCs cover status. +#define UPSTATE_COVER_SHIFT (0) + /// The bitflag representing the APCs cover being open for icon purposes. + #define UPSTATE_OPENED1 (APC_COVER_OPENED << UPSTATE_COVER_SHIFT) + /// The bitflag representing the APCs cover being missing for icon purposes. + #define UPSTATE_OPENED2 (APC_COVER_REMOVED << UPSTATE_COVER_SHIFT) + +// Bitflags: +/// The APC has a power cell. +#define UPSTATE_CELL_IN (1<<2) +/// The APC is broken or damaged. +#define UPSTATE_BROKE (1<<3) +/// The APC is undergoing maintenance. +#define UPSTATE_MAINT (1<<4) +/// The APC is emagged or malfed. +#define UPSTATE_BLUESCREEN (1<<5) +/// The APCs wires are exposed. +#define UPSTATE_WIREEXP (1<<6) + +// update_overlay +// Bitflags: +/// Bitflag indicating that the APCs operating status overlay should be shown. +#define UPOVERLAY_OPERATING (1<<0) +/// Bitflag indicating that the APCs locked status overlay should be shown. +#define UPOVERLAY_LOCKED (1<<1) + +// Bitshifts: (If you change the status values to be something other than an int or able to exceed 3 you will need to change these too) +/// Bit shift for the charging status of the APC. +#define UPOVERLAY_CHARGING_SHIFT (2) +/// Bit shift for the equipment status of the APC. +#define UPOVERLAY_EQUIPMENT_SHIFT (4) +/// Bit shift for the lighting channel status of the APC. +#define UPOVERLAY_LIGHTING_SHIFT (6) +/// Bit shift for the environment channel status of the APC. +#define UPOVERLAY_ENVIRON_SHIFT (8) // the Area Power Controller (APC), formerly Power Distribution Unit (PDU) // one per area, needs wire connection to power network through a terminal @@ -80,9 +133,9 @@ var/cell_type = /obj/item/stock_parts/cell/upgraded //Base cell has 2500 capacity. Enter the path of a different cell you want to use. cell determines charge rates, max capacity, ect. These can also be changed with other APC vars, but isn't recommended to minimize the risk of accidental usage of dirty editted APCs var/opened = APC_COVER_CLOSED var/shorted = 0 - var/lighting = 3 - var/equipment = 3 - var/environ = 3 + var/lighting = APC_CHANNEL_AUTO_ON + var/equipment = APC_CHANNEL_AUTO_ON + var/environ = APC_CHANNEL_AUTO_ON var/operating = TRUE var/charging = APC_NOT_CHARGING var/chargemode = 1 @@ -189,7 +242,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) operating = FALSE name = "\improper [get_area_name(area, TRUE)] APC" set_machine_stat(machine_stat | MAINT) - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/update), 5) /obj/machinery/power/apc/Destroy() @@ -215,7 +268,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) /obj/machinery/power/apc/handle_atom_del(atom/A) if(A == cell) cell = null - update_icon() + update_appearance() updateUsrDialog() /obj/machinery/power/apc/proc/make_terminal() @@ -280,70 +333,24 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) // update the APC icon to show the three base states // also add overlays for indicator lights -/obj/machinery/power/apc/update_icon() - var/update = check_updates() //returns 0 if no need to update icons. - // 1 if we need to update the icon_state - // 2 if we need to update the overlays - if(!update) - icon_update_needed = FALSE - return ..() - - if(update & 1) // Updating the icon state - if(update_state & UPSTATE_ALLGOOD) - icon_state = "apc0" - else if(update_state & (UPSTATE_OPENED1|UPSTATE_OPENED2)) - var/basestate = "apc[ cell ? "2" : "1" ]" - if(has_electronics == APC_ELECTRONICS_INSTALLED) //god - . += "apc-electronics" - if(update_state & UPSTATE_OPENED1) - if(update_state & (UPSTATE_MAINT|UPSTATE_BROKE)) - icon_state = "apcmaint" //disabled APC cannot hold cell - else - icon_state = basestate - else if(update_state & UPSTATE_OPENED2) - if (update_state & UPSTATE_BROKE || malfhack) - icon_state = "[basestate]-b-nocover" - else - icon_state = "[basestate]-nocover" - else if(update_state & UPSTATE_BROKE) - icon_state = "apc-b" - else if(update_state & UPSTATE_BLUESCREEN) - icon_state = "apcemag" - else if(update_state & UPSTATE_WIREEXP) - icon_state = "apcewires" - else if(update_state & UPSTATE_MAINT) - icon_state = "apc0" - - if(!(update_state & UPSTATE_ALLGOOD)) - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) +/obj/machinery/power/apc/update_appearance(updates=check_updates()) + icon_update_needed = FALSE + if(!updates) + return if(!cell) //it always peeved me that abandoned ships always had the apc lights on. this should fix it icon_update_needed = FALSE set_light(0) - return ..() + return if(cell.charge <= 0) icon_update_needed = FALSE set_light(0) - return ..() - - if(update & 2) - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!(machine_stat & (BROKEN|MAINT)) && update_state & UPSTATE_ALLGOOD) - SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, EMISSIVE_PLANE, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, EMISSIVE_PLANE, dir) - if(operating) - SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, EMISSIVE_PLANE, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, EMISSIVE_PLANE, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, EMISSIVE_PLANE, dir) - + return + //this may need to be moved up!! + . = ..() // And now, separately for cleanness, the lighting changing - if(update_state & UPSTATE_ALLGOOD) + if(!update_state) switch(charging) if(APC_NOT_CHARGING) set_light_color(COLOR_SOFT_RED) @@ -352,90 +359,104 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(APC_FULLY_CHARGED) set_light_color(LIGHT_COLOR_GREEN) set_light(lon_range) - else if(update_state & UPSTATE_BLUESCREEN) + return + + if(update_state & UPSTATE_BLUESCREEN) set_light_color(LIGHT_COLOR_BLUE) set_light(lon_range) - else - set_light(0) + return - icon_update_needed = FALSE +/obj/machinery/power/apc/update_icon_state() + if(!update_state) + icon_state = "apc0" + return ..() + if(update_state & (UPSTATE_OPENED1|UPSTATE_OPENED2)) + var/basestate = "apc[cell ? 2 : 1]" + if(update_state & UPSTATE_OPENED1) + icon_state = (update_state & (UPSTATE_MAINT|UPSTATE_BROKE)) ? "apcmaint" : basestate + else if(update_state & UPSTATE_OPENED2) + icon_state = "[basestate][((update_state & UPSTATE_BROKE) || malfhack) ? "-b" : null]-nocover" + return ..() + if(update_state & UPSTATE_BROKE) + icon_state = "apc-b" + return ..() + if(update_state & UPSTATE_BLUESCREEN) + icon_state = "apcemag" + return ..() + if(update_state & UPSTATE_WIREEXP) + icon_state = "apcewires" + return ..() + if(update_state & UPSTATE_MAINT) + icon_state = "apc0" return ..() +/obj/machinery/power/apc/update_overlays() + . = ..() + if((machine_stat & (BROKEN|MAINT)) || update_state) + return + + SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, EMISSIVE_PLANE, dir) + if(!operating) + return + + SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, EMISSIVE_PLANE, dir) + +/// Checks for what icon updates we will need to handle /obj/machinery/power/apc/proc/check_updates() - var/last_update_state = update_state - var/last_update_overlay = update_overlay - update_state = 0 - update_overlay = 0 + SIGNAL_HANDLER + . = NONE - if(cell) - update_state |= UPSTATE_CELL_IN + // Handle icon status: + var/new_update_state = NONE if(machine_stat & BROKEN) - update_state |= UPSTATE_BROKE + new_update_state |= UPSTATE_BROKE if(machine_stat & MAINT) - update_state |= UPSTATE_MAINT + new_update_state |= UPSTATE_MAINT if(opened) - if(opened==APC_COVER_OPENED) - update_state |= UPSTATE_OPENED1 - if(opened==APC_COVER_REMOVED) - update_state |= UPSTATE_OPENED2 + new_update_state |= (opened << UPSTATE_COVER_SHIFT) + if(cell) + new_update_state |= UPSTATE_CELL_IN //WS Edit - Malf AI Rework else if((obj_flags & EMAGGED)) - update_state |= UPSTATE_BLUESCREEN + new_update_state |= UPSTATE_BLUESCREEN else if(malfai) - if(malfhackhide) - update_state |= UPSTATE_ALLGOOD - else - update_state |= UPSTATE_BLUESCREEN + // if(malfhackhide) + // new_update_state |= UPSTATE_ALLGOOD + //else + new_update_state |= UPSTATE_BLUESCREEN // EndWS Edit - Malf AI Rework else if(panel_open) - update_state |= UPSTATE_WIREEXP - if(update_state <= 1) - update_state |= UPSTATE_ALLGOOD + new_update_state |= UPSTATE_WIREEXP + if(new_update_state != update_state) + update_state = new_update_state + . |= UPDATE_ICON_STATE + + // Handle overlay status: + var/new_update_overlay = NONE if(operating) - update_overlay |= APC_UPOVERLAY_OPERATING + new_update_overlay |= UPOVERLAY_OPERATING - if(update_state & UPSTATE_ALLGOOD) + if(!update_state) if(locked) - update_overlay |= APC_UPOVERLAY_LOCKED - - if(!charging) - update_overlay |= APC_UPOVERLAY_CHARGEING0 - else if(charging == APC_CHARGING) - update_overlay |= APC_UPOVERLAY_CHARGEING1 - else if(charging == APC_FULLY_CHARGED) - update_overlay |= APC_UPOVERLAY_CHARGEING2 - - if (!equipment) - update_overlay |= APC_UPOVERLAY_EQUIPMENT0 - else if(equipment == 1) - update_overlay |= APC_UPOVERLAY_EQUIPMENT1 - else if(equipment == 2) - update_overlay |= APC_UPOVERLAY_EQUIPMENT2 - - if(!lighting) - update_overlay |= APC_UPOVERLAY_LIGHTING0 - else if(lighting == 1) - update_overlay |= APC_UPOVERLAY_LIGHTING1 - else if(lighting == 2) - update_overlay |= APC_UPOVERLAY_LIGHTING2 - - if(!environ) - update_overlay |= APC_UPOVERLAY_ENVIRON0 - else if(environ==1) - update_overlay |= APC_UPOVERLAY_ENVIRON1 - else if(environ==2) - update_overlay |= APC_UPOVERLAY_ENVIRON2 - - - var/results = 0 - if(last_update_state == update_state && last_update_overlay == update_overlay) - return 0 - if(last_update_state != update_state) - results += 1 - if(last_update_overlay != update_overlay) - results += 2 - return results + new_update_overlay |= UPOVERLAY_LOCKED + + new_update_overlay |= (charging << UPOVERLAY_CHARGING_SHIFT) + new_update_overlay |= (equipment << UPOVERLAY_EQUIPMENT_SHIFT) + new_update_overlay |= (lighting << UPOVERLAY_LIGHTING_SHIFT) + new_update_overlay |= (environ << UPOVERLAY_ENVIRON_SHIFT) + + if(new_update_overlay != update_overlay) + update_overlay = new_update_overlay + . |= UPDATE_OVERLAYS // Used in process so it doesn't update the icon too much /obj/machinery/power/apc/proc/queue_icon_update() @@ -815,7 +836,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(.) return - //WS Begin -- Ethereal Charge Scaling + //[REDACTED] Begin -- Ethereal Charge Scaling //Let the hubris remain but the name be forgotten if(isethereal(user)) var/mob/living/carbon/human/H = user var/datum/species/ethereal/E = H.dna.species @@ -830,8 +851,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) return E.drain_time = world.time + APC_DRAIN_TIME to_chat(H, "You start channeling some power through the APC into your body.") - while(do_after(user, APC_DRAIN_TIME, target = src)) //WS edit - E.drain_time = world.time + APC_DRAIN_TIME //WS edit + while(do_after(user, APC_DRAIN_TIME, target = src)) + E.drain_time = world.time + APC_DRAIN_TIME if(cell.charge <= (cell.maxcharge / 20) || (stomach.crystal_charge > charge_limit)) return if(istype(stomach)) @@ -950,13 +971,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) return 0 // 0 = User is not a Malf AI /obj/machinery/power/apc/proc/report() - return "[area.name] : [equipment]/[lighting]/[environ] ([lastused_equip+lastused_light+lastused_environ]) : [cell? cell.percent() : "N/C"] ([charging])" + return "[area.name] : [equipment]/[lighting]/[environ] ([lastused_total]) : [cell? cell.percent() : "N/C"] ([charging])" /obj/machinery/power/apc/proc/update() if(operating && !shorted && !failure_timer) - area.power_light = (lighting > 1) - area.power_equip = (equipment > 1) - area.power_environ = (environ > 1) + area.power_light = (lighting > APC_CHANNEL_AUTO_OFF) + area.power_equip = (equipment > APC_CHANNEL_AUTO_OFF) + area.power_environ = (environ > APC_CHANNEL_AUTO_OFF) else area.power_light = FALSE area.power_equip = FALSE @@ -1251,7 +1272,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) /obj/machinery/power/apc/process() if(icon_update_needed) - update_icon() + update_appearance() if(machine_stat & (BROKEN|MAINT)) return if(!area.requires_power) @@ -1279,11 +1300,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) var/excess = surplus() if(!src.avail()) - main_status = 0 + main_status = APC_NO_POWER else if(excess < 0) - main_status = 1 + main_status = APC_LOW_POWER else - main_status = 2 + main_status = APC_HAS_POWER if(cell && !shorted) // draw power from cell as before to power the area @@ -1306,10 +1327,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) charging = APC_NOT_CHARGING chargecount = 0 // This turns everything off in the case that there is still a charge left on the battery, just not enough to run the room. - equipment = autoset(equipment, 0) - lighting = autoset(lighting, 0) - environ = autoset(environ, 0) - + equipment = autoset(equipment, AUTOSET_FORCE_OFF) + lighting = autoset(lighting, AUTOSET_FORCE_OFF) + environ = autoset(environ, AUTOSET_FORCE_OFF) // set channels depending on how much charge we have left @@ -1320,19 +1340,19 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) longtermpower -= 2 if(cell.charge <= 0) // zero charge, turn all off - equipment = autoset(equipment, 0) - lighting = autoset(lighting, 0) - environ = autoset(environ, 0) + equipment = autoset(equipment, AUTOSET_FORCE_OFF) + lighting = autoset(lighting, AUTOSET_FORCE_OFF) + environ = autoset(environ, AUTOSET_FORCE_OFF) area.poweralert(0, src) else if(cell.percent() < 15 && longtermpower < 0) // <15%, turn off lighting & equipment - equipment = autoset(equipment, 2) - lighting = autoset(lighting, 2) - environ = autoset(environ, 1) + equipment = autoset(equipment, AUTOSET_OFF) + lighting = autoset(lighting, AUTOSET_OFF) + environ = autoset(environ, AUTOSET_ON) area.poweralert(0, src) else if(cell.percent() < 30 && longtermpower < 0) // <30%, turn off equipment - equipment = autoset(equipment, 2) - lighting = autoset(lighting, 1) - environ = autoset(environ, 1) + equipment = autoset(equipment, AUTOSET_ON) + lighting = autoset(lighting, AUTOSET_ON) + environ = autoset(environ, AUTOSET_ON) area.poweralert(0, src) else // otherwise all can be on equipment = autoset(equipment, 1) @@ -1372,17 +1392,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) charging = APC_CHARGING else // chargemode off - charging = 0 + charging = APC_NOT_CHARGING chargecount = 0 else // no cell, switch everything off charging = APC_NOT_CHARGING chargecount = 0 - equipment = autoset(equipment, 0) - lighting = autoset(lighting, 0) - environ = autoset(environ, 0) - area.poweralert(0, src) + equipment = autoset(equipment, AUTOSET_FORCE_OFF) + lighting = autoset(lighting, AUTOSET_FORCE_OFF) + environ = autoset(environ, AUTOSET_FORCE_OFF) + area.poweralert(TRUE, src) // update icon & area power if anything changed @@ -1393,23 +1413,55 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) else if (last_ch != charging) queue_icon_update() -// val 0=off, 1=off(auto) 2=on 3=on(auto) -// on 0=off, 1=on, 2=autooff +/** + * Returns the new status value for an APC channel. + * + * // val 0=off, 1=off(auto) 2=on 3=on(auto) + * // on 0=off, 1=on, 2=autooff + * TODO: Make this use bitflags instead. It should take at most three lines, but it's out of scope for now. + * + * Arguments: + * - val: The current status of the power channel. + * - [APC_CHANNEL_OFF]: The APCs channel has been manually set to off. This channel will not automatically change. + * - [APC_CHANNEL_AUTO_OFF]: The APCs channel is running on automatic and is currently off. Can be automatically set to [APC_CHANNEL_AUTO_ON]. + * - [APC_CHANNEL_ON]: The APCs channel has been manually set to on. This will be automatically changed only if the APC runs completely out of power or is disabled. + * - [APC_CHANNEL_AUTO_ON]: The APCs channel is running on automatic and is currently on. Can be automatically set to [APC_CHANNEL_AUTO_OFF]. + * - on: An enum dictating how to change the channel's status. + * - [AUTOSET_FORCE_OFF]: The APC forces the channel to turn off. This includes manually set channels. + * - [AUTOSET_ON]: The APC allows automatic channels to turn back on. + * - [AUTOSET_OFF]: The APC turns automatic channels off. + */ /obj/machinery/power/apc/proc/autoset(val, on) - if(on==0) - if(val==2) // if on, return off - return 0 - else if(val==3) // if auto-on, return auto-off - return 1 - else if(on==1) - if(val==1) // if auto-off, return auto-on - return 3 - else if(on==2) - if(val==3) // if auto-on, return auto-off - return 1 + if(on == AUTOSET_FORCE_OFF) + if(val == APC_CHANNEL_ON) // if on, return off + return APC_CHANNEL_OFF + else if(val == APC_CHANNEL_AUTO_ON) // if auto-on, return auto-off + return APC_CHANNEL_AUTO_OFF + else if(on == AUTOSET_ON) + if(val == APC_CHANNEL_AUTO_OFF) // if auto-off, return auto-on + return APC_CHANNEL_AUTO_ON + else if(on == AUTOSET_OFF) + if(val == APC_CHANNEL_AUTO_ON) // if auto-on, return auto-off + return APC_CHANNEL_AUTO_OFF return val +/** + * Used by external forces to set the APCs channel status's. + * + * Arguments: + * - val: The desired value of the subsystem: + * - 1: Manually sets the APCs channel to be [APC_CHANNEL_OFF]. + * - 2: Manually sets the APCs channel to be [APC_CHANNEL_AUTO_ON]. If the APC doesn't have any power this defaults to [APC_CHANNEL_OFF] instead. + * - 3: Sets the APCs channel to be [APC_CHANNEL_AUTO_ON]. If the APC doesn't have enough power this defaults to [APC_CHANNEL_AUTO_OFF] instead. + */ +/obj/machinery/power/apc/proc/setsubsystem(val) + if(cell && cell.charge > 0) + return (val == 1) ? APC_CHANNEL_OFF : val + if(val == 3) + return APC_CHANNEL_AUTO_OFF + return APC_CHANNEL_OFF + /obj/machinery/power/apc/proc/reset(wire) switch(wire) if(WIRE_IDSCAN) @@ -1421,9 +1473,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(!wires.is_cut(WIRE_AI)) aidisabled = FALSE if(APC_RESET_EMP) - equipment = 3 - environ = 3 - update_icon() + equipment = APC_CHANNEL_AUTO_ON + environ = APC_CHANNEL_AUTO_ON + update_appearance() update() // damage and destruction acts @@ -1436,10 +1488,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) occupier.emp_act(severity) if(. & EMP_PROTECT_SELF) return - lighting = 0 - equipment = 0 - environ = 0 - update_icon() + lighting = APC_CHANNEL_OFF + equipment = APC_CHANNEL_OFF + environ = APC_CHANNEL_OFF + update_appearance() update() addtimer(CALLBACK(src, .proc/reset, APC_RESET_EMP), 600) @@ -1487,15 +1539,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) else return 0 -/obj/machinery/power/apc/proc/setsubsystem(val) - if(cell && cell.charge > 0) - return (val==1) ? 0 : val - else if(val == 3) - return 1 - else - return 0 - - /obj/machinery/power/apc/proc/energy_fail(duration) for(var/obj/machinery/M in area.contents) if(M.critical_machine) @@ -1538,16 +1581,18 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) "nightshift_lights", ) -#undef UPSTATE_CELL_IN -#undef UPSTATE_OPENED1 -#undef UPSTATE_OPENED2 -#undef UPSTATE_MAINT -#undef UPSTATE_BROKE -#undef UPSTATE_BLUESCREEN -#undef UPSTATE_WIREEXP -#undef UPSTATE_ALLGOOD +#undef APC_CHANNEL_OFF +#undef APC_CHANNEL_AUTO_OFF +#undef APC_CHANNEL_ON +#undef APC_CHANNEL_AUTO_ON -#undef APC_RESET_EMP +#undef AUTOSET_FORCE_OFF +#undef AUTOSET_OFF +#undef AUTOSET_ON + +#undef APC_NO_POWER +#undef APC_LOW_POWER +#undef APC_HAS_POWER #undef APC_ELECTRONICS_MISSING #undef APC_ELECTRONICS_INSTALLED @@ -1566,21 +1611,23 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) #undef APC_POWER_GAIN //WS End +#undef APC_RESET_EMP + +// update_state +#undef UPSTATE_CELL_IN +#undef UPSTATE_COVER_SHIFT +#undef UPSTATE_BROKE +#undef UPSTATE_MAINT +#undef UPSTATE_BLUESCREEN +#undef UPSTATE_WIREEXP + //update_overlay -#undef APC_UPOVERLAY_CHARGEING0 -#undef APC_UPOVERLAY_CHARGEING1 -#undef APC_UPOVERLAY_CHARGEING2 -#undef APC_UPOVERLAY_EQUIPMENT0 -#undef APC_UPOVERLAY_EQUIPMENT1 -#undef APC_UPOVERLAY_EQUIPMENT2 -#undef APC_UPOVERLAY_LIGHTING0 -#undef APC_UPOVERLAY_LIGHTING1 -#undef APC_UPOVERLAY_LIGHTING2 -#undef APC_UPOVERLAY_ENVIRON0 -#undef APC_UPOVERLAY_ENVIRON1 -#undef APC_UPOVERLAY_ENVIRON2 -#undef APC_UPOVERLAY_LOCKED -#undef APC_UPOVERLAY_OPERATING +#undef UPOVERLAY_OPERATING +#undef UPOVERLAY_LOCKED +#undef UPOVERLAY_CHARGING_SHIFT +#undef UPOVERLAY_EQUIPMENT_SHIFT +#undef UPOVERLAY_LIGHTING_SHIFT +#undef UPOVERLAY_ENVIRON_SHIFT /*Power module, used for APC construction*/ /obj/item/electronics/apc diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 6549e754bb6d..cab39effac5a 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -108,7 +108,7 @@ GLOBAL_LIST_INIT(cable_colors, list( cable_color = param_color || cable_color || pick(cable_colors) if(cable_colors[cable_color]) cable_color = cable_colors[cable_color] - update_icon() + update_appearance() /obj/structure/cable/Destroy() // called when a cable is deleted if(powernet) @@ -127,7 +127,7 @@ GLOBAL_LIST_INIT(cable_colors, list( /////////////////////////////////// //If underfloor, hide the cable -/obj/structure/cable/update_icon() +/obj/structure/cable/update_appearance() icon_state = "[d1]-[d2]" color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) @@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(cable_colors, list( /obj/structure/cable/proc/update_stored(length = 1, colorC = "red") stored.amount = length stored.cable_color = colorC - stored.update_icon() + stored.update_appearance() //////////////////////////////////////////// // Power related @@ -483,6 +483,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain icon = 'icons/obj/power.dmi' icon_state = "coil" item_state = "coil" + base_icon_state = "coil" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' max_amount = MAXCOIL @@ -511,7 +512,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain /obj/item/stack/cable_coil/cyborg/attack_self(mob/user) var/cable_color = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white") cable_color = cable_color - update_icon() + update_appearance() /obj/item/stack/cable_coil/suicide_act(mob/user) if(locate(/obj/structure/chair/stool) in get_turf(user)) @@ -530,7 +531,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain pixel_x = base_pixel_x + rand(-2,2) pixel_y = base_pixel_y + rand(-2,2) - update_icon() + update_appearance() recipes = GLOB.cable_coil_recipes @@ -557,12 +558,19 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain return ..() -/obj/item/stack/cable_coil/update_icon() - icon_state = "[initial(item_state)][amount < 3 ? amount : ""]" - name = "cable [amount < 3 ? "piece" : "coil"]" +/obj/item/stack/cable_coil/update_appearance() + . = ..() + icon_state = "[base_icon_state][amount < 3 ? amount : ""]" color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) - return ..() + +/obj/item/stack/cable_coil/update_name() + . = ..() + name = "cable [(amount < 3) ? "piece" : "coil"]" + +/obj/item/stack/cable_coil/update_desc() + . = ..() + desc = "A [(amount < 3) ? "piece" : "coil"] of insulated power cable." /obj/item/stack/cable_coil/attack_hand(mob/user) . = ..() @@ -571,7 +579,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain var/obj/item/stack/cable_coil/new_cable = ..() if(istype(new_cable)) new_cable.cable_color = cable_color - new_cable.update_icon() + new_cable.update_appearance() //add cables to the stack /obj/item/stack/cable_coil/proc/give(extra) @@ -579,7 +587,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain amount = max_amount else amount += extra - update_icon() + update_appearance() /////////////////////////////////////////////// // Cable laying procedures @@ -626,7 +634,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain C.d1 = 0 //it's a O-X node cable C.d2 = dirn C.add_fingerprint(user) - C.update_icon() + C.update_appearance() C.update_stored(1, cable_color) //create a new powernet with the cable, if needed it will be merged later @@ -699,7 +707,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain NC.d1 = 0 NC.d2 = fdirn NC.add_fingerprint(user) - NC.update_icon() + NC.update_appearance() NC.update_stored(1, cable_color) //create a new powernet with the cable, if needed it will be merged later @@ -742,7 +750,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain return - C.update_icon() + C.update_appearance() C.d1 = nd1 C.d2 = nd2 @@ -751,7 +759,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain C.update_stored(2, cable_color) C.add_fingerprint(user) - C.update_icon() + C.update_appearance() C.mergeConnectedNetworks(C.d1) //merge the powernets... @@ -835,6 +843,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain /obj/item/stack/cable_coil/cut amount = null icon_state = "coil2" + base_icon_state = "coil2" /obj/item/stack/cable_coil/cut/Initialize(mapload) . = ..() @@ -842,7 +851,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain amount = rand(1,2) pixel_x = rand(-2,2) pixel_y = rand(-2,2) - update_icon() + update_appearance() /obj/item/stack/cable_coil/cut/red cable_color = "red" diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 48586e8c0dc1..a334958beb0d 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -37,7 +37,7 @@ charge = maxcharge if(ratingdesc) desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." - update_icon() + update_appearance() /obj/item/stock_parts/cell/Destroy() STOP_PROCESSING(SSobj, src) @@ -207,7 +207,7 @@ /obj/item/stock_parts/cell/crap/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/upgraded name = "upgraded power cell" @@ -229,7 +229,7 @@ /obj/item/stock_parts/cell/secborg/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/mini_egun name = "miniature energy gun power cell" @@ -275,7 +275,7 @@ /obj/item/stock_parts/cell/high/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/super name = "super-capacity power cell" @@ -288,7 +288,7 @@ /obj/item/stock_parts/cell/super/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/hyper name = "hyper-capacity power cell" @@ -301,7 +301,7 @@ /obj/item/stock_parts/cell/hyper/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/bluespace name = "bluespace power cell" @@ -315,7 +315,7 @@ /obj/item/stock_parts/cell/bluespace/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/infinite name = "infinite-capacity power cell!" @@ -371,7 +371,7 @@ /obj/item/stock_parts/cell/emproof/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/emproof/empty/ComponentInitialize() . = ..() @@ -421,9 +421,9 @@ /obj/item/stock_parts/cell/gun/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() -/obj/item/stock_parts/cell/gun/update_icon() +/obj/item/stock_parts/cell/gun/update_appearance() cut_overlays() if(grown_battery) . += mutable_appearance('icons/obj/power.dmi', "grown_wires") @@ -449,7 +449,7 @@ /obj/item/stock_parts/cell/gun/upgraded/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/gun/mini name = "miniature weapon power cell" @@ -461,7 +461,7 @@ /obj/item/stock_parts/cell/gun/mini/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/gun/SolGov name = "SolGov power cell" @@ -482,7 +482,7 @@ /obj/item/stock_parts/cell/gun/large/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() #undef CELL_DRAIN_TIME diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index b3afdf97348c..d83ce869e93e 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -19,7 +19,7 @@ find_circs() connect_to_network() SSair.start_processing_machine(src) - update_icon() + update_appearance() component_parts = list(new /obj/item/circuitboard/machine/generator) /obj/machinery/power/generator/ComponentInitialize() @@ -31,7 +31,7 @@ SSair.stop_processing_machine(src) return ..() -/obj/machinery/power/generator/update_icon() +/obj/machinery/power/generator/update_appearance() cut_overlays() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) @@ -96,7 +96,7 @@ var/datum/gas_mixture/cold_circ_air1 = cold_circ.airs[1] cold_circ_air1.merge(cold_air) - update_icon() + update_appearance() src.updateDialog() @@ -182,7 +182,7 @@ to_chat(user, "You start removing the circulators...") if(I.use_tool(src, user, 30, volume=50)) kill_circs() - update_icon() + update_appearance() to_chat(user, "You disconnect [src]'s circulator links.") playsound(src, 'sound/misc/box_deploy.ogg', 50) return TRUE @@ -208,7 +208,7 @@ kill_circs() connect_to_network() to_chat(user, "You [anchored?"secure":"unsecure"] [src].") - update_icon() + update_appearance() return TRUE /obj/machinery/power/generator/screwdriver_act(mob/user, obj/item/I) @@ -223,7 +223,7 @@ panel_open = !panel_open I.play_tool_sound(src) to_chat(user, "You [panel_open?"open":"close"] the panel on [src].") - update_icon() + update_appearance() return TRUE /obj/machinery/power/generator/crowbar_act(mob/user, obj/item/I) @@ -246,11 +246,11 @@ /obj/machinery/power/generator/proc/kill_circs() if(hot_circ) hot_circ.generator = null - hot_circ.update_icon() + hot_circ.update_appearance() hot_circ = null if(cold_circ) cold_circ.generator = null - cold_circ.update_icon() + cold_circ.update_appearance() cold_circ = null /obj/machinery/power/generator/obj_break(damage_flag) diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 629ccc0af990..5c809954a00d 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -66,6 +66,7 @@ set_broken() return ..() + // // Part generator which is mostly there for looks // @@ -87,6 +88,11 @@ if(main_part && !(main_part.machine_stat & BROKEN)) main_part.set_broken() +/// Used to eat args +/obj/machinery/gravity_generator/part/proc/on_update_icon(obj/machinery/gravity_generator/source, updates, updated) + SIGNAL_HANDLER + return update_appearance(updates) + // // Generator which spawns with the station. // @@ -158,8 +164,8 @@ part.sprite_number = count part.main_part = src parts += part - part.update_icon() - part.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) + part.update_appearance() + part.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /obj/machinery/gravity_generator/part/proc/on_update_icon) /obj/machinery/gravity_generator/main/proc/connected_parts() return parts.len == 8 @@ -182,7 +188,7 @@ if(M.machine_stat & BROKEN) M.set_fix() broken_state = FALSE - update_icon() + update_appearance() set_power() // Interaction @@ -195,14 +201,14 @@ to_chat(user, "You secure the screws of the framework.") I.play_tool_sound(src) broken_state++ - update_icon() + update_appearance() return if(GRAV_NEEDS_WELDING) if(I.tool_behaviour == TOOL_WELDER) if(I.use_tool(src, user, 0, volume=50, amount=1)) to_chat(user, "You mend the damaged framework.") broken_state++ - update_icon() + update_appearance() return if(GRAV_NEEDS_PLASTEEL) if(istype(I, /obj/item/stack/sheet/plasteel)) @@ -212,7 +218,7 @@ to_chat(user, "You add the plating to the framework.") playsound(src.loc, 'sound/machines/click.ogg', 75, TRUE) broken_state++ - update_icon() + update_appearance() else to_chat(user, "You need 10 sheets of plasteel!") return @@ -275,7 +281,7 @@ charging_state = new_state ? POWER_UP : POWER_DOWN // Startup sequence animation. investigate_log("is now [charging_state == POWER_UP ? "charging" : "discharging"].", INVESTIGATE_GRAVITY) - update_icon() + update_appearance() // Set the state of the gravity. /obj/machinery/gravity_generator/main/proc/set_state(new_state) @@ -296,7 +302,7 @@ investigate_log("was brought offline and there is now no gravity for this level.", INVESTIGATE_GRAVITY) message_admins("The gravity generator was brought offline with no backup generator. [ADMIN_VERBOSEJMP(src)]") - update_icon() + update_appearance() update_list() src.updateUsrDialog() if(alert) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 00fc375a6d9b..d2a99f752c1f 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -95,7 +95,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/light_construct, 32) if(cell) user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") user.put_in_hands(cell) - cell.update_icon() + cell.update_appearance() cell = null add_fingerprint(user) @@ -429,7 +429,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) else use_power = IDLE_POWER_USE set_light(0) - update_icon() + update_appearance() active_power_usage = (brightness * 10) if(on != on_gs) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 9a0a316ead68..e235e9328549 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -51,12 +51,12 @@ /obj/machinery/power/port_gen/proc/TogglePower() if(active) active = FALSE - update_icon() + update_appearance() soundloop.stop() else if(HasFuel()) active = TRUE START_PROCESSING(SSmachines, src) - update_icon() + update_appearance() soundloop.start() /obj/machinery/power/port_gen/proc/overheat() diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index e7ae7a22d786..3cf5f5766097 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -128,7 +128,7 @@ SEND_SIGNAL(src, COMSIG_MACHINERY_POWER_LOST) . = TRUE set_machine_stat(machine_stat | NOPOWER) - update_icon() + update_appearance() // connect the machine to a powernet if a node cable is present on the turf /obj/machinery/power/proc/connect_to_network() diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index a16d4305abc7..2d801de426af 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -120,7 +120,7 @@ if(!user.transferItemToLoc(W, src)) return loaded_tank = W - update_icon() + update_appearance() else if(W.GetID()) if(allowed(user)) if(active) @@ -223,7 +223,7 @@ if(active) toggle_power() else - update_icon() + update_appearance() /obj/machinery/power/rad_collector/rad_act(pulse_strength) . = ..() @@ -248,7 +248,7 @@ else icon_state = "ca" flick("ca_deactive", src) - update_icon() + update_appearance() return #undef RAD_COLLECTOR_EFFICIENCY diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 7ece2509d6e2..05bd1e648032 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -3,6 +3,7 @@ desc = "A heavy-duty industrial laser, often used in containment fields and power generation." icon = 'icons/obj/singularity.dmi' icon_state = "emitter" + base_icon_state = "emitter" anchored = FALSE density = TRUE @@ -135,10 +136,10 @@ return ..() /obj/machinery/power/emitter/update_icon_state() - if(active && powernet) - icon_state = avail(active_power_usage) ? icon_state_on : icon_state_underpowered - else - icon_state = initial(icon_state) + if(!active || !powernet) + icon_state = base_icon_state + return ..() + icon_state = avail(active_power_usage) ? icon_state_on : icon_state_underpowered return ..() /obj/machinery/power/emitter/interact(mob/user) @@ -161,7 +162,7 @@ log_game("Emitter turned [active ? "ON" : "OFF"] by [key_name(user)] in [AREACOORD(src)]") investigate_log("turned [active ? "ON" : "OFF"] by [key_name(user)] at [AREACOORD(src)]", INVESTIGATE_SINGULO) - update_icon() + update_appearance() else to_chat(user, "The controls are locked!") @@ -183,19 +184,19 @@ return if(!welded || (!powernet && active_power_usage)) active = FALSE - update_icon() + update_appearance() return if(active == TRUE) if(!active_power_usage || surplus() >= active_power_usage) add_load(active_power_usage) if(!powered) powered = TRUE - update_icon() + update_appearance() investigate_log("regained power and turned ON at [AREACOORD(src)]", INVESTIGATE_SINGULO) else if(powered) powered = FALSE - update_icon() + update_appearance() investigate_log("lost power and turned OFF at [AREACOORD(src)]", INVESTIGATE_SINGULO) log_game("Emitter lost power in [AREACOORD(src)]") return @@ -374,6 +375,7 @@ /obj/machinery/power/emitter/prototype name = "Prototype Emitter" icon = 'icons/obj/turrets.dmi' + base_icon_state = "protoemitter" icon_state = "protoemitter" icon_state_on = "protoemitter_+a" icon_state_underpowered = "protoemitter_+u" diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 26a4eca1507a..d11479a5ac74 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -187,7 +187,7 @@ field_generator power level display var/new_level = round(num_power_levels * power / field_generator_max_power) if(new_level != power_level) power_level = new_level - update_icon() + update_appearance() /obj/machinery/field/generator/proc/turn_off() active = FG_OFFLINE @@ -200,7 +200,7 @@ field_generator power level display if(active || warming_up <= 0) return warming_up-- - update_icon() + update_appearance() if(warming_up > 0) addtimer(CALLBACK(src, .proc/cool_down), 50) @@ -212,7 +212,7 @@ field_generator power level display if(!active) return warming_up++ - update_icon() + update_appearance() if(warming_up >= 3) start_fields() else @@ -326,7 +326,7 @@ field_generator power level display connected_gens |= G G.connected_gens |= src shield_floor(TRUE) - update_icon() + update_appearance() /obj/machinery/field/generator/proc/cleanup() @@ -343,7 +343,7 @@ field_generator power level display FG.cleanup() connected_gens -= FG clean_up = 0 - update_icon() + update_appearance() //This is here to help fight the "hurr durr, release singulo cos nobody will notice before the //singulo eats the evidence". It's not fool-proof but better than nothing. diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index c77545847248..421550cd52df 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -65,7 +65,7 @@ return construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED update_state() - update_icon() + update_appearance() /obj/structure/particle_accelerator/attackby(obj/item/W, mob/user, params) var/did_something = FALSE @@ -115,7 +115,7 @@ if(did_something) user.changeNext_move(CLICK_CD_MELEE) update_state() - update_icon() + update_appearance() return return ..() diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 44f6d774ad22..7bc3fa552ad3 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -49,7 +49,7 @@ var/obj/structure/particle_accelerator/part = CP part.strength = null part.powered = FALSE - part.update_icon() + part.update_appearance() connected_parts.Cut() return if(!part_scan()) @@ -80,7 +80,7 @@ for(var/CP in connected_parts) var/obj/structure/particle_accelerator/part = CP part.strength = strength - part.update_icon() + part.update_appearance() /obj/machinery/particle_accelerator/control_box/proc/add_strength(s) if(assembled && (strength < strength_upper_limit)) @@ -114,7 +114,7 @@ if(connected_parts.len < 6) investigate_log("lost a connected part; It powered down.", INVESTIGATE_SINGULO) toggle_power() - update_icon() + update_appearance() return //emit some particles for(var/obj/structure/particle_accelerator/particle_emitter/PE in connected_parts) @@ -180,14 +180,14 @@ var/obj/structure/particle_accelerator/part = CP part.strength = strength part.powered = TRUE - part.update_icon() + part.update_appearance() else use_power = IDLE_POWER_USE for(var/CP in connected_parts) var/obj/structure/particle_accelerator/part = CP part.strength = null part.powered = FALSE - part.update_icon() + part.update_appearance() return TRUE /obj/machinery/particle_accelerator/control_box/examine(mob/user) @@ -206,7 +206,7 @@ return construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED update_state() - update_icon() + update_appearance() /obj/machinery/particle_accelerator/control_box/attackby(obj/item/W, mob/user, params) var/did_something = FALSE @@ -256,7 +256,7 @@ if(did_something) user.changeNext_move(CLICK_CD_MELEE) update_state() - update_icon() + update_appearance() return return ..() @@ -321,7 +321,7 @@ remove_strength() . = TRUE - update_icon() + update_appearance() #undef PA_CONSTRUCTION_UNSECURED #undef PA_CONSTRUCTION_UNWIRED diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 8e8ad0a579ff..d923dc2df185 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -64,7 +64,7 @@ obj_break() return terminal.master = src - update_icon() + update_appearance() /obj/machinery/power/smes/RefreshParts() var/IO = 0 @@ -89,7 +89,7 @@ /obj/machinery/power/smes/attackby(obj/item/I, mob/user, params) //opening using screwdriver if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return //changing direction using wrench @@ -106,7 +106,7 @@ to_chat(user, "No power terminal found.") return set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() return //building and linking a terminal @@ -321,7 +321,7 @@ // only update icon if state changed if(last_disp != chargedisplay() || last_chrg != inputting || last_onln != outputting) - update_icon() + update_appearance() @@ -351,7 +351,7 @@ output_used -= excess if(clev != chargedisplay()) //if needed updates the icons overlay - update_icon() + update_appearance() return @@ -389,13 +389,13 @@ if("tryinput") input_attempt = !input_attempt log_smes(usr) - update_icon() + update_appearance() . = TRUE if("tryoutput") if(!is_emped) output_attempt = !output_attempt log_smes(usr) - update_icon() + update_appearance() . = TRUE if("input") var/target = params["target"] @@ -453,14 +453,14 @@ charge -= 1e6/severity if (charge < 0) charge = 0 - update_icon() + update_appearance() log_smes() /obj/machinery/power/smes/proc/emp_end(previous_output) is_emped = FALSE output_attempt = previous_output outputting = output_attempt - update_icon() + update_appearance() log_smes() /obj/machinery/power/smes/engineering diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index a50337982ba7..9bc70b8f9861 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -131,7 +131,7 @@ if(azimuth_current != azimuth_target) azimuth_current = azimuth_target occlusion_setup() - update_icon() + update_appearance() needs_to_update_solar_exposure = TRUE ///trace towards sun to see if we're in shadow @@ -373,8 +373,8 @@ . += mutable_appearance(icon, icon_keyboard) if(machine_stat & BROKEN) . += mutable_appearance(icon, "[icon_state]_broken") - else - . += mutable_appearance(icon, icon_screen) + return + . += mutable_appearance(icon, icon_screen) /obj/machinery/power/solar_control/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -443,7 +443,7 @@ A.circuit = M A.state = 3 A.set_anchored(TRUE) - A.update_icon() + A.update_appearance() qdel(src) else to_chat(user, "You disconnect the monitor.") @@ -454,7 +454,7 @@ A.circuit = M A.state = 4 A.set_anchored(TRUE) - A.update_icon() + A.update_appearance() qdel(src) else if(user.a_intent != INTENT_HARM && !(I.item_flags & NOBLUDGEON)) attack_hand(user) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 61bd0f55165c..05b9be90cd62 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -363,7 +363,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(final_countdown) // We're already doing it go away return final_countdown = TRUE - update_icon() + update_appearance() var/speaking = "[emergency_alert] The supermatter has reached critical integrity failure. Emergency causality destabilization field has been activated." radio.talk_into(src, speaking, common_channel, language = get_selected_language()) @@ -371,7 +371,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(damage < explosion_point) // Cutting it a bit close there engineers radio.talk_into(src, "[safe_alert] Failsafe has been disengaged.", common_channel) final_countdown = FALSE - update_icon() + update_appearance() return else if((i % 50) != 0 && i > 50) // A message once every 5 seconds until the final 5 seconds which count down individualy sleep(10) diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 20142de102a9..a814f7119e18 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -49,7 +49,7 @@ pixel_y = base_pixel_y + rand(-10, 10) if(auto_rotate) transform = transform.Turn(pick(0, 90, 180, 270)) - update_icon() + update_appearance() /obj/item/ammo_casing/Destroy() . = ..() @@ -61,9 +61,9 @@ icon_state = "[initial(icon_state)][BB ? (bullet_skin ? "-[bullet_skin]" : "") : "-empty"]" return ..() -/obj/item/ammo_casing/update_icon() - . = ..() - desc = "[initial(desc)][BB ? "" : " This one is spent."]" +/obj/item/ammo_casing/update_desc() + desc = "[initial(desc)][BB ? null : " This one is spent."]" + return ..() //proc to magically refill a casing with a new projectile /obj/item/ammo_casing/proc/newshot() //For energy weapons, syringe gun, shotgun shells and wands (!). @@ -84,7 +84,7 @@ else continue if (boolets > 0) - box.update_icon() + box.update_appearance() to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") else to_chat(user, "You fail to collect anything!") @@ -98,7 +98,7 @@ /obj/item/ammo_casing/proc/bounce_away(still_warm = FALSE, bounce_delay = 3) if(!heavy_metal) return - update_icon() + update_appearance() SpinAnimation(10, 1) var/turf/T = get_turf(src) if(still_warm && T && T.bullet_sizzle) diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 2f6d48b166a8..f8e1aa1dff1e 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -22,7 +22,7 @@ user.changeNext_move(CLICK_CD_RANGE) user.newtonian_move(get_dir(target, user)) - update_icon() + update_appearance() return TRUE /obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", atom/fired_from) diff --git a/code/modules/projectiles/ammunition/caseless/_caseless.dm b/code/modules/projectiles/ammunition/caseless/_caseless.dm index 4cc80bba0675..c675e2317586 100644 --- a/code/modules/projectiles/ammunition/caseless/_caseless.dm +++ b/code/modules/projectiles/ammunition/caseless/_caseless.dm @@ -13,4 +13,5 @@ // Overridden; caseless ammo does not distinguish between "live" and "empty"/"spent" icon states (because it has no casing). /obj/item/ammo_casing/caseless/update_icon_state() - return ..() + . = ..() + icon_state = "[initial(icon_state)]" diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index c1776ee400fd..3c71d31eb5ed 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -5,23 +5,23 @@ caliber = "foam_force" icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart" + base_icon_state = "foamdart" custom_materials = list(/datum/material/iron = 11.25) harmful = FALSE var/modified = FALSE -/obj/item/ammo_casing/caseless/foam_dart/update_icon() +/obj/item/ammo_casing/caseless/foam_dart/update_icon_state() . = ..() if (modified) - icon_state = "foamdart_empty" - desc = "It's nerf or nothing! ... Although, this one doesn't look too safe." - if(BB) - BB.icon_state = "foamdart_empty" - else - icon_state = initial(icon_state) - desc = "It's nerf or nothing! Ages 8 and up." - if(BB) - BB.icon_state = initial(BB.icon_state) + icon_state = "[base_icon_state]_empty" + BB?.icon_state = "[base_icon_state]_empty" + return + icon_state = "[base_icon_state]" + BB?.icon_state = "[BB.base_icon_state]" +/obj/item/ammo_casing/caseless/foam_dart/update_desc() + . = ..() + desc = "It's nerf or nothing! [modified ? "... Although, this one doesn't look too safe." : "Ages 8 and up."]" /obj/item/ammo_casing/caseless/foam_dart/attackby(obj/item/A, mob/user, params) var/obj/projectile/bullet/reusable/foam_dart/FD = BB @@ -30,7 +30,7 @@ FD.modified = TRUE FD.damage_type = BRUTE to_chat(user, "You pop the safety cap off [src].") - update_icon() + update_appearance() else if (istype(A, /obj/item/pen)) if(modified) if(!FD.pen) @@ -62,4 +62,5 @@ desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up." projectile_type = /obj/projectile/bullet/reusable/foam_dart/riot icon_state = "foamdart_riot" + base_icon_state = "foamdart_riot" custom_materials = list(/datum/material/iron = 1125) diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index b4669276493f..f26b7ac78d0f 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -45,7 +45,6 @@ if(!start_empty) for(var/i = 1, i <= max_ammo, i++) stored_ammo += new ammo_type(src) - update_icon() ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) @@ -98,45 +97,60 @@ num_loaded++ if(!did_load || !multiload) break + if(num_loaded) + AM.update_ammo_count() if(istype(A, /obj/item/ammo_casing)) var/obj/item/ammo_casing/AC = A if(give_round(AC, replace_spent)) user.transferItemToLoc(AC, src, TRUE) num_loaded++ + AC.update_appearance() if(num_loaded) if(!silent) to_chat(user, "You load [num_loaded] shell\s into \the [src]!") playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - A.update_icon() - update_icon() + update_ammo_count() return num_loaded /obj/item/ammo_box/attack_self(mob/user) var/obj/item/ammo_casing/A = get_round() - if(A) - A.forceMove(drop_location()) - if(!user.is_holding(src) || !user.put_in_hands(A)) //incase they're using TK - A.bounce_away(FALSE, NONE) - playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - to_chat(user, "You remove a round from [src]!") - update_icon() - -/obj/item/ammo_box/update_icon() - var/shells_left = stored_ammo.len + if(!A) + return + + A.forceMove(drop_location()) + if(!user.is_holding(src) || !user.put_in_hands(A)) //incase they're using TK + A.bounce_away(FALSE, NONE) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + to_chat(user, "You remove a round from [src]!") + update_ammo_count() + +/// Updates the materials and appearance of this ammo box +/obj/item/ammo_box/proc/update_ammo_count() + update_custom_materials() + update_appearance() + +/obj/item/ammo_box/update_desc(updates) + . = ..() + var/shells_left = LAZYLEN(stored_ammo) + desc = "[initial(desc)] There [(shells_left == 1) ? "is" : "are"] [shells_left] shell\s left!" + +/obj/item/ammo_box/update_icon_state() + var/shells_left = LAZYLEN(stored_ammo) switch(multiple_sprites) if(AMMO_BOX_PER_BULLET) icon_state = "[initial(icon_state)]-[shells_left]" if(AMMO_BOX_FULL_EMPTY) icon_state = "[initial(icon_state)]-[shells_left ? "[max_ammo]" : "0"]" - desc = "[initial(desc)] There [(shells_left == 1) ? "is" : "are"] [shells_left] shell\s left!" - for (var/material in bullet_cost) - var/material_amount = bullet_cost[material] - material_amount = (material_amount*stored_ammo.len) + base_cost[material] - custom_materials[material] = material_amount - set_custom_materials(custom_materials)//make sure we setup the correct properties again return ..() +/// Updates the amount of material in this ammo box according to how many bullets are left in it. +/obj/item/ammo_box/proc/update_custom_materials() + var/temp_materials = custom_materials.Copy() + for(var/material in bullet_cost) + temp_materials[material] = (bullet_cost[material] * stored_ammo.len) + base_cost[material] + set_custom_materials(temp_materials) + ///Count of number of bullets in the magazine /obj/item/ammo_box/magazine/proc/ammo_count(countempties = TRUE) var/boolets = 0 @@ -161,4 +175,4 @@ /obj/item/ammo_box/magazine/handle_atom_del(atom/A) stored_ammo -= A - update_icon() + update_ammo_count() diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index f1e3a5740a61..c0110542bb70 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -1,6 +1,7 @@ /obj/item/ammo_box/magazine/mm712x82 name = "box magazine (7.12x82mm)" icon_state = "a762-50" + base_icon_state = "a762" ammo_type = /obj/item/ammo_casing/mm712x82 caliber = "mm71282" max_ammo = 50 @@ -21,6 +22,6 @@ name = "box magazine (Match 7.12x82mm)" ammo_type = /obj/item/ammo_casing/mm712x82/match -/obj/item/ammo_box/magazine/mm712x82/update_icon() - ..() - icon_state = "a762-[round(ammo_count(),10)]" +/obj/item/ammo_box/magazine/mm712x82/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 10)]" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 29daa875bf6f..c48a683e7f63 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -35,6 +35,7 @@ name = "pistol magazine (.45)" desc = "A single stack M1911 reproduction magazine, faithfully designed to chamber .45." icon_state = "45-8" + base_icon_state = "45" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" max_ammo = 8 @@ -59,17 +60,15 @@ desc = "A single stack M1911 reproduction magazine, faithfully designed to chamber .45. Loaded with less-lethal rubber rounds which disable targets without causing serious damage." ammo_type = /obj/item/ammo_casing/c45/rubbershot -/obj/item/ammo_box/magazine/m45/update_icon() - ..() - if (ammo_count() >= 8) - icon_state = "45-8" - else - icon_state = "45-[ammo_count()]" +/obj/item/ammo_box/magazine/m45/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[min(ammo_count(), 8)]" -/obj/item/ammo_box/magazine/co9mm //WS edit begin - commander +/obj/item/ammo_box/magazine/co9mm name = "pistol magazine (9mm)" desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm." icon_state = "co9mm-10" + base_icon_state = "co9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 10 @@ -94,24 +93,22 @@ desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm. Loaded with less-lethal rubber rounds which disable targets without causing serious damage." ammo_type = /obj/item/ammo_casing/c9mm/rubbershot -/obj/item/ammo_box/magazine/co9mm/update_icon() - ..() - if (ammo_count() == 1) - icon_state = "co9mm-1" - else - icon_state = "co9mm-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/co9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),2)]" /obj/item/ammo_box/magazine/pistolm9mm name = "large pistol magazine (9mm)" desc = "A double stack pistol magazine, designed to chamber 9mm." icon_state = "9x19p-8" + base_icon_state = "9x19p" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 15 -/obj/item/ammo_box/magazine/pistolm9mm/update_icon() - ..() - icon_state = "9x19p-[ammo_count() ? "8" : "0"]" +/obj/item/ammo_box/magazine/pistolm9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? "8" : "0"]" /obj/item/ammo_box/magazine/m50 name = "handgun magazine (.50ae)" diff --git a/code/modules/projectiles/boxes_magazines/external/rechargable.dm b/code/modules/projectiles/boxes_magazines/external/rechargable.dm index 86ec7d4ab228..5a4af7929cff 100644 --- a/code/modules/projectiles/boxes_magazines/external/rechargable.dm +++ b/code/modules/projectiles/boxes_magazines/external/rechargable.dm @@ -2,14 +2,18 @@ name = "power pack" desc = "A rechargeable, detachable battery that serves as a magazine for laser rifles." icon_state = "oldrifle-20" + base_icon_state = "oldrifle" ammo_type = /obj/item/ammo_casing/caseless/laser caliber = "laser" max_ammo = 20 -/obj/item/ammo_box/magazine/recharge/update_icon() +/obj/item/ammo_box/magazine/recharge/update_desc() + . = ..() desc = "[initial(desc)] It has [stored_ammo.len] shot\s left." - icon_state = "oldrifle-[round(ammo_count(),4)]" - return ..() + +/obj/item/ammo_box/magazine/recharge/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/recharge/attack_self() //No popping out the "bullets" return diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 127afd2d29d5..116848938dee 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -2,16 +2,14 @@ name = "rifle magazine (10mm)" desc = "A well-worn magazine fitted for the surplus rifle." icon_state = "75-8" + base_icon_state = "75" ammo_type = /obj/item/ammo_casing/c10mm caliber = "10mm" max_ammo = 10 -/obj/item/ammo_box/magazine/m10mm/rifle/update_icon() - ..() - if(ammo_count()) - icon_state = "75-8" - else - icon_state = "75-0" +/obj/item/ammo_box/magazine/m10mm/rifle/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? "8" : "0"]" /obj/item/ammo_box/magazine/m556 name = "toploader magazine (5.56mm)" @@ -24,13 +22,14 @@ /obj/item/ammo_box/magazine/rifle47x33mm name = "\improper SolGov AR magazine (4.73x33mm caseless)" icon_state = "47x33mm-50" + base_icon_state = "47x33mm" ammo_type = /obj/item/ammo_casing/caseless/c47x33mm caliber = "4.73x33mm caseless" max_ammo = 50 //brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr -/obj/item/ammo_box/magazine/rifle47x33mm/update_icon() - ..() - icon_state = "47x33mm-[round(ammo_count(),5)]" +/obj/item/ammo_box/magazine/rifle47x33mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),5)]" /obj/item/ammo_box/magazine/aks74u name = "\improper AKS-74U Magazine (5.45x39mm cartridge)" @@ -39,7 +38,7 @@ caliber = "5.45x39mm" max_ammo = 30 -/obj/item/ammo_box/magazine/aks74u/update_icon() +/obj/item/ammo_box/magazine/aks74u/update_icon_state() . = ..() icon_state = "ak47_mag-[!!ammo_count()]" @@ -50,7 +49,7 @@ caliber = "4.6x30mm" max_ammo = 30 -/obj/item/ammo_box/magazine/aknt/update_icon() +/obj/item/ammo_box/magazine/aknt/update_icon_state() . = ..() icon_state = "ak47_mag-[!!ammo_count()]" @@ -61,7 +60,7 @@ caliber = "7.62x39mm FMJ" max_ammo = 20 -/obj/item/ammo_box/magazine/ak47/update_icon() +/obj/item/ammo_box/magazine/ak47/update_icon_state() . = ..() icon_state = "ak47_mag-[!!ammo_count()]" @@ -72,7 +71,7 @@ caliber = ".308" max_ammo = 10 -/obj/item/ammo_box/magazine/ebr/update_icon() +/obj/item/ammo_box/magazine/ebr/update_icon_state() . = ..() icon_state = "ebr_mag-[!!ammo_count()]" @@ -83,7 +82,7 @@ caliber = ".308" max_ammo = 10 -/obj/item/ammo_box/magazine/gal/update_icon() +/obj/item/ammo_box/magazine/gal/update_icon_state() . = ..() icon_state = "galmag-[!!ammo_count()]" @@ -94,7 +93,7 @@ caliber = "a556" max_ammo = 30 -/obj/item/ammo_box/magazine/p16/update_icon() +/obj/item/ammo_box/magazine/p16/update_icon_state() . = ..() icon_state = "p16_mag-[!!ammo_count()]" @@ -105,7 +104,7 @@ caliber = "a556" max_ammo = 30 -/obj/item/ammo_box/magazine/swiss/update_icon() +/obj/item/ammo_box/magazine/swiss/update_icon_state() . = ..() icon_state = "swissmag-[!!ammo_count()]" diff --git a/code/modules/projectiles/boxes_magazines/external/shotgun.dm b/code/modules/projectiles/boxes_magazines/external/shotgun.dm index 6528442773a6..e2fe30d9525a 100644 --- a/code/modules/projectiles/boxes_magazines/external/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/external/shotgun.dm @@ -6,9 +6,9 @@ caliber = "shotgun" max_ammo = 8 -/obj/item/ammo_box/magazine/m12g/update_icon() - ..() - icon_state = "[initial(icon_state)]-[CEILING(ammo_count(FALSE)/8, 1)*8]" +/obj/item/ammo_box/magazine/m12g/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[CEILING(ammo_count(FALSE)/8, 1)*8]" /obj/item/ammo_box/magazine/m12g/stun name = "shotgun drum magazine (12g taser slugs)" @@ -34,11 +34,12 @@ name = "shotgun box magazine (12g buckshot)" desc = "A single-stack box magazine for a shotgun." icon_state = "m12gsmall" + base_icon_state = "m12gsmall" max_ammo = 6 -/obj/item/ammo_box/magazine/m12g/small/update_icon() - ..() - icon_state = "[initial(icon_state)]-[CEILING(ammo_count(FALSE)/6, 1)*6]" +/obj/item/ammo_box/magazine/m12g/small/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[CEILING(ammo_count(FALSE)/6, 1)*6]" /obj/item/ammo_box/magazine/cm15_mag name = "CM-15 magazine (12g buckshot)" @@ -47,6 +48,6 @@ caliber = "shotgun" max_ammo = 8 -/obj/item/ammo_box/magazine/cm15_mag/update_icon() +/obj/item/ammo_box/magazine/cm15_mag/update_icon_state() . = ..() icon_state = "cm15_mag-[!!ammo_count()]" diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 3b41a9cb2c4e..d6035f0835a4 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -1,53 +1,57 @@ /obj/item/ammo_box/magazine/wt550m9 name = "wt550 magazine (4.6x30mm)" icon_state = "46x30mmt-20" + base_icon_state = "46x30mmt" ammo_type = /obj/item/ammo_casing/c46x30mm caliber = "4.6x30mm" max_ammo = 20 -/obj/item/ammo_box/magazine/wt550m9/update_icon() - ..() - icon_state = "46x30mmt-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/wt550m9/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/wt550m9/wtap name = "wt550 magazine (Armour Piercing 4.6x30mm)" icon_state = "46x30mmtA-20" + base_icon_state = "46x30mmtA" ammo_type = /obj/item/ammo_casing/c46x30mm/ap -/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon() - ..() - icon_state = "46x30mmtA-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/wt550m9/wtic name = "wt550 magazine (Incendiary 4.6x30mm)" icon_state = "46x30mmtI-20" ammo_type = /obj/item/ammo_casing/c46x30mm/inc -/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon() - ..() - icon_state = "46x30mmtI-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),4)]" /obj/item/ammo_box/magazine/uzim9mm name = "uzi magazine (9mm)" icon_state = "uzi9mm-32" + base_icon_state = "uzi9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 32 -/obj/item/ammo_box/magazine/uzim9mm/update_icon() - ..() - icon_state = "uzi9mm-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/uzim9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),4)]" /obj/item/ammo_box/magazine/smgm9mm name = "SMG magazine (9mm)" icon_state = "smg9mm-42" + base_icon_state = "smg9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 20 -/obj/item/ammo_box/magazine/smgm9mm/update_icon() - ..() - icon_state = "smg9mm-[ammo_count() ? "42" : "0"]" +/obj/item/ammo_box/magazine/smgm9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? 42 : 0]" /obj/item/ammo_box/magazine/smgm9mm/ap name = "SMG magazine (Armour Piercing 9mm)" @@ -64,16 +68,14 @@ /obj/item/ammo_box/magazine/smgm10mm name = "SMG magazine (10mm)" icon_state = "smg10mm-24" + base_icon_state = "smg10mm" ammo_type = /obj/item/ammo_casing/c10mm caliber = "10mm" max_ammo = 24 -/obj/item/ammo_box/magazine/smgm10mm/update_icon() - ..() - if (ammo_count() == 1) - icon_state = "smg10mm-1" - else - icon_state = "smg10mm-[round(ammo_count(),3)]" +/obj/item/ammo_box/magazine/smgm10mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),3)]" /obj/item/ammo_box/magazine/smgm10mm/rubbershot name = "SMG magazine (Rubbershot 10mm)" @@ -82,12 +84,13 @@ /obj/item/ammo_box/magazine/smgm45 name = "SMG magazine (.45)" icon_state = "c20r45-24" + base_icon_state = "c20r45" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" max_ammo = 24 -/obj/item/ammo_box/magazine/smgm45/update_icon() //This is stupid (whenever ammo is spent, it updates the icon path) - ..() +/obj/item/ammo_box/magazine/smgm45/update_icon_state() //This is stupid (whenever ammo is spent, it updates the icon path) + . = ..() icon_state = "c20r45-[round(ammo_count(),2)]" /obj/item/ammo_box/magazine/smgm45/drum @@ -95,20 +98,21 @@ icon_state = "drum45" max_ammo = 50 -/obj/item/ammo_box/magazine/smgm45/drum/update_icon() //Causes the mag to NOT inherit the parent's update_icon oooh the misery +/obj/item/ammo_box/magazine/smgm45/drum/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery . = ..() icon_state = "drum45" /obj/item/ammo_box/magazine/pistol556mm name = "handgun magazine (5.56mm HITP caseless)" icon_state = "5.56mmHITP-12" //ok i did it + base_icon_state = "5.56mmHITP" //ok i did it ammo_type = /obj/item/ammo_casing/caseless/c556mmHITP caliber = "5.56mm HITP caseless" max_ammo = 12 -/obj/item/ammo_box/magazine/pistol556mm/update_icon() - ..() - icon_state = "5.56mmHITP-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/pistol556mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),2)]" /obj/item/ammo_box/magazine/tec9 name = "machine pistol magazine(9mm AP)" diff --git a/code/modules/projectiles/boxes_magazines/external/sniper.dm b/code/modules/projectiles/boxes_magazines/external/sniper.dm index 14f35795acef..762c4bb873c0 100644 --- a/code/modules/projectiles/boxes_magazines/external/sniper.dm +++ b/code/modules/projectiles/boxes_magazines/external/sniper.dm @@ -1,16 +1,14 @@ /obj/item/ammo_box/magazine/sniper_rounds name = "sniper rounds (.50)" icon_state = ".50mag" + base_icon_state = ".50mag" ammo_type = /obj/item/ammo_casing/p50 max_ammo = 6 caliber = ".50" -/obj/item/ammo_box/magazine/sniper_rounds/update_icon() - ..() - if(ammo_count()) - icon_state = "[initial(icon_state)]-ammo" - else - icon_state = "[initial(icon_state)]" +/obj/item/ammo_box/magazine/sniper_rounds/update_icon_state() + . = ..() + icon_state = "[base_icon_state][ammo_count() ? "-ammo" : ""]" /obj/item/ammo_box/magazine/sniper_rounds/soporific name = "sniper rounds (Zzzzz)" diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm index 2369bc6ce35a..78ad57cf9124 100644 --- a/code/modules/projectiles/boxes_magazines/external/toy.dm +++ b/code/modules/projectiles/boxes_magazines/external/toy.dm @@ -6,15 +6,13 @@ /obj/item/ammo_box/magazine/toy/smg name = "foam force SMG magazine" icon_state = "smg9mm-42" + base_icon_state = "smg9mm" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 20 -/obj/item/ammo_box/magazine/toy/smg/update_icon() - ..() - if(ammo_count()) - icon_state = "smg9mm-42" - else - icon_state = "smg9mm-0" +/obj/item/ammo_box/magazine/toy/smg/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? 42 : 0]" /obj/item/ammo_box/magazine/toy/smg/riot ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot @@ -31,13 +29,14 @@ /obj/item/ammo_box/magazine/toy/smgm45 name = "donksoft SMG magazine" icon_state = "c20r45-toy" + base_icon_state = "c20r45" caliber = "foam_force" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 20 -/obj/item/ammo_box/magazine/toy/smgm45/update_icon() - ..() - icon_state = "c20r45-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/toy/smgm45/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 2)]" /obj/item/ammo_box/magazine/toy/smgm45/riot icon_state = "c20r45-riot" @@ -46,13 +45,14 @@ /obj/item/ammo_box/magazine/toy/m762 name = "donksoft box magazine" icon_state = "a762-toy" + base_icon_state = "a762" caliber = "foam_force" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 50 -/obj/item/ammo_box/magazine/toy/m762/update_icon() - ..() - icon_state = "a762-[round(ammo_count(),10)]" +/obj/item/ammo_box/magazine/toy/m762/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 10)]" /obj/item/ammo_box/magazine/toy/m762/riot icon_state = "a762-riot" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 7a513c7090fb..9d51296f3424 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -103,7 +103,7 @@ pin = null if(A == chambered) chambered = null - update_icon() + update_appearance() if(A == bayonet) clear_bayonet() if(A == gun_light) @@ -305,7 +305,7 @@ firing_burst = FALSE return FALSE process_chamber() - update_icon() + update_appearance() return TRUE /obj/item/gun/proc/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) @@ -350,7 +350,7 @@ shoot_with_empty_chamber(user) return process_chamber() - update_icon() + update_appearance() semicd = TRUE addtimer(CALLBACK(src, .proc/reset_semicd), fire_delay) @@ -402,7 +402,7 @@ return to_chat(user, "You attach [K] to [src]'s bayonet lug.") bayonet = K - update_icon() + update_appearance() else return ..() @@ -492,7 +492,7 @@ if(!bayonet) return bayonet = null - update_icon() + update_appearance() return TRUE /obj/item/gun/proc/clear_gunlight() @@ -552,7 +552,7 @@ update_gunlight() /obj/item/gun/proc/update_gunlight() - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index a6b286cfbd83..26fc1b222d26 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -91,18 +91,18 @@ . = ..() if (!spawnwithmagazine) bolt_locked = TRUE - update_icon() + update_appearance() return if (!magazine) magazine = new mag_type(src) chamber_round(TRUE) - update_icon() + update_appearance() /obj/item/gun/ballistic/update_icon_state() if(current_skin) icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" else - icon_state = "[initial(icon_state)][sawn_off ? "_sawn" : ""]" + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" return ..() /obj/item/gun/ballistic/update_overlays() @@ -178,7 +178,7 @@ playsound(src, lock_back_sound, lock_back_sound_volume, lock_back_sound_vary) else playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) - update_icon() + update_appearance() ///Drops the bolt from a locked position /obj/item/gun/ballistic/proc/drop_bolt(mob/user = null) @@ -187,7 +187,7 @@ to_chat(user, "You drop the [bolt_wording] of \the [src].") chamber_round() bolt_locked = FALSE - update_icon() + update_appearance() ///Handles all the logic needed for magazine insertion /obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE) @@ -204,7 +204,7 @@ playsound(src, load_empty_sound, load_sound_volume, load_sound_vary) if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked) chamber_round(TRUE) - update_icon() + update_appearance() return TRUE else to_chat(user, "You cannot seem to get \the [src] out of your hands!") @@ -229,10 +229,10 @@ else magazine = null user.put_in_hands(old_mag) - old_mag.update_icon() + old_mag.update_appearance() if (display_message) to_chat(user, "You pull the [magazine_wording] out of \the [src].") - update_icon() + update_appearance() /obj/item/gun/ballistic/can_shoot() return chambered @@ -262,8 +262,8 @@ playsound(src, load_sound, load_sound_volume, load_sound_vary) if (chambered == null && bolt_type == BOLT_TYPE_NO_BOLT) chamber_round() - A.update_icon() - update_icon() + A.update_appearance() + update_appearance() return if(istype(A, /obj/item/suppressor)) var/obj/item/suppressor/S = A @@ -294,7 +294,7 @@ /obj/item/gun/ballistic/proc/install_suppressor(obj/item/suppressor/S) suppressed = S w_class += S.w_class //so pistols do not fit in pockets when suppressed - update_icon() + update_appearance() /obj/item/gun/ballistic/AltClick(mob/user) if (unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) @@ -309,7 +309,7 @@ user.put_in_hands(suppressed) w_class -= S.w_class suppressed = null - update_icon() + update_appearance() return ///Prefire empty checks for the bolt drop @@ -318,17 +318,17 @@ if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked) bolt_locked = TRUE playsound(src, bolt_drop_sound, bolt_drop_sound_volume) - update_icon() + update_appearance() ///postfire empty checks for bolt locking and sound alarms /obj/item/gun/ballistic/proc/postfire_empty_checks(last_shot_succeeded) if (!chambered && !get_ammo()) if (empty_alarm && last_shot_succeeded) playsound(src, empty_alarm_sound, empty_alarm_volume, empty_alarm_vary) - update_icon() + update_appearance() if (last_shot_succeeded && bolt_type == BOLT_TYPE_LOCKING) bolt_locked = TRUE - update_icon() + update_appearance() /obj/item/gun/ballistic/afterattack() prefire_empty_checks() @@ -370,7 +370,7 @@ if (num_unloaded) to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].") playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") return @@ -476,7 +476,7 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) recoil = SAWN_OFF_RECOIL sawn_off = TRUE - update_icon() + update_appearance() return TRUE ///used for sawing guns, causes the gun to fire without the input of the user diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 2e7cb428a909..5db8d252b647 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -61,7 +61,7 @@ folded = !folded playsound(src.loc, 'sound/weapons/empty.ogg', 100, 1) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/assualt/ak47/nt/update_overlays() . = ..() @@ -165,6 +165,6 @@ to_chat(user, "You switch to [burst_size]-rnd Matter.") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() for(var/datum/action/action as anything in actions) action.UpdateButtonIcon() diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 4217d2e45199..ea1eab2ae70c 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -40,7 +40,7 @@ to_chat(user, "You switch to [burst_size]-rnd burst.") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index 22fb91a56be9..b94e679d4783 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -15,6 +15,7 @@ desc = "A heavy machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 490 FS' engraved on the receiver below the designation. Chambered in 7.12x82mm." icon_state = "l6" item_state = "l6closedmag" + base_icon_state = "l6" mag_type = /obj/item/ammo_box/magazine/mm712x82 can_suppress = FALSE spread = 7 @@ -42,7 +43,7 @@ cover_open = !cover_open to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") playsound(user, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/hmg/l6_saw/update_overlays() @@ -56,7 +57,7 @@ return else . = ..() - update_icon() + update_appearance() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/ballistic/automatic/hmg/l6_saw/attack_hand(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 0de8f04e2230..af27a71833bf 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -183,8 +183,8 @@ ..() if(get_ammo() > 0) spin() - update_icon() - A.update_icon() + update_appearance() + A.update_appearance() return /obj/item/gun/ballistic/revolver/russian/attack_self(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 366e7bb384dc..185aaec29999 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -27,7 +27,7 @@ playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) process_chamber(FALSE, FALSE, FALSE) bolt_locked = TRUE - update_icon() + update_appearance() return drop_bolt(user) diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index a3af3b89a223..c6eed4ac079e 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -233,7 +233,7 @@ slot_flags = ITEM_SLOT_BACK to_chat(user, "You tie the lengths of cable to the shotgun, making a sling.") slung = TRUE - update_icon() + update_appearance() else to_chat(user, "You need at least ten lengths of cable if you want to make a sling!") @@ -256,7 +256,7 @@ if(. && slung) //sawing off the gun removes the sling new /obj/item/stack/cable_coil(get_turf(src), 10) slung = 0 - update_icon() + update_appearance() /obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawn name = "sawn-off improvised shotgun" diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 097fa7d9a803..11db569a5181 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -42,7 +42,7 @@ /obj/item/gun/ballistic/automatic/smg/c20r/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/smg/c20r/cobra name = "\improper Cobra 20" @@ -137,7 +137,7 @@ /obj/item/gun/ballistic/automatic/smg/m90/Initialize() . = ..() underbarrel = new /obj/item/gun/ballistic/revolver/grenadelauncher(src) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/smg/m90/unrestricted pin = /obj/item/firing_pin @@ -145,7 +145,7 @@ /obj/item/gun/ballistic/automatic/smg/m90/unrestricted/Initialize() . = ..() underbarrel = new /obj/item/gun/ballistic/revolver/grenadelauncher/unrestricted(src) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/smg/m90/afterattack(atom/target, mob/living/user, flag, params) if(select == 2) @@ -188,7 +188,7 @@ fire_delay = 0 to_chat(user, "You switch to semi-auto.") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() return /obj/item/gun/ballistic/automatic/smg/thompson diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 6f45d4cfc19c..5145f7b16656 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -10,7 +10,7 @@ var/list/ammo_type = list(/obj/item/ammo_casing/energy) var/select = 1 //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. var/can_charge = TRUE //Can it be charged in a recharger? - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_icon()? + var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? var/charge_sections = 4 ammo_x_offset = 2 var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail @@ -38,7 +38,7 @@ cell.use(round(cell.charge / severity)) chambered = null //we empty the chamber recharge_newshot() //and try to charge a new shot - update_icon() + update_appearance() /obj/item/gun/energy/get_cell() return cell @@ -55,7 +55,7 @@ recharge_newshot(TRUE) if(selfcharge) START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/gun/energy/ComponentInitialize() . = ..() @@ -80,7 +80,7 @@ /obj/item/gun/energy/handle_atom_del(atom/A) if(A == cell) cell = null - update_icon() + update_appearance() return ..() /obj/item/gun/energy/process() @@ -92,12 +92,12 @@ cell.give(1000) //WS Edit - Egun energy cells if(!chambered) //if empty chamber we try to charge a new shot recharge_newshot(TRUE) - update_icon() + update_appearance() /obj/item/gun/energy/attack_self(mob/living/user as mob) if(ammo_type.len > 1) select_fire(user) - update_icon() + update_appearance() /obj/item/gun/energy/attackby(obj/item/A, mob/user, params) if (!internal_cell && istype(A, /obj/item/stock_parts/cell/gun)) @@ -117,7 +117,7 @@ cell = C to_chat(user, "You load the [C] into \the [src].") playsound(src, load_sound, sound_volume, load_sound_vary) - update_icon() + update_appearance() return TRUE else to_chat(user, "You cannot seem to get \the [src] out of your hands!") @@ -133,9 +133,9 @@ to_chat(user, "You dropped the old cell, but the new one doesn't fit. How embarassing.")*/ cell = null user.put_in_hands(old_cell) - old_cell.update_icon() + old_cell.update_appearance() to_chat(user, "You pull the cell out of \the [src].") - update_icon() + update_appearance() /obj/item/gun/energy/screwdriver_act(mob/living/user, obj/item/I) if(cell && !internal_cell && !bayonet && (!gun_light || !can_flashlight)) @@ -198,7 +198,7 @@ to_chat(user, "[src] is now set to [shot.select_name].") chambered = null recharge_newshot(TRUE) - update_icon() + update_appearance() return /obj/item/gun/energy/update_icon_state() @@ -256,7 +256,7 @@ playsound(loc, fire_sound, 50, TRUE, -1) var/obj/item/ammo_casing/energy/shot = ammo_type[select] cell.use(shot.e_cost) - update_icon() + update_appearance() return(FIRELOSS) else user.visible_message("[user] panics and starts choking to death!") diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index 8de780413229..db923335b369 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -173,7 +173,7 @@ if(DUEL_SETTING_C) setting = DUEL_SETTING_A to_chat(user,"You switch [src] setting to [setting] mode.") - update_icon() + update_appearance() /obj/item/gun/energy/dueling/update_overlays() . = ..() @@ -250,13 +250,13 @@ . = ..() var/obj/projectile/energy/duel/D = BB D.setting = setting - D.update_icon() + D.update_appearance() /obj/item/ammo_casing/energy/duel/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) . = ..() var/obj/effect/temp_visual/dueling_chaff/C = new(get_turf(user)) C.setting = setting - C.update_icon() + C.update_appearance() //Projectile diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 4feaa20098af..1e4af286d44f 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -128,7 +128,7 @@ /obj/item/gun/energy/e_gun/nuclear/shoot_live_shot(mob/living/user, pointblank = 0, atom/pbtarget = null, message = 1) failcheck() - update_icon() + update_appearance() ..() /obj/item/gun/energy/e_gun/nuclear/proc/failcheck() diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index ecf7e647bdde..d0723f7e3a95 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -121,7 +121,7 @@ /obj/item/gun/energy/kinetic_accelerator/proc/empty() if(cell) cell.use(cell.charge) - update_icon() + update_appearance() /obj/item/gun/energy/kinetic_accelerator/proc/attempt_reload(recharge_time) if(!cell) @@ -154,7 +154,7 @@ playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, TRUE) else to_chat(loc, "[src] silently charges up.") - update_icon() + update_appearance() overheat = FALSE /obj/item/gun/energy/kinetic_accelerator/update_overlays() diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index 26d1ea7add85..2ef1f8293bcf 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -41,7 +41,7 @@ armed = 0 to_chat(user, "You need a free hand to hold the gun!") return - update_icon() + update_appearance() user.update_inv_back() else to_chat(user, "You are already holding the gun!") @@ -77,7 +77,7 @@ /obj/item/minigunpack/update_icon_state() - icon_state = armed ? "notholstered" : "holstered" + icon_state = "[(armed ? "not" : "")]holstered" return ..() /obj/item/minigunpack/proc/attach_gun(mob/user) @@ -89,7 +89,7 @@ to_chat(user, "You attach the [gun.name] to the [name].") else src.visible_message("The [gun.name] snaps back onto the [name]!") - update_icon() + update_appearance() user.update_inv_back() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 084f117fe4c9..1311920eb8b2 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -304,7 +304,7 @@ /obj/item/gun/energy/printer/commando/attack_self(mob/living/user as mob) if(ammo_type.len > 1) tac_fire(user) - update_icon() + update_appearance() /obj/item/gun/energy/printer/commando/proc/tac_fire(mob/living/user) select++ @@ -323,7 +323,7 @@ to_chat(user, "You rearm your [src] with CY-SOUR nonlethal rounds, which cause stamina damage and distrupt the focus of enemies.") chambered = null recharge_newshot(TRUE) - update_icon() + update_appearance() return /obj/item/gun/energy/temperature diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 225dd18e6d1e..c6a25127878a 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -55,7 +55,7 @@ to_chat(user,"[src] overloads and disintegrates.") qdel(src) return - update_icon() + update_appearance() /obj/item/gun/magic/wand/shoot_with_empty_chamber(mob/living/user) if(prob(100*WAND_WREST_CHANCE)) diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index d0f1861b8ab3..d2a8c80827fc 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -43,7 +43,7 @@ bomb = null name = initial(name) desc = initial(desc) - update_icon() + update_appearance() return ..() /obj/item/gun/blastcannon/update_icon_state() @@ -63,7 +63,7 @@ bomb = T name = "blast cannon" desc = "A makeshift device used to concentrate a bomb's blast energy to a narrow wave." - update_icon() + update_appearance() return TRUE return ..() @@ -92,7 +92,7 @@ var/power = bomb? calculate_bomb() : debug_power power = min(power, max_power) QDEL_NULL(bomb) - update_icon() + update_appearance() var/heavy = power * 0.25 var/medium = power * 0.5 var/light = power diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index f70608835195..df30f5a89022 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -34,7 +34,7 @@ if(!drawn) playsound(src, 'sound/weapons/bowdraw.ogg', 75, 0) drawn = !drawn - update_icon() + update_appearance() /obj/item/gun/ballistic/bow/afterattack(atom/target, mob/living/user, flag, params, passthrough = FALSE) if(!chambered) @@ -44,7 +44,7 @@ return drawn = FALSE . = ..() //fires, removing the arrow - update_icon() + update_appearance() /obj/item/gun/ballistic/bow/shoot_with_empty_chamber(mob/living/user) return //so clicking sounds please diff --git a/code/modules/projectiles/guns/powered.dm b/code/modules/projectiles/guns/powered.dm index ff268746561a..cabc2a5c1e22 100644 --- a/code/modules/projectiles/guns/powered.dm +++ b/code/modules/projectiles/guns/powered.dm @@ -7,7 +7,7 @@ var/charge_sections = 3 var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_icon()? + var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? var/internal_cell = FALSE ///if the gun's cell cannot be replaced var/small_gun = FALSE ///if the gun is small and can only fit the small gun cell @@ -22,7 +22,7 @@ cell = new cell_type(src) else cell = new(src) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/powered/examine(mob/user) . = ..() @@ -73,7 +73,7 @@ cell = C to_chat(user, "You load [C] into [src].") playsound(src, load_sound, sound_volume, load_sound_vary) - update_icon() + update_appearance() return TRUE else to_chat(user, "You cannot seem to get [src] out of your hands!") @@ -85,9 +85,9 @@ var/obj/item/stock_parts/cell/gun/old_cell = cell cell = null user.put_in_hands(old_cell) - old_cell.update_icon() + old_cell.update_appearance() to_chat(user, "You pull the cell out of \the [src].") - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/powered/screwdriver_act(mob/living/user, obj/item/I) if(cell && !internal_cell && !bayonet && (!gun_light || !can_flashlight)) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index d359fd893893..0fefd0eb57f2 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -417,7 +417,7 @@ for(var/atom/movable/AM in contents) locker_temp_instance.insert(AM) locker_temp_instance.welded = weld - locker_temp_instance.update_icon() + locker_temp_instance.update_appearance() created = TRUE return ..() @@ -444,7 +444,7 @@ if(!welded) return icon_state = magic_icon - update_icon() + update_appearance() /obj/structure/closet/decay/after_weld(weld_state) if(weld_state) @@ -464,7 +464,7 @@ /obj/structure/closet/decay/proc/unmagify() icon_state = weakened_icon - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/decay), 15 SECONDS) icon_welded = "welded" @@ -555,7 +555,7 @@ for(var/obj/effect/proc_holder/spell/spell in L.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() /obj/projectile/magic/fortify name = "bolt of light" @@ -580,7 +580,7 @@ for(var/obj/effect/proc_holder/spell/spell in L.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() /obj/projectile/magic/wipe name = "bolt of possession" diff --git a/code/modules/projectiles/projectile/reusable/foam_dart.dm b/code/modules/projectiles/projectile/reusable/foam_dart.dm index 251637eed08d..b3ac21660412 100644 --- a/code/modules/projectiles/projectile/reusable/foam_dart.dm +++ b/code/modules/projectiles/projectile/reusable/foam_dart.dm @@ -28,7 +28,7 @@ newdart.pen = pen pen.forceMove(newdart) pen = null - newdart.update_icon() + newdart.update_appearance() /obj/projectile/bullet/reusable/foam_dart/Destroy() diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 40296cc9abf2..0985ce758976 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -94,7 +94,7 @@ upgrade_reagents = sortList(upgrade_reagents, /proc/cmp_reagents_asc) if(is_operational) begin_processing() - update_icon() + update_appearance() /obj/machinery/chem_dispenser/Destroy() QDEL_NULL(beaker) @@ -339,7 +339,7 @@ if(default_unfasten_wrench(user, I)) return if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) return @@ -405,7 +405,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/chem_dispenser/on_deconstruction() @@ -429,7 +429,7 @@ var/old = dir . = ..() if(dir != old) - update_icon() // the beaker needs to be re-positioned if we rotate + update_appearance() // the beaker needs to be re-positioned if we rotate /obj/machinery/chem_dispenser/drinks/display_beaker() var/mutable_appearance/b_o = beaker_overlay || mutable_appearance(icon, "disp_beaker") diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index fcfe94ac1b67..b3a0cfee615d 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -22,7 +22,7 @@ . = ..() if(A == beaker) beaker = null - update_icon() + update_appearance() /obj/machinery/chem_heater/update_icon_state() icon_state = "[base_icon_state][beaker ? 1 : 0]b" @@ -45,7 +45,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/chem_heater/RefreshParts() @@ -83,7 +83,7 @@ replace_beaker(user, B) to_chat(user, "You add [B] to [src].") updateUsrDialog() - update_icon() + update_appearance() return return ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 4cca186eb819..602c37710a57 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -73,7 +73,7 @@ if(A == beaker) beaker = null reagents.clear_reagents() - update_icon() + update_appearance() else if(A == bottle) bottle = null @@ -111,7 +111,7 @@ replace_beaker(user, B) to_chat(user, "You add [B] to [src].") updateUsrDialog() - update_icon() + update_appearance() else if(!condi && istype(I, /obj/item/storage/pill_bottle)) if(bottle) to_chat(user, "A pill bottle is already loaded into [src]!") @@ -141,7 +141,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/chem_master/on_deconstruction() diff --git a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm index c27b0b9d3189..2c6f5ed38186 100644 --- a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm +++ b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm @@ -59,7 +59,7 @@ var/input = text2num(params["amount"]) if(input) amount = input - update_icon() + update_appearance() /obj/machinery/chem_dispenser/chem_synthesizer/proc/find_reagent(input) . = FALSE diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 510cb7b92f2b..eb01cf28b714 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -20,7 +20,7 @@ /obj/machinery/computer/pandemic/Initialize() . = ..() - update_icon() + update_appearance() /obj/machinery/computer/pandemic/Destroy() QDEL_NULL(beaker) @@ -45,7 +45,7 @@ /obj/machinery/computer/pandemic/handle_atom_del(atom/A) if(A == beaker) beaker = null - update_icon() + update_appearance() return ..() /obj/machinery/computer/pandemic/proc/get_by_index(thing, index) @@ -125,7 +125,7 @@ /obj/machinery/computer/pandemic/proc/reset_replicator_cooldown() wait = FALSE - update_icon() + update_appearance() playsound(src, 'sound/machines/ping.ogg', 30, TRUE) /obj/machinery/computer/pandemic/update_icon_state() @@ -141,7 +141,7 @@ if(beaker) beaker.forceMove(drop_location()) beaker = null - update_icon() + update_appearance() /obj/machinery/computer/pandemic/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -214,7 +214,7 @@ B.desc = "A small bottle. Contains [A.agent] culture in synthblood medium." B.reagents.add_reagent(/datum/reagent/blood, 20, data) wait = TRUE - update_icon() + update_appearance() var/turf/source_turf = get_turf(src) log_virus("A culture bottle was printed for the virus [A.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]") addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) @@ -228,7 +228,7 @@ B.name = "[D.name] vaccine bottle" B.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id)) wait = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 200) . = TRUE @@ -246,7 +246,7 @@ beaker = I to_chat(user, "You insert [I] into [src].") - update_icon() + update_appearance() else return ..() diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 51017cd60ee3..b638c82fef78 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -35,7 +35,7 @@ . = ..() holdingitems = list() QDEL_NULL(beaker) - update_icon() + update_appearance() /obj/machinery/reagentgrinder/Destroy() if(beaker) @@ -93,7 +93,7 @@ . = ..() if(A == beaker) beaker = null - update_icon() + update_appearance() if(holdingitems[A]) holdingitems -= A @@ -118,7 +118,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/reagentgrinder/attackby(obj/item/I, mob/user, params) @@ -142,7 +142,7 @@ return replace_beaker(user, B) to_chat(user, "You add [B] to [src].") - update_icon() + update_appearance() return TRUE //no afterattack if(holdingitems.len >= limit) diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 62db8cb69d7b..7c67609593d5 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -78,12 +78,12 @@ ..() if(reagents.total_volume == 0) on = FALSE - update_icon() + update_appearance() return var/turf/T = get_turf(src) var/smoke_test = locate(/obj/effect/particle_effect/smoke) in T if(on && !smoke_test) - update_icon() + update_appearance() var/datum/effect_system/smoke_spread/chem/smoke_machine/smoke = new() smoke.set_up(reagents, setting*3, efficiency, T) smoke.start() @@ -141,7 +141,7 @@ switch(action) if("purge") reagents.clear_reagents() - update_icon() + update_appearance() . = TRUE if("setting") var/amount = text2num(params["amount"]) @@ -150,7 +150,7 @@ . = TRUE if("power") on = !on - update_icon() + update_appearance() if(on) message_admins("[ADMIN_LOOKUPFLW(usr)] activated a smoke machine that contains [english_list(reagents.reagent_list)] at [ADMIN_VERBOSEJMP(src)].") log_game("[key_name(usr)] activated a smoke machine that contains [english_list(reagents.reagent_list)] at [AREACOORD(src)].") diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index a81add0b3d52..4c150a53f299 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2721,7 +2721,7 @@ O.transfer_fingerprints_to(conc_floor) conc_floor.harden_lvl = 0 conc_floor.check_harden() - conc_floor.update_icon() + conc_floor.update_appearance() qdel(O) return diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index 57b813f086c2..ec97942453ca 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -206,4 +206,4 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related dat += " above [recipe.required_temp] degrees" dat += "." info = dat.Join("") - update_icon() + update_appearance() diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index c314eb7297da..0d583cb5a16f 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -60,7 +60,7 @@ cap_on = FALSE spillable = TRUE - update_icon() + update_appearance() /obj/item/reagent_containers/examine(mob/user) . = ..() @@ -254,7 +254,7 @@ return ..() /obj/item/reagent_containers/on_reagent_change(changetype) - update_icon() + update_appearance() /obj/item/reagent_containers/update_overlays() . = ..() diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 9f9d5567f2d9..a7a43f4b7109 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -13,7 +13,7 @@ . = ..() if(blood_type != null) reagents.add_reagent(unique_blood ? unique_blood : /datum/reagent/blood, 200, list("viruses"=null,"blood_DNA"=null,"blood_type"=get_blood_type(blood_type),"resistances"=null,"trace_chem"=null)) - update_icon() + update_appearance() /obj/item/reagent_containers/blood/on_reagent_change(changetype) if(reagents) @@ -23,7 +23,7 @@ else blood_type = null update_name() - update_icon() + update_appearance() /obj/item/reagent_containers/blood/update_name(updates) . = ..() diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 50506a0d5984..a4cd49a131fb 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -53,7 +53,7 @@ Borg Hypospray regenerate_reagents() charge_tick = 0 - //update_icon() + //update_appearance() return 1 // Use this to add more chemicals for the borghypo to produce. diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index c03f65a7f375..63acf014b214 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -44,7 +44,7 @@ "[user] tries to squirt something into your eyes, but fails!") to_chat(user, "You transfer [trans] unit\s of the solution.") - update_icon() + update_appearance() return else if(isalien(target)) //hiss-hiss has no eyes! to_chat(target, "[target] does not seem to have any eyes!") @@ -64,7 +64,7 @@ trans = src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) to_chat(user, "You transfer [trans] unit\s of the solution.") - update_icon() + update_appearance() else @@ -80,7 +80,7 @@ to_chat(user, "You fill [src] with [trans] unit\s of the solution.") - update_icon() + update_appearance() /obj/item/reagent_containers/dropper/update_overlays() . = ..() diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 4decd4b74138..27592c481b7c 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -140,7 +140,7 @@ if(.) reagents.maximum_volume = 0 //Makes them useless afterwards reagents.flags = NONE - update_icon() + update_appearance() /obj/item/reagent_containers/hypospray/medipen/attack_self(mob/user) if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) @@ -362,13 +362,13 @@ /obj/item/hypospray/mkii/Initialize() . = ..() if(!spawnwithvial) - update_icon() + update_appearance() return if(start_vial) vial = new start_vial - update_icon() + update_appearance() -/obj/item/hypospray/mkii/update_icon() +/obj/item/hypospray/mkii/update_appearance() ..() icon_state = "[initial(icon_state)][vial ? "" : "-e"]" if(ismob(loc)) @@ -391,7 +391,7 @@ user.put_in_hands(V) to_chat(user, "You remove [vial] from [src].") vial = null - update_icon() + update_appearance() playsound(loc, 'sound/weapons/empty.ogg', 50, 1) else to_chat(user, "This hypo isn't loaded!") @@ -412,7 +412,7 @@ return FALSE vial = V user.visible_message("[user] has loaded a vial into [src].","You have loaded [vial] into [src].") - update_icon() + update_appearance() playsound(loc, 'sound/weapons/autoguninsert.ogg', 35, 1) return TRUE else diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index 130cc7907ead..f16984cd7e5b 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -28,13 +28,13 @@ icon_state = "hypovial" for(var/R in comes_with) reagents.add_reagent(R,comes_with[R]) - update_icon() + update_appearance() /obj/item/reagent_containers/glass/bottle/vial/on_reagent_change() - update_icon() + update_appearance() -/obj/item/reagent_containers/glass/bottle/vial/update_icon() +/obj/item/reagent_containers/glass/bottle/vial/update_appearance() cut_overlays() if(reagents.total_volume) var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypovial10") @@ -87,7 +87,7 @@ "large black hypovial" = "hypoviallarge-t" ) -/obj/item/reagent_containers/glass/bottle/vial/large/update_icon() +/obj/item/reagent_containers/glass/bottle/vial/large/update_appearance() cut_overlays() if(reagents.total_volume) var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypoviallarge10") diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm index 6636a89b392f..bed7808dc795 100644 --- a/code/modules/reagents/reagent_containers/maunamug.dm +++ b/code/modules/reagents/reagent_containers/maunamug.dm @@ -33,7 +33,7 @@ var/max_temp = min(500 + (500 * (0.2 * cell.rating)), 1000) // 373 to 1000 reagents.adjust_thermal_energy(0.8 * cell.maxcharge * reagents.total_volume, max_temp = max_temp) // 4 kelvin every tick on a basic cell. 160k on bluespace reagents.handle_reactions() - update_icon() + update_appearance() if(reagents.chem_temp >= max_temp) change_power_status(FALSE) audible_message("The Mauna Mug lets out a happy beep and turns off!") @@ -60,13 +60,13 @@ START_PROCESSING(SSobj, src) else STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/reagent_containers/glass/maunamug/screwdriver_act(mob/living/user, obj/item/I) . = ..() open = !open to_chat(user, "You screw the battery case on [src] [open ? "open" : "closed"] .") - update_icon() + update_appearance() /obj/item/reagent_containers/glass/maunamug/attackby(obj/item/I, mob/user, params) add_fingerprint(user) @@ -82,16 +82,16 @@ return cell = I user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") - update_icon() + update_appearance() /obj/item/reagent_containers/glass/maunamug/attack_hand(mob/living/user) if(cell && open) - cell.update_icon() + cell.update_appearance() user.put_in_hands(cell) cell = null to_chat(user, "You remove the power cell from [src].") on = FALSE - update_icon() + update_appearance() return TRUE return ..() diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index c99e27ae96fa..021d37cd61b0 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -20,31 +20,31 @@ . = ..() if(list_reagents) //syringe starts in inject mode if its already got something inside mode = SYRINGE_INJECT - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) /obj/item/reagent_containers/syringe/on_reagent_change(changetype) - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/pickup(mob/user) ..() - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/dropped(mob/user) ..() - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/attack_self(mob/user) mode = !mode - update_icon() + update_appearance() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/reagent_containers/syringe/attack_hand() . = ..() - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/attack_paw(mob/user) return attack_hand(user) @@ -111,7 +111,7 @@ to_chat(user, "You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.") if (reagents.total_volume >= reagents.maximum_volume) mode=!mode - update_icon() + update_appearance() if(SYRINGE_INJECT) // Always log attemped injections for admins @@ -153,7 +153,7 @@ to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.") if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT) mode = SYRINGE_DRAW - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/update_icon_state() var/rounded_vol = get_rounded_vol() @@ -176,7 +176,7 @@ injoverlay = "inject" . += injoverlay -///Used by update_icon() and update_overlays() +///Used by update_appearance() and update_overlays() /obj/item/reagent_containers/syringe/proc/get_rounded_vol() if(!reagents?.total_volume) return 0 diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 0901478a49a9..84a8292f7263 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -102,7 +102,7 @@ reagents.trans_to(W, W.max_fuel, transfered_by = user) user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].") playsound(src, 'sound/effects/refill.ogg', 50, TRUE) - W.update_icon() + W.update_appearance() else user.visible_message("[user] catastrophically fails at refilling [user.p_their()] [I.name]!", "That was stupid of you.") log_bomber(user, "detonated a", src, "via welding tool") diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 901d888feb69..59bb63000a9e 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -46,7 +46,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) . = ..() if(.) operating = TRUE - update_icon() + update_appearance() begin_processing() //WS Edit - Auto Conveyor Fix (Issue #331) // create a conveyor @@ -119,7 +119,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/machinery/conveyor/proc/update() if(machine_stat & BROKEN || !operable || machine_stat & NOPOWER) operating = FALSE - update_icon() + update_appearance() return FALSE return TRUE @@ -248,7 +248,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) . = ..() if (newid) id = newid - update_icon() + update_appearance() LAZYADD(GLOB.conveyors_by_id[id], src) wires = new /datum/wires/conveyor(src) @@ -283,7 +283,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) for(var/obj/machinery/conveyor/C in GLOB.conveyors_by_id[id]) C.operating = position C.update_move_direction() - C.update_icon() + C.update_appearance() if(C.operating) C.begin_processing() else @@ -295,7 +295,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) for(var/obj/machinery/conveyor_switch/S in GLOB.conveyors_by_id[id]) S.invert_icon = invert_icon S.position = position - S.update_icon() + S.update_appearance() CHECK_TICK /// Updates the switch's `position` and `last_pos` variable. Useful so that the switch can properly cycle between the forwards, backwards and neutral positions. @@ -319,7 +319,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) add_fingerprint(user) play_click_sound("switch") update_position() - update_icon() + update_appearance() update_linked_conveyors() update_linked_switches() diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 22ae5326bedc..6cc5fa117bb6 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -40,7 +40,7 @@ air_contents = new /datum/gas_mixture() //gas.volume = 1.05 * CELLSTANDARD - update_icon() + update_appearance() return INITIALIZE_HINT_LATELOAD //we need turfs to have air @@ -97,7 +97,7 @@ if((I.item_flags & ABSTRACT) || !user.temporarilyRemoveItemFromInventory(I)) return place_item_in_disposal(I, user) - update_icon() + update_appearance() return 1 //no afterattack else return ..() @@ -141,7 +141,7 @@ target.visible_message("[user] places [target] in [src].", "[user] places you in [src].") log_combat(user, target, "stuffed", addition="into [src]") target.LAssailant = user - update_icon() + update_appearance() /obj/machinery/disposal/relaymove(mob/living/user, direction) attempt_escape(user) @@ -158,14 +158,14 @@ // leave the disposal /obj/machinery/disposal/proc/go_out(mob/user) user.forceMove(loc) - update_icon() + update_appearance() // monkeys and xenos can only pull the flush lever /obj/machinery/disposal/attack_paw(mob/user) if(machine_stat & BROKEN) return flush = !flush - update_icon() + update_appearance() // eject the contents of the disposal unit @@ -174,7 +174,7 @@ for(var/atom/movable/AM as anything in src) AM.forceMove(T) AM.pipe_eject(0) - update_icon() + update_appearance() /obj/machinery/disposal/proc/flush() flushing = TRUE @@ -230,7 +230,7 @@ src.transfer_fingerprints_to(stored) stored.set_anchored(FALSE) stored.density = TRUE - stored.update_icon() + stored.update_appearance() for(var/atom/movable/AM as anything in src) //out, out, darned crowbar! AM.forceMove(T) ..() @@ -270,8 +270,8 @@ to_chat(user, "You empty the bag.") for(var/obj/item/O in T.contents) STR.remove_from_storage(O,src) - T.update_icon() - update_icon() + T.update_appearance() + update_appearance() else return ..() @@ -306,22 +306,22 @@ switch(action) if("handle-0") flush = FALSE - update_icon() + update_appearance() . = TRUE if("handle-1") if(!panel_open) flush = TRUE - update_icon() + update_appearance() . = TRUE if("pump-0") if(pressure_charging) pressure_charging = FALSE - update_icon() + update_appearance() . = TRUE if("pump-1") if(!pressure_charging) pressure_charging = TRUE - update_icon() + update_appearance() . = TRUE if("eject") eject() @@ -333,7 +333,7 @@ if(prob(75)) AM.forceMove(src) visible_message("[AM] lands in [src].") - update_icon() + update_appearance() else visible_message("[AM] bounces off of [src]'s rim!") return ..() @@ -344,7 +344,7 @@ ..() full_pressure = FALSE pressure_charging = TRUE - update_icon() + update_appearance() /obj/machinery/disposal/bin/update_appearance(updates) . = ..() @@ -431,7 +431,7 @@ if(air_contents.return_pressure() >= SEND_PRESSURE) full_pressure = TRUE pressure_charging = FALSE - update_icon() + update_appearance() return /obj/machinery/disposal/bin/get_remote_view_fullscreens(mob/user) diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm index 5d21944d7c19..7ffc4e3b9db1 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -37,7 +37,7 @@ var/datum/component/simple_rotation/rotcomp = GetComponent(/datum/component/simple_rotation) rotcomp.BaseRot(null,ROTATION_FLIP) - update_icon() + update_appearance() AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE) @@ -96,7 +96,7 @@ if(ISDIAGONALDIR(dir)) // Fix RPD-induced diagonal turning setDir(turn(dir, 45)) pipe_type = initial(temp.flip_type) - update_icon() + update_appearance() /obj/structure/disposalconstruct/proc/can_be_rotated(mob/user,rotation_type) if(anchored) @@ -148,7 +148,7 @@ set_anchored(TRUE) to_chat(user, "You attach the [pipename] to the underfloor.") I.play_tool_sound(src, 100) - update_icon() + update_appearance() return TRUE /obj/structure/disposalconstruct/welder_act(mob/living/user, obj/item/I) diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index ac9a2ceb5b80..8c2b53b624bc 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -49,7 +49,7 @@ Note: Must be placed within 3 tiles of the R&D Console linked_console.updateUsrDialog() /obj/machinery/rnd/destructive_analyzer/proc/finish_loading() - update_icon() + update_appearance() reset_busy() /obj/machinery/rnd/destructive_analyzer/update_icon_state() @@ -104,7 +104,7 @@ Note: Must be placed within 3 tiles of the R&D Console qdel(thing) loaded_item = null if (!innermode) - update_icon() + update_appearance() return TRUE /obj/machinery/rnd/destructive_analyzer/proc/user_try_decon_id(id, mob/user) @@ -161,5 +161,5 @@ Note: Must be placed within 3 tiles of the R&D Console return FALSE loaded_item.forceMove(get_turf(src)) loaded_item = null - update_icon() + update_appearance() return TRUE diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index c52f45de35ac..dd9003a52014 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -525,7 +525,7 @@ new /obj/item/grown/bananapeel(loc) /obj/machinery/rnd/experimentor/proc/reset_exp() - update_icon() + update_appearance() recentlyExperimented = FALSE /obj/machinery/rnd/experimentor/update_icon_state() diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index a8902c2ea0b2..4063ae19fb6e 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -44,7 +44,7 @@ busy = status busy_message = message busy_icon_state = working_icon - update_icon() + update_appearance() /obj/machinery/nanite_chamber/proc/set_safety(threshold) if(!occupant) @@ -201,7 +201,7 @@ linked_techweb = server.stored_research if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed + update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(default_pry_open(I)) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index da65235772aa..f2b155c0e0cd 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -66,7 +66,7 @@ switch(action) if("toggle_lock") chamber.locked = !chamber.locked - chamber.update_icon() + chamber.update_appearance() . = TRUE if("set_safety") var/threshold = text2num(params["value"]) diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index fee5544ff766..f7e43f3b5540 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -33,7 +33,7 @@ if(allowed(user)) to_chat(user, "You unlock [src].") locked = FALSE - update_icon() + update_appearance() else to_chat(user, "Access denied.") @@ -44,7 +44,7 @@ obj_flags |= EMAGGED if(locked) locked = FALSE - update_icon() + update_appearance() /obj/item/nanite_remote/update_overlays() . = ..() @@ -165,7 +165,7 @@ if("lock") if(!(obj_flags & EMAGGED)) locked = TRUE - update_icon() + update_appearance() . = TRUE diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index a93326748b45..f53707206a38 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -35,7 +35,7 @@ /obj/machinery/public_nanite_chamber/proc/set_busy(status, working_icon) busy = status busy_icon_state = working_icon - update_icon() + update_appearance() /obj/machinery/public_nanite_chamber/proc/inject_nanites(mob/living/attacker) if(machine_stat & (NOPOWER|BROKEN)) @@ -196,7 +196,7 @@ return if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed + update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(default_pry_open(I)) diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm index 50e855b2ab50..124794aaa1a4 100644 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm @@ -148,7 +148,7 @@ opened = TRUE locked = TRUE dump_contents() - update_icon() + update_appearance() SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) if(lead_tomb == TRUE && first_open == TRUE) user.gain_trauma(/datum/brain_trauma/magic/stalker) @@ -176,7 +176,7 @@ /obj/structure/closet/crate/grave/bust_open() ..() opened = TRUE - update_icon() + update_appearance() dump_contents() return diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 413b59dd1a62..10eb5dc7082f 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -285,8 +285,8 @@ All ShuttleMove procs go here A.addMember(src) SSair.add_to_rebuild_queue(src) else - // atmosinit() calls update_icon(), so we don't need to call it - update_icon() + // atmosinit() calls update_appearance(), so we don't need to call it + update_appearance() /obj/machinery/navbeacon/beforeShuttleMove(turf/newT, rotation, move_mode, obj/docking_port/mobile/moving_dock) . = ..() diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index 9f4f60162cdd..4cb5d0c65268 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -42,7 +42,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate /mob/dead/observer/shuttleRotate(rotation, params) . = ..() - update_icon() + update_appearance() /************************************Structure rotate procs************************************/ @@ -60,7 +60,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate var/temp = d1 d1 = d2 d2 = temp - update_icon() + update_appearance() //WS Edit End - Smartwire Revert Do not TG MARG this //Fixes dpdir on shuttle rotation diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 9f65ed6a332c..aa2206efb4ba 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -20,7 +20,7 @@ . = ..() if(prob(50)) desc = "Oh no, not again." - update_icon() + update_appearance() /obj/machinery/power/emitter/energycannon/magical/update_icon_state() . = ..() @@ -38,7 +38,7 @@ visible_message("\ [src] closes its eyes.") active = FALSE - update_icon() + update_appearance() /obj/machinery/power/emitter/energycannon/magical/attackby(obj/item/W, mob/user, params) return diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index aef9faea7bd6..4a791beb5ee7 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if(msg) to_chat(ranged_ability_user, msg) active = TRUE - update_icon() + update_appearance() /obj/effect/proc_holder/proc/remove_ranged_ability(msg) if(!ranged_ability_user || !ranged_ability_user.client || (ranged_ability_user.ranged_ability && ranged_ability_user.ranged_ability != src)) //To avoid removing the wrong ability @@ -86,7 +86,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th to_chat(ranged_ability_user, msg) ranged_ability_user = null active = FALSE - update_icon() + update_appearance() /obj/effect/proc_holder/spell name = "Spell" diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm index 694b34153db1..57325e685f4d 100644 --- a/code/modules/spells/spell_types/charge.dm +++ b/code/modules/spells/spell_types/charge.dm @@ -91,7 +91,7 @@ if(istype(C.loc, /obj/item/gun)) var/obj/item/gun/G = C.loc G.process_chamber() - item.update_icon() + item.update_appearance() charged_item = item break if(!charged_item) diff --git a/code/modules/spells/spell_types/soultap.dm b/code/modules/spells/spell_types/soultap.dm index 9dafa04193ae..ffc43efeb4ae 100644 --- a/code/modules/spells/spell_types/soultap.dm +++ b/code/modules/spells/spell_types/soultap.dm @@ -30,4 +30,4 @@ for(var/obj/effect/proc_holder/spell/spell in user.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index 8636211941c2..d93eec8b7244 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -82,7 +82,7 @@ if(istype(item_to_retrieve.loc, /obj/machinery/portable_atmospherics/)) //Edge cases for moved machinery var/obj/machinery/portable_atmospherics/P = item_to_retrieve.loc P.disconnect() - P.update_icon() + P.update_appearance() item_to_retrieve = item_to_retrieve.loc diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index c1804f8a3f71..7de9e83581fe 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -273,7 +273,7 @@ if("recalibrate") calibrate(usr) . = TRUE - update_icon() + update_appearance() /obj/machinery/computer/bsa_control/proc/calibrate(mob/user) if(!GLOB.bsa_unlock) diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 603cf4fd22e3..4c9b3556b6aa 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -109,7 +109,7 @@ else end_processing() animate(src, pixel_y = 0, time = 10) - update_icon() + update_appearance() /obj/machinery/satellite/proc/toggle(mob/user) if(!active && !isinspace()) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 46cb0f85728d..d180ee1efc72 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -190,7 +190,7 @@ if(C.hud_used) var/atom/movable/screen/inventory/hand/R = C.hud_used.hand_slots["[held_index]"] if(R) - R.update_icon() + R.update_appearance() if(C.gloves) C.dropItemToGround(C.gloves, TRUE) C.update_inv_gloves() //to remove the bloody hands overlay @@ -208,7 +208,7 @@ if(C.hud_used) var/atom/movable/screen/inventory/hand/L = C.hud_used.hand_slots["[held_index]"] if(L) - L.update_icon() + L.update_appearance() if(C.gloves) C.dropItemToGround(C.gloves, TRUE) C.update_inv_gloves() //to remove the bloody hands overlay @@ -288,7 +288,7 @@ if(C.hud_used) var/atom/movable/screen/inventory/hand/hand = C.hud_used.hand_slots["[held_index]"] if(hand) - hand.update_icon() + hand.update_appearance() C.update_inv_gloves() if(special) //non conventional limb attachment diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 300a17e7ab0d..8a101112377f 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -132,7 +132,7 @@ if(owner.hud_used) var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] - hand_screen_object?.update_icon() + hand_screen_object?.update_appearance() /obj/item/bodypart/l_arm/monkey @@ -234,7 +234,7 @@ if(owner.hud_used) var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] - hand_screen_object?.update_icon() + hand_screen_object?.update_appearance() /obj/item/bodypart/r_arm/monkey diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index fc3ce760ff98..4dadb4179419 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -43,7 +43,7 @@ if(case && !case.imp) case.imp = I I.forceMove(case) - case.update_icon() + case.update_appearance() display_results(user, target, "You place [I] into [case].", "[user] places [I] into [case]!", "[user] places it into [case]!") diff --git a/code/modules/surgery/organs/appendix.dm b/code/modules/surgery/organs/appendix.dm index 8e0a3694c298..69a7b2e95339 100644 --- a/code/modules/surgery/organs/appendix.dm +++ b/code/modules/surgery/organs/appendix.dm @@ -36,7 +36,7 @@ for(var/datum/disease/appendicitis/A in M.diseases) A.cure() inflamed = TRUE - update_icon() + update_appearance() ..() /obj/item/organ/appendix/Insert(mob/living/carbon/M, special = 0) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 1abceb8848ab..524077a19e6f 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -18,7 +18,7 @@ if(ispath(holder)) holder = new holder(src) - update_icon() + update_appearance() SetSlotFromZone() items_list = contents.Copy() @@ -50,7 +50,7 @@ zone = BODY_ZONE_R_ARM SetSlotFromZone() to_chat(user, "You modify [src] to be installed on the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.") - update_icon() + update_appearance() /obj/item/organ/cyberimp/arm/Remove(mob/living/carbon/M, special = 0) Retract() diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index 40d876283b83..2c2b9ade4a92 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -167,7 +167,7 @@ if(!silent) to_chat(owner, "You turn your thrusters set off.") on = FALSE - update_icon() + update_appearance() /obj/item/organ/cyberimp/chest/thrusters/update_icon_state() icon_state = "[base_icon_state][on ? "-on" : null]" diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 42c4cc07441b..34c0433ab1ad 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -47,18 +47,18 @@ /obj/item/organ/heart/proc/Stop() beating = 0 - update_icon() + update_appearance() return 1 /obj/item/organ/heart/proc/Restart() beating = 1 - update_icon() + update_appearance() return 1 /obj/item/organ/heart/OnEatFrom(eater, feeder) . = ..() beating = FALSE - update_icon() + update_appearance() /obj/item/organ/heart/on_life() ..() diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index b5909a564b68..add121e6a061 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -67,7 +67,7 @@ /obj/vehicle/ridden/wheelchair/motorized/attack_hand(mob/living/user) if(power_cell && panel_open) - power_cell.update_icon() + power_cell.update_appearance() user.put_in_hands(power_cell) power_cell = null to_chat(user, "You remove the power cell from [src].") diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index 87d1d09d5b05..d4a9aff2d8b2 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -9,7 +9,7 @@ /obj/vehicle/ridden/janicart/Initialize(mapload) . = ..() - update_icon() + update_appearance() var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 7), TEXT_EAST = list(-12, 7), TEXT_WEST = list(12, 7))) @@ -42,7 +42,7 @@ return to_chat(user, "You hook the trashbag onto [src].") mybag = I - update_icon() + update_appearance() else if(istype(I, /obj/item/janiupgrade)) if(floorbuffer) to_chat(user, "[src] already has a floor buffer!") @@ -51,7 +51,7 @@ qdel(I) to_chat(user, "You upgrade [src] with the floor buffer.") AddElement(/datum/element/cleaning) - update_icon() + update_appearance() else if(istype(I, /obj/item/key/janitor)) ..() else if(mybag) @@ -74,7 +74,7 @@ mybag.forceMove(get_turf(user)) user.put_in_hands(mybag) mybag = null - update_icon() + update_appearance() /obj/vehicle/ridden/janicart/upgraded floorbuffer = TRUE diff --git a/shiptest.dme b/shiptest.dme index 72d72c79d650..e13cf297741a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -637,7 +637,6 @@ #include "code\datums\elements\update_icon_blocker.dm" #include "code\datums\elements\update_icon_updates_onmob.dm" #include "code\datums\elements\waddling.dm" -#include "code\datums\elements\world_icon.dm" #include "code\datums\elements\decals\_decals.dm" #include "code\datums\elements\decals\blood.dm" #include "code\datums\helper_datums\events.dm" @@ -3070,9 +3069,9 @@ #include "code\modules\reagents\reagent_containers\chem_pack.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\glass.dm" -#include "code\modules\reagents\reagent_containers\jug.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" #include "code\modules\reagents\reagent_containers\hypovial.dm" +#include "code\modules\reagents\reagent_containers\jug.dm" #include "code\modules\reagents\reagent_containers\maunamug.dm" #include "code\modules\reagents\reagent_containers\medigel.dm" #include "code\modules\reagents\reagent_containers\mortar.dm" From bbc83d9b656e0f929e4bb48987026a7e4de11750 Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+MemedHams@users.noreply.github.com> Date: Sat, 15 Jul 2023 05:38:15 -0400 Subject: [PATCH 3/8] maybe fix the indentation complaints? --- code/modules/assembly/assembly.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index d6f56fe1c9e7..4917e1587fcc 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -19,10 +19,10 @@ drop_sound = 'sound/items/handling/component_drop.ogg' pickup_sound = 'sound/items/handling/component_pickup.ogg' - /** - * Set to true if the device has different icons for each position. - * This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance() - */ + + //Set to true if the device has different icons for each position. + //This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance() + var/is_position_sensitive = FALSE var/secured = TRUE var/list/attached_overlays = null From eee134cb25c0dc0bbcb8b78be906a067d4680dde Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+MemedHams@users.noreply.github.com> Date: Sat, 15 Jul 2023 18:03:00 -0400 Subject: [PATCH 4/8] makes regex checks stop screaming -IT"S GOOD FOR YOU DON'T FIGHT IT --- check_regex.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_regex.yaml b/check_regex.yaml index 396cf9a20961..d79085bede1a 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -38,7 +38,7 @@ standards: - exactly: [ - 292, + 299, "non-bitwise << uses", '(? Date: Fri, 21 Jul 2023 06:00:40 -0400 Subject: [PATCH 5/8] man. --- check_regex.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_regex.yaml b/check_regex.yaml index 396cf9a20961..1c533c8155a4 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -38,7 +38,7 @@ standards: - exactly: [ - 292, + 298, "non-bitwise << uses", '(? Date: Sun, 30 Jul 2023 22:59:04 -0400 Subject: [PATCH 6/8] yeah tmt caught this one, good jomb, tmt! --- code/game/machinery/airlock_cycle_control.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/airlock_cycle_control.dm b/code/game/machinery/airlock_cycle_control.dm index 9fa0baf893c2..c2d9e0da07cb 100644 --- a/code/game/machinery/airlock_cycle_control.dm +++ b/code/game/machinery/airlock_cycle_control.dm @@ -155,7 +155,7 @@ if(airlock.density && (cyclestate == AIRLOCK_CYCLESTATE_CLOSED || (airlocks[A] == EXTERIOR_AIRLOCK && cyclestate == AIRLOCK_CYCLESTATE_INOPEN) || (airlocks[A] == INTERIOR_AIRLOCK && cyclestate == AIRLOCK_CYCLESTATE_OUTOPEN))) airlock.bolt() -/obj/machinery/advanced_airlock_controller/update_icon(use_hash = FALSE) +/obj/machinery/advanced_airlock_controller/update_icon(updates=ALL, use_hash = FALSE) var/turf/location = get_turf(src) if(!location) return ..() @@ -317,12 +317,12 @@ /obj/machinery/advanced_airlock_controller/process_atmos() if((machine_stat & (NOPOWER|BROKEN)) || shorted) - update_icon(TRUE) + update_icon(ALL, TRUE) return var/turf/location = get_turf(src) if(!location) - update_icon(TRUE) + update_icon(ALL, TRUE) return var/pressure = 0 if(location) @@ -455,7 +455,7 @@ var/obj/machinery/atmospherics/components/unary/vent_pump/vent = V vent.on = FALSE vent.update_appearance() - update_icon(TRUE) + update_icon(ALL, TRUE) /obj/machinery/advanced_airlock_controller/attackby(obj/item/W, mob/user, params) switch(buildstage) @@ -758,7 +758,7 @@ depressurization_margin = clamp(text2num(params["pressure"]), 0.15, 40) if("skip_delay") skip_delay = clamp(text2num(params["skip_delay"]), 0, 1200) - update_icon(TRUE) + update_icon(ALL, TRUE) /obj/machinery/advanced_airlock_controller/proc/request_from_door(airlock) var/role = airlocks[airlock] From b508c8d332c89dc29c8f3de02c790294b7c0908a Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+MemedHams@users.noreply.github.com> Date: Wed, 2 Aug 2023 02:34:45 -0400 Subject: [PATCH 7/8] fix we can only hope --- code/game/objects/structures/morgue.dm | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 3e6bb7b0e1b7..40549e559a08 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -189,7 +189,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an for(var/mob/living/M in compiled) var/mob/living/mob_occupant = get_mob_or_brainmob(M) - if(mob_occupant.client && !mob_occupant.suiciding && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA))) + if(mob_occupant.client && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)) && !mob_occupant.hellbound) icon_state = "morgue4" // Revivable if(mob_occupant.stat == DEAD && beeper && COOLDOWN_FINISHED(src, next_beep)) playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks @@ -199,16 +199,6 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an icon_state = "morgue2" // Dead, brainded mob. return ..() - for(var/mob/living/M in compiled) - var/mob/living/mob_occupant = get_mob_or_brainmob(M) - if(mob_occupant.client && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)) && !mob_occupant.hellbound) - icon_state = "morgue4" // Revivable - if(mob_occupant.stat == DEAD && beeper) - if(world.time > next_beep) - playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks - next_beep = world.time + beep_cooldown - break - /obj/item/paper/guides/jobs/medical/morgue name = "morgue memo" From b2c40c639036bb996934657db7d2f65744bbb49b Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+MemedHams@users.noreply.github.com> Date: Fri, 11 Aug 2023 02:58:26 -0400 Subject: [PATCH 8/8] I'm gonna go completely insane --- check_regex.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_regex.yaml b/check_regex.yaml index 7e5269c30a78..c28639172af2 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -38,7 +38,7 @@ standards: - exactly: [ - 298, + 297, "non-bitwise << uses", '(?